ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
ได้พิมพ์โดยLieven Boer ได้เปลี่ยน 5 ปีที่แล้ว
1
บทที่ 4 รูปแบบฐานข้อมูลเชิงสัมพันธ์ The Relational model
2
The Relational Model คิดค้นโดย Dr. Edgar Frank Codd (E.F. Codd) รู้จักกันดีในบทความที่ชื่อ “A Relational Model of Data for Large Shared Data Banks” ในปี ค.ศ. 1970 เป็นรูปแบบฐานข้อมูลที่เข้าใจง่าย มีพื้นฐานมาจากทฤษฎีทางคณิตศาสตร์(ทฤษฎี Set) มีวัตถุประสงค์หลักเพื่อรักษาความอิสระของข้อมูล(Data Independence) มีระบบจัดการฐานข้อมูลเชิงสัมพันธ์(Relational Database Management System : RDBMS) ที่สนับสนุนมากมาย เช่น DB2 , Oracle , Informix , MS SQL Server , MySQL , Ingres , MS Access ฯลฯ มีภาษา SQL สำหรับจัดการข้อมูล
3
รีเลชัน(Relation) หมายถึง ตารางข้อมูล(Table) 2 มิติ ที่ประกอบด้วยแอททริบิวต์(Attribute) หรือ คอลัมน์(Column) และ ทูเพิล(Tuple) หรือ แถว(Row) รีเลชัน เป็นตารางข้อมูลหลัก(Base Relation) ที่มีข้อมูลจัดเก็บไว้จริง ใช้คำสั่ง Create Table ของภาษา SQL ในการสร้างรีเลชันในฐานข้อมูล
4
แอททริบิวต์(Attribute)
หมายถึง คอลัมน์หนึ่ง ๆ ในรีเลชันใด ๆ เป็นรายละเอียดข้อมูลที่จัดเก็บในรีเลชัน ตัวอย่างเช่น รีเลชัน “นักศึกษา” ประกอบด้วย แอททริบิวต์ รหัสนักศึกษา , ชื่อ , นามสกุล , ที่อยู่ เป็นต้น จำนวนแอททริบิวต์ในรีเลชันหนึ่ง ๆ เรียกว่า ดีกรี(Degree) เช่น รีเลชัน นักศึกษา มีดีกรี เท่ากับ 4
5
ทูเพิล(Tuple) หมายถึง ข้อมูลในแต่ละแถวของรีเลชัน
ข้อมูลในแต่ละแถวของรีเลชัน อาจมีการเปลี่ยนแปลง เนื่องจากการ ลบ เพิ่มหรือ ปรับปรุงข้อมูล จำนวนทูเพิลในรีเลชันหนึ่ง ๆ เรียกว่า คาร์ดินัลลิตี้(Cardinality)
6
Relation name Attribute Cardinality Tuple Degree Student Std_ID
Std_Fname Std_Lname Std_Address Std_Major Std_GPA Fac_ID Bob Norbert USA IT 3.00 Sc Wiliam Pilgrim AUS CS 2.50 Luke Brazzi PHY 3.50 Homer Wells Candy Kendall NZ FIN 2.75 Msc Roberto Morales 3.25 Tess Dodge CAN ECON 3.75 Joe Estrada Art En Cristopher Colan MUS Wally GSc Ed Mariah Gsc Cardinality Tuple Degree
7
โดเมน(Domain) ประกอบด้วย ค่าหรือเซตของข้อมูลที่แอททริบิวต์หนึ่งควรจะเป็น ค่าของข้อมูล มีความหมายครอบคลุมถึง ประเภทและขนาดของข้อมูล รวมถึง ขอบเขตค่าของข้อมูลที่แอททริบิวต์นั้น ๆ ควรจะเป็น เพื่อรักษาความคงสภาพ ของข้อมูล(Data Integrity)
8
โดเมน(Domain) Domain EmpID Name Sex Age Salary DeptID
ตัวอย่างเช่น แอททริบิวต์ เพศ มีการกำหนดโดเมนให้เก็บค่าของข้อมูลเป็น ตัวอักษร มีขอบเขตค่าของข้อมูลเป็น F หรือ M Domain M,F EmpID Name Sex Age Salary DeptID E Peter M 24 55, D01 E Nicole F 30 12, D02
9
โดเมน(Domain) Domain EmpID Name Sex Age Salary DeptID
ตัวอย่างเช่น แอททริบิวต์ อายุ มีการกำหนดโดเมนให้เก็บค่าของข้อมูลเป็นเลข จำนวนเต็ม มีขอบเขตค่าของข้อมูลไม่ต่ำกว่า 18 ปี >= 18 Domain EmpID Name Sex Age Salary DeptID E Peter M 24 55, D01 E Nicole F 30 12, D02
10
โดเมน(Domain) Domain EmpID Name Sex Age Salary DeptID
ตัวอย่างเช่น แอททริบิวต์ เงินเดือน มีการกำหนดโดเมนให้เก็บค่าของข้อมูลเป็น ตัวเลข มีขอบเขตค่าของข้อมูลมากกว่า 0 > 0 Domain EmpID Name Sex Age Salary DeptID E Peter M 24 55, D01 E Nicole F 30 12, D02
11
คุณสมบัติของรีเลชัน มีชื่อรีเลชันไม่ซ้ำกัน
ในแต่ละเซลล์(cell)ของรีชัน บรรจุข้อมูลได้ 1 ค่าเท่านั้น ในรีเลชันเดียวกันจะต้องไม่มีแอททริบิวต์ที่ชื่อซ้ำกัน ค่าข้อมูลที่อยู่ในแอททริบิวต์เดียวกันต้องอยู่ในขอบเขตโดเมน เดียวกัน ห้ามมีทูเพิลซ้ำกันในรีเลชันเดียวกัน การเรียงลำดับแอททริบิวท์ในรีเลชันไม่ถือเป็นสำคัญ การเรียงลำดับทูเพิลในรีเลชันไม่ถือเป็นสำคัญ
12
การสร้างรีเลชัน CREATE TABLE Student ( Std_ID CHAR(11), Std_FName VARCHAR(20), Std_LName VARCHAR(30), Std_Address VARCHAR(50), Std_Major VARCHAR(15), Std_GPA DECIMAL(3,2), Fac_ID CHAR(5) );
13
ตัวอย่าง Relation 100 Jerry Johnson Accounting JJ@somewhere.com
EmployeeNumber FirstName LastName Department Phone 100 Jerry Johnson Accounting 200 Mary Abernathy Finance 300 Liz Smarthers 400 Tom Caruthers 500 Jackson Production 600 Eleanore Caldera Legal 700 Richard Bandalone
14
ตัวอย่าง Table แต่ไม่ใช่ Relation
EmployeeNumber FirstName LastName Department Phone 100 Jerry Johnson Accounting 200 Mary Abernathy Finance 300 Liz Smarthers 400 Tom Caruthers , , 500 Jackson Production 600 Eleanore Caldera Legal 700 Richard Bandalone ,
15
ตัวอย่าง Table แต่ไม่ใช่ Relation
EmployeeNumber FirstName LastName Department Phone 100 Jerry Johnson Accounting 200 Mary Abernathy Finance 300 Liz Smarthers 400 Tom Caruthers Fax : Home : 500 Jackson Production 600 Eleanore Caldera Legal 700 Richard Bandalone
16
ประเภทของคีย์ (Keys) Candidate Key Primary Key Composite Key
Alternate key Foreign Key
17
Candidate Key หมายถึง แอททริบิวต์ หรือ กลุ่มของแอททริบิวต์ ที่มีค่าไม่ซ้ำและสามารถระบุทู เพิลในรีเลชันได้ 1 รายการ เช่น รหัสพนักงาน , ชื่อและนามสกุล
18
Candidate Key รหัสนักศึกษา ชื่อ นามสกุล บัตรประชาชน โปรแกรมวิชา
สมศักดิ์ รักการดี คณิตศาสตร์ วาสนา เรียนนา นฤทัย เรียบร้อย วิทยาการคอมพิวเตอร์ จงจิต อินทชัย ปิยะพร สอนชัยดี ผ่องแผ้ว บัญชี กัลยา นาคสมภพ
19
Primary Key หมายถึง Candidate Key ที่ถูกำหนดให้เป็นตัวแทนของทูเพิลในรีเลชัน ดังนั้น Primary key คือ แอททริบิวต์ หรือ กลุ่มของแอททริบิวต์ ที่มีค่าไม่ซ้ำและไม่เป็น ค่าว่าง และสามารถระบุค่าข้อมูลในแอททริบิวต์อื่น ๆ ในทูเพิลเดียวกันได้
20
Primary Key Primary Key รหัสนักศึกษา ชื่อ นามสกุล บัตรประชาชน
โปรแกรมวิชา สมศักดิ์ รักการดี คณิตศาสตร์ วาสนา เรียนนา นฤทัย เรียบร้อย วิทยาการคอมพิวเตอร์ จงจิต อินทชัย ปิยะพร สอนชัยดี ผ่องแผ้ว บัญชี กัลยา นาคสมภพ Primary Key
21
Composite Key หมายถึง คีย์ต่าง ๆ ที่ประกอบขึ้นจากแอททริบิวต์มากกว่า 1 แอททริบิวต์
22
Composite Key Composite Key รหัสนักศึกษา ชื่อ นามสกุล บัตรประชาชน
โปรแกรมวิชา สมศักดิ์ รักการดี คณิตศาสตร์ วาสนา เรียนนา นฤทัย เรียบร้อย วิทยาการคอมพิวเตอร์ จงจิต อินทชัย ปิยะพร สอนชัยดี ผ่องแผ้ว บัญชี กัลยา นาคสมภพ Composite Key
23
Alternate Key หมายถึง คีย์คู่แข่ง(Candidate key) ที่ไม่ได้ถูกเลือกให้เป็นคีย์หลัก(Primary Key)
24
Alternate Key Primary Key Alternate Key รหัสนักศึกษา ชื่อ นามสกุล
บัตรประชาชน โปรแกรมวิชา สมศักดิ์ รักการดี คณิตศาสตร์ วาสนา เรียนนา นฤทัย เรียบร้อย วิทยาการคอมพิวเตอร์ จงจิต อินทชัย ปิยะพร สอนชัยดี ผ่องแผ้ว บัญชี กัลยา นาคสมภพ Primary Key Alternate Key
25
Foreign Key หมายถึง แอททริบิวต์ในรีเลชันที่ใช้ในการเชื่อมโยงกับรีเลชันอื่น ๆ โดยแอททริบิวต์ที่เป็น Foreign key ใน child relation จะเชื่อมโยงไปยัง แอทท ริบิวต์ที่เป็น Primary key ใน Parent relation
26
Foreign Key Parent relation Child relation Primary key Foreign key
Faculty Fac_ID Fac_Name Phone Sc Science 201 Msc Management Science 145 En Engineering 512 Ed Education 301 Foreign key Student Std_ID Std_Fname Std_Lname Std_Address Std_Major Std_GPA Fac_ID Bob Norbert USA IT 3.00 Sc Wiliam Pilgrim AUS CS 2.50 Luke Brazzi PHY 3.50 Homer Wells Candy Kendall NZ FIN 2.75 Msc Roberto Morales 3.25 Tess Dodge CAN ECON 3.75 Joe Estrada Art En Cristopher Colan MUS Wally GSc Ed Mariah Gsc Parent relation Child relation
27
คุณสมบัติของกุญแจนอก(Foreign Key)
1. สามารถกำหนดจากแอททริบิวท์เดียวหรือมากกว่า 2. ค่าของ FK ใน รีเลชัน หนึ่งจะต้องปรากฏใน กุญแจคู่แข่ง ของอีก รีเลชัน หนึ่งที่สัมพันธ์กัน แต่ในแง่กลับกัน ทุกค่าของ FK ใน รีเล ชัน หนึ่ง ไม่จำเป็นที่จะต้องปรากฎอยู่ใน FK ของอีก รีเลชัน หนึ่งที่สัมพันธ์กัน 3. จำนวนของ แอททริบิวท์ ที่มาประกอบเป็น FK ขึ้นอยู่กับจำนวน ของ แอททริบิวท์ ที่กำหนดเป็น CK ของ รีเลชัน ที่มี ความสัมพันธ์กับ รีเลชันนั้น ที่ถูกนำมาใช้เปรียบเทียบกับค่า ของ FK
28
คุณสมบัติของ Foreign Key
4. Domain ของ แอททริบิวท์ ที่กำหนดเป็น FK ต้องมีค่าเช่นเดียวกัน กับ Domain ของ แอททริบิวท์ ที่เป็น CK ของ รีเลชัน ที่สัมพันธ์ กัน 5. แอททริบิวท์ ที่ทำหน้าที่เป็น FK ไม่จำเป็นต้องเป็น CK ของ รีเลชัน นั้น 6. รีเลชัน ใดที่เป็นเจ้าของ FK จะถูกเรียกว่า “Referencing Relation” ส่วน รีเลชัน ที่เป็นเจ้าของ CK ที่สัมพันธ์กับ FK นั้นจะเรียกว่า “Referenced Relation” หรือ “Target Relation”
29
คุณสมบัติของ Foreign Key
7. รีเลชันใดๆ สามารถเป็นได้ทั้ง Referenced Relation และ Referencing Relation 8. รีเลชันใดๆ สามารถมีความสัมพันธ์ด้วย FK กับตัวมันเองได้ (Self- Referencing) EmpID Ename Esurname EMgr E001 Peter Corp E002 E002 Nicole Terio - E003 Willy Mac E002 FK PK FK
30
Alternate key Foreign key Primary key Candidate key Primary key สาขา
รหัสพนักงาน ชื่อ นามสกุล ตำแหน่ง เพศ วันเกิด เงินเดือน รหัสสาขา SUD21 สมชาย เข็มกลัด ผู้จัดการ ช 1 ตค. 2516 30000 B005 SNK37 แอน ทองประสม พนักงาน ญ 10 พย. 2519 12000 B007 SNK14 ศรราม เทพพิทักษ์ หัวหน้าแผนก ช 24 มีค. 2517 20000 B007 SUB09 สุวนันท์ คงยิ่ง พนักงาน ญ 19 กพ. 2521 9000 B002 SUD04 ปนัดดา วงศ์ผู้ดี ผู้จัดการ ญ 3 กค. 2518 25000 B003 SNR41 เจนจิรา เกิดประสพ พนักงาน ญ 13 มิย. 2520 9000 B004 Candidate key 43000 นครราชสีมา 88/10 ถ.ราชสีมา B004 34000 อุบลราชธานี 30 ถ.ชยางกูร B002 44000 หนองคาย 16 ถ.โพนพิสัย B007 41000 อุดรธานี 55/5 ถ.นิตโย B005 44/3 ถ.อุดรดุษฎี B003 รหัสไปรษณีย์ จังหวัด ที่อยู่ รหัสสาขา สาขา Primary key
31
The End
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.