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