1 / 41

Systems Analysis and Design

Systems Analysis and Design. การวิเคราะห์และออกแบบ. แบบจำลองฐานข้อมูลเชิงสัมพันธ์. Relational Database Model. Chapter 7. เนื้อหา. Relational Database Keys Data Integrity. แบบจำลองฐานข้อมูลเชิงสัมพันธ์. คิดค้นโดย Dr. E.F. Codd ในปี 1970 มีพื้นฐานมาจากทฤษฎีทางคณิตศาสตร์

akio
Télécharger la présentation

Systems Analysis and Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Systems Analysis and Design การวิเคราะห์และออกแบบ

  2. แบบจำลองฐานข้อมูลเชิงสัมพันธ์แบบจำลองฐานข้อมูลเชิงสัมพันธ์ Relational Database Model Chapter 7

  3. เนื้อหา Relational Database Keys Data Integrity

  4. แบบจำลองฐานข้อมูลเชิงสัมพันธ์แบบจำลองฐานข้อมูลเชิงสัมพันธ์ • คิดค้นโดย Dr. E.F. Codd ในปี 1970 • มีพื้นฐานมาจากทฤษฎีทางคณิตศาสตร์ • มีการมองข้อมูลเป็นแบบตาราง 2 มิติ • เป็นที่นิยมใช้กันมากจนถึงปัจจุบัน

  5. องค์ประกอบของรีเลชัน แอททริบิวท์(Attribute) สาขา รหัสสาขา ที่อยู่ จังหวัด รหัสไปรษณีย์ B003 44/3 ถ.อุดรดุษฎี อุดรธานี 41000 รีเลชัน(Relation) B005 55/5 ถ.นิตโย อุดรธานี 41000 คาร์ดินัลลิตี้(Cardinality) B007 16 ถ.โพนพิสัย หนองคาย 44000 B002 30 ถ.ชยางกูร อุบลราชธานี 34000 B004 88/10 ถ.ราชสีมา นครราชสีมา 43000 ดีกรี(Degree) กุญแจหลัก(Primary Key) กุญแจนอก(Foreign Key) พนักงาน รหัสพนักงาน ชื่อ นามสกุล ตำแหน่ง เพศ วันเกิด เงินเดือน รหัสสาขา SUD21 สมชาย เข็มกลัด ผู้จัดการ ช 1 ตค. 2516 30000 B005 SNK37 แอน ทองประสม พนักงาน ญ 10 พย. 2519 12000 B007 SNK14 ศรราม เทพพิทักษ์ หัวหน้าแผนก ช 24 มีค. 2517 20000 B007 ทูเพิล(Tuple) SUB09 สุวนันท์ คงยิ่ง พนักงาน ญ 19 กพ. 2521 9000 B002 SUD04 ปนัดดา วงศ์ผู้ดี ผู้จัดการ ญ 3 กค. 2518 25000 B003 SNR41 เจนจิรา เกิดประสพ พนักงาน ญ 13 มิย. 2520 9000 B004

  6. ศัพท์เทคนิคที่เกี่ยวข้องศัพท์เทคนิคที่เกี่ยวข้อง ศัพท์เทคนิค ศัพท์ทั่วไป ตาราง(Table) แถว(Row) หรือ เรคคอร์ด(Record) คอลัมน์(Column) หรือ ฟิลด์(Field) จำนวนแถว(Number of rows) จำนวนคอลัมน์(Number of columns) ขอบเขตค่าของข้อมูล รีเลชั่น(Relation),Entity Set ทูเพิล(Tuple),Entity แอททริบิวต์(Attribute) คาร์ดินาลลิตี้(Cardinality) ดีกรี(Degree) โดเมน(Domain)

  7. Domain • เป็นการนิยามขอบเขตของค่าที่เป็นไปได้ให้กับข้อมูลในแต่ละ Attribute เพื่อป้องกันไม่ให้เกิดการป้อนข้อมูลที่เกินขอบเขตที่กำหนด • เช่น • การกำหนดให้อายุพนักงานเป็นตัวเลขมีค่ามากกว่า 18 ปี • การกำหนดให้จำนวนเงินเดือนของพนักงานเป็นตัวเลขมีค่ามากกว่า 0 • การกำหนดให้เพศของพนักงานแต่ละคนต้องเป็นตัวอักษรถ้าเป็นเพศชายให้เป็นค่า M หรือ ถ้าเป็นเพศหญิงให้เป็นค่า F

  8. Example Domain M,F > 18 > 0 EmpID Name Sex Age Salary DeptID E001 Peter M 24 55,000 D01 E002 Nicole F 30 12,000 D02 DeptID DName D01 Sale D02 Marketing

  9. คุณสมบัติของรีเลชัน • มีชื่อรีเลชันไม่ซ้ำกัน • ในแต่ละเซลล์(cell)ของรีชัน บรรจุข้อมูลได้ 1 ค่าเท่านั้น • ในรีเลชันเดียวกันจะต้องไม่มีแอททริบิวท์ที่ชื่อซ้ำกัน • ค่าข้อมูลที่อยู่ในแอททริบิวท์เดียวกันต้องอยู่ในขอบเขตโดเมนเดียวกัน • ห้ามมีทูเพิลซ้ำกันในรีเลชันเดียวกัน • การเรียงลำดับแอททริบิวท์ในรีเลชันไม่ถือเป็นสำคัญ • การเรียงลำดับทูเพิลในรีเลชันไม่ถือเป็นสำคัญ • ทุกรีเลชันควรจะมีกุญแจหลัก

  10. Key • คีย์ คือ สิ่งที่ใช้ในการกำหนดความเป็นเอกลักษณ์ของแถวในความสัมพันธ์ • ทำให้การเข้าถึงข้อมูลบนฐานข้อมูลเป็นไปได้อย่างรวดเร็ว • ทำให้สามารถแยกแยะ ข้อมูลในฐานข้อมูลให้เป็นไปอย่างถูกต้อง

  11. ประเภทของ Key • Candidate Key • Primary Key • Alternate Key • Composite Key • Foreign Key

  12. กุญแจคู่แข่ง(Candidate Key) • เป็นAttributeหรือGroup of attributeในRelationที่มีค่าไม่ซ้ำกันและใช้ระบุค่าของtuple ใน Relation เดียวกัน • เมื่อมีการกระทำที่ใช้ค่าของกุญแจคู่แข่งเพื่อเรียกใช้ข้อมูลใน Relation แล้ว ผลลัพธ์ที่ได้จะปรากฏข้อมูลออกมาเพียง Tupleเดียว

  13. กุญแจคู่แข่ง(Candidate Key) CK * รหัสสาขา * ที่อยู่

  14. กุญแจคู่แข่ง(Candidate Key) CK * รหัสนักศึกษา * ชื่อ + นามสกุล

  15. กุญแจคู่แข่ง(Candidate Key) CK หมายเลขใบสั่งซื้อ + รหัสสินค้า หมายเลขใบสั่งซื้อ+ชื่อสินค้า

  16. กุญแจหลัก(Primary Key) • CK ที่เหมาะสมจะถูกเลือกให้ทำหน้าที่เป็น Primary key • การเลือก PK ในกรณีถ้า Relation นั้นมี CK มากกว่า 1 อัน ให้เลือกเอา CK ที่มีขนาดเล็กที่สุดและถูกเรียกใช้ด้วยการกระทำต่างๆ มากที่สุดมาเป็น PK

  17. กุญแจหลัก(Primary Key) PK * รหัสสาขา CK * ที่อยู่

  18. กุญแจหลัก(Primary Key) PK * รหัสนักศึกษา CK * ชื่อ + นามสกุล

  19. กุญแจหลัก(Candidate Key) PK หมายเลขใบสั่งซื้อ + รหัสสินค้า CK หมายเลขใบสั่งซื้อ+ชื่อสินค้า

  20. กุญแจสำรอง(Alternate Key) • เป็นชื่อที่เรียกกุญแจคู่แข่ง(Candidate Key)ที่เหลือที่ไม่ได้ถูกเลือกให้เป็น กุญแจหลัก(Primary)

  21. กุญแจรวม(Composite Key) • เป็นชื่อที่เรียก คีย์ต่างๆ ที่ประกอบด้วย แอททริบิวท์มากกว่า 1 แอททริบิวท์เพื่อประกอบเป็นคีย์นั้น ๆ ว่า กุญแจรวม(Composite Key)

  22. กุญแจนอก(Foreign Key) • คือ แอททริบิวท์ใดแอททริบิวท์หนึ่งในรีเลชันที่ใช้อ้างอิงไปยัง แอททริบิวท์ที่ทำหน้าที่ เป็น กุญแจหลักของอีกรีเลชันหนึ่งที่มีความสัมพันธ์กัน

  23. กุญแจนอก(Foreign Key) สาขา รหัสสาขา ที่อยู่ จังหวัด รหัสไปรษณีย์ B003 44/3 ถ.อุดรดุษฎี อุดรธานี 41000 B005 55/5 ถ.นิตโย อุดรธานี 41000 B007 16 ถ.โพนพิสัย หนองคาย 44000 B002 30 ถ.ชยางกูร อุบลราชธานี 34000 B004 88/10 ถ.ราชสีมา นครราชสีมา 43000 กุญแจหลัก(Primary Key) กุญแจนอก(Foreign 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

  24. คุณสมบัติของกุญแจนอก(Foreign Key) 1. สามารถกำหนดจากแอททริบิวท์เดียวหรือมากกว่า 2. ค่าของ FK ใน รีเลชัน หนึ่งจะต้องปรากฏใน PK ของอีก รีเลชันหนึ่งที่สัมพันธ์กัน แต่ในแง่กลับกัน ทุกค่าของ PK ใน รีเลชันหนึ่ง ไม่จำเป็นที่จะต้องปรากฎอยู่ใน FK ของอีก รีเลชันหนึ่งที่สัมพันธ์กัน 3. จำนวนของ แอททริบิวท์ที่มาประกอบเป็น FK ขึ้นอยู่กับจำนวนของ แอททริบิวท์ ที่กำหนดเป็น PK ของ รีเลชันที่มีความสัมพันธ์กับ รีเลชันนั้น ที่ถูกนำมาใช้เปรียบเทียบกับค่าของ FK

  25. คุณสมบัติของForeign Key 4. Domain ของ แอททริบิวท์ที่กำหนดเป็น FK ต้องมีค่าเช่นเดียวกันกับ Domain ของ แอททริบิวท์ที่เป็น PK ของ รีเลชันที่สัมพันธ์กัน 5. แอททริบิวท์ที่ทำหน้าที่เป็น FK ไม่จำเป็นต้องเป็น PK ของ รีเลชันนั้น 6. รีเลชันใดที่เป็นเจ้าของ FK จะถูกเรียกว่า “Referencing Relation”ส่วน รีเลชันที่เป็นเจ้าของ PK ที่สัมพันธ์กับ FK นั้นจะเรียกว่า “Referenced Relation”หรือ “Target Relation”

  26. คุณสมบัติของ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

  27. สาขา รหัสสาขา ที่อยู่ จังหวัด รหัสไปรษณีย์ B003 44/3 ถ.อุดรดุษฎี อุดรธานี 41000 B005 55/5 ถ.นิตโย อุดรธานี 41000 B007 16 ถ.โพนพิสัย หนองคาย 44000 B002 30 ถ.ชยางกูร อุบลราชธานี 34000 B004 88/10 ถ.ราชสีมา นครราชสีมา 43000 Alternate key Foreign 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

  28. ความคงสภาพของข้อมูล Data Integrity

  29. Data Integrity • ความคงสภาพของข้อมูล หมายถึงข้อบังคับ หรือ ข้อกำหนด ที่บังคับใช้กับข้อมูลในฐานข้อมูล • มี 2 กฎที่สำคัญ ได้แก่ • Entity Integrity Rule • Referential Integrity Rule

  30. Null • จะมีค่าที่แตกต่างจากช่องว่างหรือจำนวนศูนย์ เนื่องจาก Null จะไม่ใช่ค่าที่ปรากฎอยู่จริงในโลกของความเป็นจริง รวมทั้งเป็นค่าที่แทนข้อมูลที่ไม่สามารถระบุค่าได้ • ส่วนช่องว่างหรือศูนย์นั้น เป็นค่าที่ปรากฏอยู่จริง จึงถือว่าเป็นค่าของข้อมูลที่ระบุค่าได้

  31. The Entity Integrity Rule • ต้องไม่มี Entity ซ้ำกัน • ห้ามแอททริบิวท์ที่เป็นกุญแจหลักบรรจุค่า Null • จุดประสงค์ - เพื่อรับประกันว่าแต่ละ Entity มีค่าเดียว และ FK สามารถอ้างถึง PK ได้อย่างถูกต้อง

  32. The Referential Integrity Rule “ถ้าในรีเลชันมีกุญแจนอก ค่าข้อมูลในแอททริบิวท์ที่เป็นกุญแจนอกต้องมีค่าตรงกับค่าของแอททริบิวท์ที่เป็นกุญแจหลักของอีกรีเลชันที่กุญแจนอกนั้นมีความสัมพันธ์เกี่ยวข้องด้วย”

  33. The Referential Integrity Rule สาขา รหัสสาขา ที่อยู่ จังหวัด รหัสไปรษณีย์ B003 44/3 ถ.อุดรดุษฎี อุดรธานี 41000 B005 55/5 ถ.นิตโย อุดรธานี 41000 B007 16 ถ.โพนพิสัย หนองคาย 44000 B002 30 ถ.ชยางกูร อุบลราชธานี 34000 B004 88/10 ถ.ราชสีมา นครราชสีมา 43000 กุญแจหลัก(Primary Key) กุญแจนอก(Foreign 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

  34. ข้อกำหนดในการปรับปรุงข้อมูลข้อกำหนดในการปรับปรุงข้อมูล • แบบมีข้อจำกัด(Restrict) • แบบต่อเนื่อง(Cascade) • แบบเป็นค่าว่าง(Nullify) • แบบกำหนดให้เป็นค่าเริ่มต้น(Default)

  35. ข้อกำหนดในการปรับปรุงข้อมูลข้อกำหนดในการปรับปรุงข้อมูล The Referential Integrity Rule 1. แบบมีข้อจำกัด(Restrict) • หากมีการปรับปรุง(Update)หรือลบ(Delete) ข้อมูลในกุญแจหลักของรีเลชันหลัก(Parent relation) ที่มีข้อมูลที่เป็นกุญแจนอกอ้างอิงอยู่ในขณะนั้น จะไม่สามารถปรับปรุงหรือลบข้อมูลดังกล่าวได้

  36. ข้อกำหนดในการปรับปรุงข้อมูลข้อกำหนดในการปรับปรุงข้อมูล The Referential Integrity Rule 2. แบบต่อเนื่อง(Cascade) • หากมีการปรับปรุง(Update) ข้อมูลในกุญแจหลักของรีเลชั่นหลัก(Parent relation) ที่มีข้อมูลที่เป็นกุญแจนอกอ้างอิงอยู่ในขณะนั้น ระบบจัดการฐานข้อมูล จะปรับปรุงข้อมูลทุกรายการในกุญแจนอกที่อ้างอิงอยู่ในขณะนั้นให้เป็นค่าตามกุญแจหลัก • หากมีการลบ(Delete) ข้อมูลในกุญแจหลักของรีเลชั่นหลัก(Parent relation) ที่มีข้อมูลที่เป็นกุญแจนอกอ้างอิงอยู่ในขณะนั้น ระบบจัดการฐานข้อมูลจะลบรายการข้อมูลที่กุญแจนอกนั้นอ้างอิงอยู่

  37. ข้อกำหนดในการปรับปรุงข้อมูลข้อกำหนดในการปรับปรุงข้อมูล The Referential Integrity Rule 3. แบบเป็นค่าว่าง(Nullify) • หากมีการปรับปรุง(Update)หรือลบ(Delete) ข้อมูลในกุญแจหลักของรีเลชั่นหลัก(Parent relation) ที่มีข้อมูลที่เป็นกุญแจนอกอ้างอิงอยู่ในขณะนั้น ระบบจัดการฐานข้อมูล จะปรับค่าข้อมูลทุกรายการในกุญแจนอกที่อ้างอิงอยู่ในขณะนั้นให้เป็นค่าว่าง(Null)

  38. ข้อกำหนดในการปรับปรุงข้อมูลข้อกำหนดในการปรับปรุงข้อมูล The Referential Integrity Rule 4. แบบกำหนดให้เป็นค่าเริ่มต้น(Default) • หากมีการปรับปรุง(Update)หรือลบ(Delete) ข้อมูลในกุญแจหลักของรีเลชั่นหลัก(Parent relation) ที่มีข้อมูลที่เป็นกุญแจนอกอ้างอิงอยู่ในขณะนั้น ระบบจัดการฐานข้อมูล จะปรับค่าข้อมูลทุกรายการในกุญแจนอกที่อ้างอิงอยู่ในขณะนั้นให้เป็นค่ากำหนดเริ่มต้นของระบบ(Default)

  39. Data Dictionary • ใช้อธิบายรายละเอียดของเทเบิลในฐานข้อมูล ประกอบด้วย - ด้วยชื่อและคูณลักษณะของแอททริบิวท์ - Meta data (data about data)

  40. End

More Related