Transcript Chapter 8
Lecture 8 Enhanced Entity-Relationship Modeling Enhanced Entity-Relationship Model ้ ่ พืนฐานแนวคิ ดของแบบจาลอง E-R เป็ นแบบจาลองทีมี ่ การนามาใช ้งานเมือ ่ กลางปี ค.ศ. 1970 และจัดได ้ว่าเป็ นแบบจาลองชนิ ดหนึ่ งทีมี ความเหมาะสมกับ ่ การนาไปใช ้งานเพือแก ้ปัญหาทางธุรกิจ แต่ในสภาพปัจจุบน ั ข ้อมูลทางธุรกิจก็ มีความซบั ซ ้อนมากขึน้ จึงมีทม ี นักวิจยั ได ้นาแนวคิด แบบจาลอง E-R มาพัฒนา ่ บั ซ ้อนได ้อย่างถูกต ้อง ด ้วย ทาให ้สามารถนาเสนอข ้อมูลทีซ การใช ้แบบจาลองที่ เรียกว่า Enhanced Entity-Relationship Model 2 Entity Supertypes and Subtypes ่ น คุณลักษณะของแบบจาลอง EER อนุ ญาตให ้เอ็นติตที ี ้ เป็ Supertype สามารถ ่ ยกว่า แบ่งเอ็นติตออกเป็ ี้ นส่วนย่อยๆ ตามคุณลักษณะเฉพาะทีเรี ่ Subtype ซึงการ นาหลักการของ Supertype และ Subtype มาใช ้งาน ก่อให ้เกิดผลในด ้านดี 2 ประการ ่ ่ นค่าว่าง (null) หลีกเลียงข ้อมูลทีเป็ ่ ้าไปมีสว่ นร่วมในความสัมพันธ ์ กาหนดประเภทเอ็นติตเพื ี ้ อเข ตามคุณลักษณะ เฉพาะของประเภทเอ็นติตนั ี ้ ้นๆ ได ้ • • 3 Entity Supertypes and Subtypes Relation Schema ทัง้ 3 ของพนักงานแต่ละประเภทดังต่อไปนี ้ SALARIED_EMP (empNo, name, address, dateHired, salary, bonus) HOURLY_EMP (empNo, name, address, dateHired, hourlyRate) CONSULTANT (empNo, name, address, dateHired, contractNo, billingRate) 4 Supertype and Subtype ่ ้เป็ น ซูเปอร ์ไทป์ (Supertype) คือ รูปแบบของเอ็นติตที ี ้ ใช ่ ๆ ต ้นแบบให ้กับเอ็นติตอื ี้ น ่ ยวข ่ โดย Supertype จะประกอบไปด ้วย Subtype ต่างๆ ทีเกี ้อง ่ คณ ซัปไทป์ (Subtype) คือ เอ็นติตที ี ้ มี ุ สมบัตแิ ตกต่างกัน ภายในกลุม ่ สมาชิกของ ่ นอยู ้ Subtype ด ้วยกัน แต่จะมีคณ ุ สมบัตพ ิ นฐานที ื้ ขึ ก ่ บ ั เอ็นติตที ี้ ่ เป็ น Supertype 5 Supertype and Subtype 6 Example 7 Example 8 ่ เมือใดต้ องใช้ความสัมพันธ ์แบบ Supertype และ Subtype ่ • มีแ่ อตตริบวิ ต ์เหมือน ๆ้ กันทีปรากกฎอยู ใ่ นบาง entity ที่ เกียวข ้อง (แต่ไม่ใช่ทงหมด) ั • รายละเอียดข ้อมูลของแต่ละ Subtype จะต ้องมีคณุ สมบัติ เฉพาะ SALARIED_EMP (empNo, name, address, dateHired, salary, bonus) HOURLY_EMP (empNo, name, address, dateHired, hourlyRate) CONSULTANT (empNo, name, address, dateHired, contractNo, billingRate) 9 Example 10 Generalization / Specialization ความสัมพันธ ์แบบ Supertype และ Subtype นั้น ยังสามารถ ่ สร ้างด ้วยวิธอี นๆ ื่ เพือ พัฒนาเอ็นติตให ี ้ ้เป็ น Supertype และ Subtype ได ้ด ้วย กระบวนการ Generalization ่ คอื เทคนิ ควิธพ ่ น และ Specialization ซึงก็ ี ฒ ั นาเอ็นติตที ี ้ เป็ Supertype และ Subtype 11 Generalization ่ งอยู ้ ่ เป็ นเทคนิ คการออกแบบ Supertype และ Subtype ทีตั ้ บนพืนฐานวิ ธแี บบล่าง ้ ขึนบน (Bottom-Up Approach) 12 Generalization 13 Generalization ่ จะไม่ ้ พบว่าในทีนี ได ้ผนวกเอ็นติตี ้ MOTORCYCLE เข ้าไปด ้วย เนื่ องจากมีความ ่ งไม่ตรงเงือนไข ่ ่ ง สัมพันธ ์ทียั อันเนื่ องมาจากไม่พบแอตตริบวิ ต ์ทีบ่ บอกคุณลักษณะ เฉพาะในเอ็นติต ิ ้ MOTORCYCLE เลย ดังนั้นจึงไม่นับรวมเอ็นติต ี ้ MOTORCYCLE เข ้ามาเป็ น Subtype 14 Specialization ่ งอยู ้ ่ เป็ นเทคนิ คการออกแบบ Supertype และ Subtype ทีตั ้ บนพืนฐานวิ ธแี บบบน ลงล่าง (Top-Down Approach) อะไหล่ (PART) นามาจาก 2 แหล่ง คือ จากโรงงานผูผ ้ ลิต และตัวแทน จาหน่ าย (Supplier) 15 Specialization 16 Completeness Constraints ่ การระบุถงึ ข ้อบังคับ Completeness เกียวข ้องกับคาถามทีว่่ า Supertype จะต ้องมี สมาชิกอย่างน้อยหนึ่ ง Subtype โดยข ้อบังคับแบบ ้ ความเป็ นไป Completeness นี จะมี ได ้อยู่ 2 กฎเกณฑ ์ คือ Total Specialization Rule Partial Specialization Rule 17 Total Specialization Rule ่ ่ น Supertype ต ้องมี เป็ นกฎเกณฑ ์ทีระบุไว ้ว่า เอ็นติตใดๆ ี้ ทีเป็ ความสัมพันธ ์กับ สมาชิกใน Subtype 18 Partial Specialization Rule ่ ่ น Supertype จะ เป็ นกฎเกณฑ ์ทีระบุไว ้ว่า เอ็นติตใดๆ ี้ ทีเป็ อนุ ญาตให ้ไม่ต ้องมีสว่ น ร่วมในทุกๆ Subtype ก็ได ้ 19 Disjointness Constraints ่ การระบุถงึ ข ้อบังคับ Disjointness เกียวข ้องกับคาถามทีว่่ า Supertype อาจมีจานวน สมาชิกของ Subtype ได ้มากกว่าหนึ่ ง โดยข ้อบังคับดังกล่าวจะมี ความเป็ นไปได ้อยู่ 2 กฎเกณฑ ์ คือ Disjoint Rule Overlap Rule 20 Disjoint Rule ่ ระบุ ้ ถงึ เอ็นติตที ่ น Supertype จะมีสมาชิก เป็ นกฎเกณฑ ์ทีชี ี ้ เป็ ได ้เพียงหนึ่ ง Subtype ่ เข ้ามาเป็ นสมาชิกได ้ เท่านั้น โดยจะไม่สามารถมี Subtype อืนๆ อีก “d” 21 Overlap Rule ่ ระบุ ้ ถงึ เอ็นติตที ่ น Supertype สามารถมี เป็ นกฎเกณฑ ์ทีชี ี ้ เป็ ่ สมาชิกคาบเกียวได ้มาก กว่าหนึ่ ง Subtype “o” 22 Supertype/Subtype Relationship 23 Supertype/Subtype Relationship 24 Example (DreamHome) 25