Enhanced Entity-Relationship Modeling Lecture 8 Enhanced Entity-Relationship Modeling
Enhanced Entity-Relationship Model พื้นฐานแนวคิดของแบบจำลอง E-R เป็นแบบจำลองที่มีการนำมาใช้งานเมื่อ กลางปี ค.ศ. 1970 และจัดได้ว่าเป็นแบบจำลองชนิดหนึ่งที่มีความเหมาะสมกับ การนำไปใช้งานเพื่อแก้ปัญหาทางธุรกิจ แต่ในสภาพปัจจุบันข้อมูลทางธุรกิจก็ มีความซับซ้อนมากขึ้น จึงมีทีมนักวิจัยได้นำแนวคิดแบบจำลอง E-R มาพัฒนา ทำให้สามารถนำเสนอข้อมูลที่ซับซ้อนได้อย่างถูกต้อง ด้วยการใช้แบบจำลองที่ เรียกว่า Enhanced Entity-Relationship Model หรือเรียกสั้นๆ ว่า EER โดยสิ่งสำคัญของการสร้างแบบจำลองของ EER นั้นคือความสัมพันธ์แบบซูเปอร์- ไทป์ (Supertype) และซับไทป์ (Subtype)
Entity Supertypes and Subtypes คุณลักษณะของแบบจำลอง EER อนุญาตให้เอ็นติตี้ที่เป็น Supertype สามารถ แบ่งเอ็นติตี้ออกเป็นส่วนย่อยๆ ตามคุณลักษณะเฉพาะที่เรียกว่า Subtype ซึ่งการ นำหลักการของ Supertype และ Subtype มาใช้งาน ก่อให้เกิดผลในด้านดี 2 ประการ หลีกเลี่ยงข้อมูลที่เป็นค่าว่าง (null) กำหนดประเภทเอ็นติตี้เพื่อเข้าไปมีส่วนร่วมในความสัมพันธ์ตามคุณลักษณะ เฉพาะของประเภทเอ็นติตี้นั้นๆ ได้
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)
Supertype and Subtype ซูเปอร์ไทป์ (Supertype) คือ รูปแบบของเอ็นติตี้ที่ใช้เป็นต้นแบบให้กับเอ็นติตี้อื่น ๆ โดย Supertype จะประกอบไปด้วย Subtype ต่างๆ ที่เกี่ยวข้อง ซัปไทป์ (Subtype) คือ เอ็นติตี้ที่มีคุณสมบัติแตกต่างกันภายในกลุ่มสมาชิกของ Subtype ด้วยกัน แต่จะมีคุณสมบัติพื้นฐานที่ขึ้นอยู่กับเอ็นติตี้ที่เป็น Supertype
Supertype and Subtype
Example
Example
เมื่อใดต้องใช้ความสัมพันธ์แบบ 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)
Example
Generalization / Specialization ความสัมพันธ์แบบ Supertype และ Subtype นั้น ยังสามารถสร้างด้วยวิธีอื่นๆ เพื่อ พัฒนาเอ็นติตี้ให้เป็น Supertype และ Subtype ได้ด้วยกระบวนการ Generalization และ Specialization ซึ่งก็คือเทคนิควิธีพัฒนาเอ็นติตี้ที่เป็น Supertype และ Subtype
Generalization เป็นเทคนิคการออกแบบ Supertype และ Subtype ที่ตั้งอยู่บนพื้นฐานวิธีแบบล่าง ขึ้นบน (Bottom-Up Approach)
Generalization
Generalization พบว่าในที่นี้จะไม่ได้ผนวกเอ็นติตี้ MOTORCYCLE เข้าไปด้วย เนื่องจากมีความ สัมพันธ์ที่ยังไม่ตรงเงื่อนไข อันเนื่องมาจากไม่พบแอตตริบิวต์ที่บ่งบอกคุณลักษณะ เฉพาะในเอ็นติติ้ MOTORCYCLE เลย ดังนั้นจึงไม่นับรวมเอ็นติตี้ MOTORCYCLE เข้ามาเป็น Subtype
Specialization เป็นเทคนิคการออกแบบ Supertype และ Subtype ที่ตั้งอยู่บนพื้นฐานวิธีแบบบน ลงล่าง (Top-Down Approach) อะไหล่ (PART) นำมาจาก 2 แหล่ง คือ จากโรงงานผู้ผลิต และตัวแทนจำหน่าย (Supplier)
Specialization
Completeness Constraints การระบุถึงข้อบังคับ Completeness เกี่ยวข้องกับคำถามที่ว่า Supertype จะต้องมี สมาชิกอย่างน้อยหนึ่ง Subtype โดยข้อบังคับแบบ Completeness นี้จะมีความเป็นไป ได้อยู่ 2 กฎเกณฑ์ คือ Total Specialization Rule Partial Specialization Rule
Total Specialization Rule เป็นกฎเกณฑ์ที่ระบุไว้ว่า เอ็นติตี้ใดๆ ที่เป็น Supertype ต้องมีความสัมพันธ์กับ สมาชิกใน Subtype
Partial Specialization Rule เป็นกฎเกณฑ์ที่ระบุไว้ว่า เอ็นติตี้ใดๆ ที่เป็น Supertype จะอนุญาตให้ไม่ต้องมีส่วน ร่วมในทุกๆ Subtype ก็ได้
Disjointness Constraints การระบุถึงข้อบังคับ Disjointness เกี่ยวข้องกับคำถามที่ว่า Supertype อาจมีจำนวน สมาชิกของ Subtype ได้มากกว่าหนึ่ง โดยข้อบังคับดังกล่าวจะมีความเป็นไปได้อยู่ 2 กฎเกณฑ์ คือ Disjoint Rule Overlap Rule
Disjoint Rule เป็นกฎเกณฑ์ที่ชี้ระบุถึงเอ็นติตี้ที่เป็น Supertype จะมีสมาชิกได้เพียงหนึ่ง Subtype เท่านั้น โดยจะไม่สามารถมี Subtype อื่นๆ เข้ามาเป็นสมาชิกได้อีก “d”
Overlap Rule เป็นกฎเกณฑ์ที่ชี้ระบุถึงเอ็นติตี้ที่เป็น Supertype สามารถมีสมาชิกคาบเกี่ยวได้มาก กว่าหนึ่ง Subtype “o”
Supertype/Subtype Relationship
Supertype/Subtype Relationship
Example (DreamHome)