บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1....

46
E-R โมเดล 89 บทที 6 E-R โมเดล 6.1 บทนํา E-R โมเดล (Entity-Relationship Model) ใช้ในการออกแบบฐานข้อมูลในระดับ แนวคิด (High-Level Conceptual Data Model) เพื่ออธิบายถึงเค้าร ่างของฐานข้อมูล (Conceptual Database Schema) ที่ประกอบด้วยความหมายของเอนทิตี (Entity) คุณลักษณะของเอนทิตี้ (Entity) หรือแอททริบิวต์ และความสัมพันธ์ระหว่างเอนทิตี้ (Relationship) โดยการโมเดลข้อมูลด้วย E-R โมเดลที่ช่วยในการออกแบบในระดับ แนวคิดจะไม่คํานึงว่าโมเดลของระบบจัดการฐานข้อมูลที่จะเลือกใช้หรือโครงสร้างการ จัดเก็บข้อมูลจริงเป็นอย่างไร E-R โมเดล เป็นการออกแบบในระดับแนวคิดในลักษณะจากบนมาล่าง (Top- Down Strategy) โดยผลจากการออกแบบฐานข้อมูลจะได้เค้าร่างในระดับแนวคิดทีประกอบด้วย เอนทิตี้ที่ควรจะมีในระบบ ความสัมพันธ์ระหว่างเอนทิตี้ว่าเป็นอย่างไร แอททริบิวต์ซึ่งเป็นรายละเอียดที่อธิบายเอนทิตี้ และมีความสัมพันธ์กัน อย่างไรบ้าง ในบทนี ้ จะกล่าวถึงแนวคิดที่เกี่ยวข้องกับ E-R โมเดล ขั้นตอนในการเขียน E-R โมเดล นอกจากนี้ยังกล่าวถึงปัญหาของ E-R โมเดลที่อาจจะมีปัญหาสืบเนื่องจาก การตีความหมายความสัมพันธ์ระหว่างเอนทิตี้ผิดพลาดจนเกิดปัญหา Connection Trap รวมถึงการพัฒนา EER โมเดล (Enhanced Entity-Relationship Model) เพื่อใช้ในการ ออกแบบฐานข้อมูลที่มีความซับซ้อนมากขึ ้น

Transcript of บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1....

Page 1: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

89

บทท 6 E-R โมเดล

6.1 บทนา E-R โมเดล (Entity-Relationship Model) ใชในการออกแบบฐานขอมลในระดบ แนวคด (High-Level Conceptual Data Model) เพออธบายถงเคารางของฐานขอมล (Conceptual Database Schema) ทประกอบดวยความหมายของเอนทต (Entity) คณลกษณะของเอนทต (Entity) หรอแอททรบวต และความสมพนธระหวางเอนทต (Relationship) โดยการโมเดลขอมลดวย E-R โมเดลทชวยในการออกแบบในระดบ แนวคดจะไมคานงวาโมเดลของระบบจดการฐานขอมลทจะเลอกใชหรอโครงสรางการจดเกบขอมลจรงเปนอยางไร E-R โมเดล เปนการออกแบบในระดบแนวคดในลกษณะจากบนมาลาง (Top-Down Strategy) โดยผลจากการออกแบบฐานขอมลจะไดเคารางในระดบแนวคดทประกอบดวย

เอนทตทควรจะมในระบบ

ความสมพนธระหวางเอนทตวาเปนอยางไร

แอททรบวตซงเปนรายละเอยดทอธบายเอนทต และมความสมพนธกน อยางไรบาง

ในบทน จะกลาวถงแนวคดทเกยวของกบ E-R โมเดล ขนตอนในการเขยน E-R โมเดล นอกจากนยงกลาวถงปญหาของ E-R โมเดลทอาจจะมปญหาสบเนองจาก การตความหมายความสมพนธระหวางเอนทตผดพลาดจนเกดปญหา Connection Trap รวมถงการพฒนา EER โมเดล (Enhanced Entity-Relationship Model) เพอใชในการออกแบบฐานขอมลทมความซบซอนมากขน

Page 2: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 90

6.2 รายละเอยดทเกยวของ

การออกแบบฐานขอมลในระดบแนวคด เปนการออกแบบความหมายของขอมลทมแนวคดทเกยวของดงน คอ

6.2.1 เอนทต (Entity) เอนทต (Entity) บางครงเรยกวา Entity type หมายถง ออปเจกทหนงๆ อาจเปนคน สถานท สงของ การกระทา หรอกจกรรมตางๆ ฯลฯ ทผ ใชตองการเกบขอมลไว เชน ผผลต ลกคา แผนก สนคา พนกงาน การสงซอ

เอนทตสามารถใชแอททรบวตทมอยในเอนทตเพอกาหนดเปนคยได โดยทวไปเอนทตจะเปนเอนทตปกต (Regular Entity หรอ Strong Entity)

เอนทตอกประเภทหนงเรยกวา เอนทตออนแอ (Weak Entity) เอนทต แบบนจะไมคงอยหากไมมอกเอนทตอย กลาวคอ เอนทตลกษณะนจะไมมขอมลในฐานขอมล (Existence Dependency) หากไมมอกเอนทตหนง (Owner Entity) ลกษณะทสาคญอกอยางหนงของเอนทตออนแอคอ เอนทตนไมสามารถกาหนดคยโดยใช แอททรบวตในเอนทตเพยงลาพงแตตองใชแอททรบวตจากอกเอนทตหนง (Owner Entity) ประกอบกนเปนคย (Partial Key) ตวอยางเชน เอนทตครอบครวของพนกงาน (Dependent) จะไมมในฐานขอมลหากไมมเอนทตพนกงาน (Employee) การกาหนด แอททรบวตทเปนคยหลกประกอบดวยแอททรบวตบางตวจากเอนทตครอบครวของพนกงาน และแอททรบวตบางตวจากเอนทตพนกงาน (Owner Entity) เชน แอททรบวตชอสมาชกในครอบครวประกอบกบชอพนกงานรวมกนเปนคยของเอนทตครอบครวของพนกงาน ดงนน เอนทตนเปนเอนทตออนแอ เพราะขนอยกบการมอยของเอนทตหนงและการกาหนดคยหลกเปนลกษณะ Partial Key

Page 3: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

91

6.2.2 คณลกษณะของเอนทต (Property) การกาหนดรายละเอยดขอมลของเอนทต คอการกาหนดแอททรบวตของเอนทตวา ประกอบดวยแอททรบวตอะไร รายละเอยดของเอนทตบางครงอาจเปน แอททรบวตผสม (Composite Attribute) ซงสามารถแยกแอททรบวตนน ๆ เปน แอททรบวตยอยได เชน แอททรบวต Address สามารถแยกเปนแอททรบวตถนนหรอ แอททรบวตจงหวด กรณของแอททรบวตทถกแปลคามาจากแอททรบวตอน (Derived Attribute) เชน แอททรบวตอาย (Age) เกดจากการนาแอททรบวตวนทปจจบนลบดวย แอททรบวตวนเกด (บางครงเรยกวา Stored Attribute) แอททรบวตทแปลคามาอาจจะแปลคามาจากแอททรบวตของเอนทตอนทสมพนธกน (Related Entity) เชน แอททรบวตจานวนพนกงานในแตละแผนก(No_of_Emp) ในเอนทต Department สามารถคานวณจากเอนทตพนกงานดวยการคานวณจานวนพนกงานททางานในแตละแผนก นอกจากน แอททรบวตบางแอททรบวตมคาของขอมลหลายคา เชน แอททรบวตประวตการศกษา ซงอาจจะมตงแตปรญญาตร โท และเอก แอททรบวตลกษณะนเรยกวา แอททรบวตทมหลายคา (Multivalued Attribute)

6.2.3 ความสมพนธระหวางเอนทต (Relationship) ในการออกแบบฐานขอมลดวย E-R โมเดล จะตองวเคราะหถงความสมพนธระหวางเอนทตตางๆ ของฐานขอมล ความสมพนธเหลานสามารถนาไปออกแบบเคารางของฐานขอมลเพอกาหนดคยนอกทใชอางองขอมลระหวางเอนทตทสมพนธกน

ลกษณะของความสมพนธตามจานวนเอนทตทสมพนธกน แบงออกไดเปนดงน

Page 4: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 92

1) ความสมพนธระหวางสองเอนทต (Binary Relationship) ตวอยาง เชน เอนทตพนกงาน (Employee) มความสมพนธ กบเอนทตแผนก (Department) ดงรป 6.1

รป 6.1

2) ความสมพนธระหวางเอนทตมากกวาสองเอนทต (Ternary Relationship) ดงรป 6.2

รป 6.2

3) ความสมพนธกบเอนทตตนเอง (Recursive Relationship หรอ Self Relationship หรอ Unary Relationship) ดงรป 6.3

รป 6.3

Department Employee has

Employee manage

Supplier

Product Order has

Page 5: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

93

นอกจากน การวเคราะหความสมพนธระหวางเอนทต จะตองพจารณาถงจานวนขอมลระหวางเอนทตทสมพนธกน (Cardinality Ratio) แบงออกไดดงน คอ 1) แบบหนงตอหนง (One-to-One Relationship)

เปนการแสดงความสมพนธของขอมลเอนทตหนงวามความสมพนธกบขอมล

อยางมากหนงขอมลกบอกเอนทตหนงในลกษณะทเปนหนงตอหนง ตวอยางเชน พนกงานหนงคนมทจอดรถเพยงหนงทและทจอดหนงทสามารถรถจอดรถโดยพนกงานหนงคนเทานน ดงรป 6.4 ก. หรอมพนกงานเพยงหนงคนทจะเปนผจดการแผนก และแผนกหนงจ ะ ม ผจดการเพยงคนเดยว ความสมพนธลกษณะนเปนความสมพนธแบบหนงตอหนง ดงรป 6.4 ข.

รป 6.4 ข 2) แบบหนงตอกลม (One-to-Many Relationship)

เปนการแสดงความสมพนธระหวางขอมลของเอนทตหนงวาม ความสมพนธ

กบขอมลหลายขอมลของอกเอนทตหนง

Employee

Dep

Car Park

Employee

รป 6.4 ก

Manage

Park 1 1

1 1

Page 6: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 94

ตวอยางเชน ลกคาหนงคน มคาสงซอหลายคาสงซอ ในขณะเดยวกน คาสงซอทเกดขนในแตละครงจะเปนของลกคาเพยงหนงคนเทานน ดงรป 6.5

รป 6.5

3) ความสมพนธแบบกลมตอกลม (Many-to-Many Relationship) เปนการแสดงความสมพนธของขอมลระหวางเอนทตในลกษณะกลมตอกลม

ตวอยางเชน การสงซอหนงครงประกอบดวยสนคาอยางนอยหนงชนด และสนคาอยางนอยหนงชนดถกสงซอในแตละครง ดงรป 6.6

6.2.4 Semantic Net ความสมพนธระหวางเอนทตจะมเซทของความสมพนธ (Relationship Set) ท

ประกอบดวยความสมพนธระหวางขอมลของเอนทตทสมพนธกน (Relationship

Instance) สามารถแสดงโดยใช Semantic Net โดยจะมสญลกษณ แสดงถงเอนทต

และสญลกษณ ซงแสดงถงความสมพนธเพอวเคราะหความสมพนธระหวางเอนทตวามความสมพนธแบบใด เชน แสดงจานวนเอนทตทสมพนธกน ไมวาจะเปนความสมพนธระหวางสองเอนทต (Binary Relationship) หรอมากกวาสองเอนทต (Ternary Relationship) หรอสมพนธกบเอนทตเดยวกน (Recursive Relationship) นอกจากน

Customer Order

Order Product

Place

Has

รป 6.6

1 N

N M

Page 7: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

95

Semantic Net สามารถใชในการวเคราะหใหเหนถงจานวนขอมลทเกดขนระหวางเอนทต ทสมพนธกนหรอสดสวนคารดนลลต (Cardinality Ratio) รวมถงขอกาหนดของความ สมพนธระหวางเอนทต (Participation Constraint) ระหวางเอนทต ตวอยางเชน จากรป 6.7 แสดงใหเหนถงเอนทตพนกงาน (Employee) มอนสแตนซของความสมพนธกบเอนทตแผนก (Department) เปนความสมพนธแบบสองเอนทต (Binary Relationship) ในลกษณะ 1:N

e1 r1 d1 e2 r2 d2 e3 r3

d3 e4 r4

d4 e5 r5

รป 6.7 : อนสแตนซของความสมพนธระหวางเอนทต

6.2.5 ขอกาหนดของความสมพนธ (Relationship Constraints) การวเคราะหความสมพนธระหวางเอนทต ในเ รองสดสวนคารดนลล ต (Cardinality Ratio) ยงอาจพจารณาละเอยดลงไปถงขอกาหนดของความสมพนธระหวางเอนทต (Participation Constraint) ประโยชนของขอกาหนดน เพอใชในการกาหนด คณสมบตของแอททรบวตทเปนคยนอกวาจะเปนคาวาง (Null) หรอไมเปนคาวาง (Not Null) การระบถงขอกาหนดนขนอยกบเกณฑทถอปฏบตของธรกจ (Business Rule) แบงไดเปน 2 ลกษณะ คอ

Employee Work_for Department

Page 8: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 96

1) Total Participation (Mandatory Participation) หมายถง ทกทเพลของเอนทตหนง จะมขอมลของแอททรบวตซงจะมความ

สมพนธกบแอททรบวตเดยวกนนในอกเอนทตหนงเสมอ ตวอยางเชน หากกาหนดเกณฑปฏบตวา พนกงานทกคนจะตองมแผนกสงกด และสงกดเพยง 1 แผนก เทานน นนคอพนกงานจะตองมแผนกสงกด ดงรป 6.8 ทแสดงใหเหนวา พนกงานทกคนจะมขอมลรหสแผนกททางานอย

A r1 X B r2 Y C r3

Z D r4

E r5

ความสมพนธระหวางเอนทตทออนแอ (Weak Entity) กบเอนทตหลก (Owner

Entity หรอ Identifying Entity) จะเปนแบบ Total Participation (บางครงเรยกวา Existence Dependency) ความสมพนธลกษณะนเรยกวา Identifying Relationship ตวอยางเชน เอนทตสมาชกในครอบครวของพนกงาน (Dependent) จะไมมขอมลหากไมมขอมลพนกงานในเอนทตพนกงาน (Employee) อยางไรกตาม ความสมพนธในลกษณะ Existence Dependency ระหวางสองเอนทตไมไดหมายความวาเอนทตหนงจะตองเปนเอนทตออนแอเสมอ

รป 6.8 : Total Participation

Employee Work_for Department

Page 9: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

97

ตวอยางเชน เอนทตใบขบข (Driver_License) จะไมมเอนทตนหากไมมขอมล เอนทตบคคล (Person) เอนทตทงสองมความสมพนธและขอกาหนดในลกษณะทเปน Existence Dependency แตเนองจากเอนทตใบขบขสามารถกาหนดคยหลกโดยใช แอททรบวตของตนเอง เชน รหสใบขบข (License_no) โดยไมตองอาศยแอททรบวตจากเอนทตบคคล กลาวคอ การกาหนดคยหลกของเอนทตใบขบขไมใช Partial Key ทเปน คณสมบตหนงของเอนทตออนแอจงไมถอเปนเอนทตออนแอ 2) Partial Participation (Optional Participation)

หมายถง มเพยงบางทเพลของเอนทตหนงทจะมขอมลของแอททรบวต ซงม

ความสมพนธกบแอททรบวตเดยวกนนกบอกรเลชนหนง ตวอยางเชน หากเปลยนเกณฑถอปฏบตวาพนกงานแตละคนจะมแผนกสงกดหรอไมกได และถาหากมแผนกสงกดจะสงกดเพยงหนง 1 แผนกเทานน ดงรป 6.9 แสดงใหเหนวาพนกงานบางคนไมมขอมลรหสแผนกททางานอย

A B

C D E

X Y

Z

Employee Work_for Department

r1

r2

รป 6.9 : Partial Participation

Page 10: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 98

ดงนน การวเคราะหความสมพนธระหวางเอนทตอยางละเอยด จะมประโยชนในการกาหนด เคารางของฐานขอมลวามรายละเอยดอะไร รวมถงขอกาหนดตางๆ ไดชดเจนมากขน เชน หากเอนทตมความสมพนธ แบบ Partial Participation การระบขอกาหนดของแอททรบวตในเอนทตทมคยนอก (Foreign Key) จะเปนคาวางได (Null) เชน รหสแผนกของพนกงานบางคนในเอนทตพนกงานจะไมมคาได รายละเอยดจะกลาวตอไปในบทท 9

6.3 สญลกษณทใช

E-R โมเดลจะมการใชสญลกษณเพอแทนความหมายของเอนทต แอททรบวต และความสมพนธของเอนทตในฐานขอมลทออกแบบ ดงน

6.3.1) สญลกษณในการโมเดล E-R แบบ Chen

สญลกษณ ความหมาย

เอนทต

เอนทตชนดออนแอ (Weak Entity)

ความสมพนธ

ความสมพนธแบบ Existence Dependency

รป 6.10 สญลกษณในการโมเดล E-R แบบ Chen

Page 11: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

99

สญลกษณ ความหมาย

เปน Composite Entity หรอ Gerund ทจะแปลงความสมพนธของเอนทตแบบ M:N ใหเปน 1:N

แอททรบวต

แอททรบวตทมหลายคา (Multivalued Attribute)

แอททรบวตทเปนคยหลก

แอททรบวตผสม (Composite Attribute)

แอททรบวตทแปลคามา (Derived Attribute)

รป 6.10 สญลกษณในการโมเดล E-R แบบ Chen (ตอ)

Page 12: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 100

สญลกษณ ความหมาย

ความสมพนธของขอมลระหวาง E1 กบ E2 แบบ 1:1 แบบ Partial Participation

ความสมพนธของขอมลระหวาง E1 กบ E2 แบบ 1:N แบบ Partial Participation

ความสมพนธของเอนทต E1 และ E2 โดย E1 เปน Partial Participation และ E2 เปน Total Participation

Generalization หรอ Specialization หากสญลกษณในวงกลมเปน d หมายถง Disjoint (ตามรปดานซาย) แตถาสญลกษณในวงกลมเปน 0 หมายถง Nondisjoint เสนตรงคทลากจาก Superclass มายงวงกลมแสดงถง Total Participation (Mandatory) ดงรป แตถาเปนเสนเดยว หมายถง Partial Participation

รป 6.10 สญลกษณในการโมเดล E-R แบบ Chen (ตอ)

Superclass

Subclass Subclass

d

E1 E2 R 1 N

E1 E2 1 1

E1 E2 R 1 N

R

Page 13: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

101

6.3.2) สญลกษณในการโมเดลแบบ Crow’s Foot

สญลกษณ ความหมาย

เอนทต (Entity)

ชอความสมพนธ

ความสมพนธ (Relationship)

แอททรบวตจะแสดงขางใตชอเอนทต โดยแอททรบวตทเปนคยหลก (Primary Key) จะขดเสนใต

ความสมพนธแบบ 1:1 แบบ Total Participation (Mandatory) บางตาราจะใชสญลกษณ I แทนแบบ II

ความสมพนธแบบ 1:1 โดยท E1 เปน Partial Participation (Optional) และ E2 เปน Total Participation (Mandatory)

รป 6:11 สญลกษณทใชใน E-R โมเดลแบบ Crow’s Foot

E1 E2

ชอเอนทต

ชอเอนทต แอททรบวต 1 แอททรบวต 2 แอททรบวต n

ชอความสมพนธ

E1 E2 ชอความสมพนธ

Page 14: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 102

สญลกษณ ความหมาย

ความสมพนธแบบ 1:N โดย E1 เปนแบบ Partial Participation (Optional) สวน E2 เปน Total Participation (Mandatory)

ความสมพนธแบบ 1:N โดย E1 และ E2 เปน Partial Participation (Optional)

สเหลยมใหญใชแสดง Superclass และ สเหลยมยอยใชแสดง Subclass (Generalization / Specialization)

รป 6:11 สญลกษณทใชใน E-R โมเดลแบบ Crow’s Foot (ตอ)

กลาวโดยสรป ความสมพนธระหวางเอนทตสามารถเขยนไดหลายรปแบบ หาก

นารายละเอยดความสมพนธระหวางเอนทตทกลาวมาทงหมดขางตนมาประกอบกน ความสมพนธระหวางเอนทต จะสามารถโมเดลความสมพนธและขอกาหนดคารดนลลต ของเอนทตในลกษณะตาง ๆ ซงมรปแบบในการเขยนความสมพนธเปนดงรป 6.12 รป 6.12 แสดงใหเหนถงการกาหนดจานวนขอมลของเอนทตทมความสมพนธทนยมใช ซงมทงแบบ Crow’s Foot แบบ Chen และแบบ Enumerated โดยเปนการแสดงความสมพนธระหวางสองเอนทต และแสดงความสมพนธแบบ Total และ Partial Participation

E1 E2 ชอความสมพนธ

Superclass

Subclass Subclass

E1 E2 ชอความสมพนธ

Page 15: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

103

รปแบบการ เขยน

แบบ Crow’s Foot

แบบ Chen

แบบ Enumerated

ความสมพนธ Aไป B

One to One แบบ Partial หรอ Optional

One to One แบบ Total หรอ Mandatory

One to Many แบบ Partial หรอ Optional

One to Many แบบ Total หรอ Mandatory

A B A B A B

A B A B A B

A B A B A B

A B A B A B

[0,1]

[1,1]

[o,n]

[1,n]

รป 6.12

1

1

N

N

Page 16: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 104

ตวอยางการเขยนความสมพนธระหวางเอนทตและขอกาหนดทเกยวกบ คารดนลลต (Cardinality) แบบ Chen และแบบ Crow’s Foot เปนดงน

ตวอยางท 1 แผนกหนงอาจจะมพนกงานทางานอยหรอไมกได แตพนกงานทกคน

จะตองมแผนกสงกดอยเพยงแผนกเดยวเทานน การโมเดลจะเปนดงน

ตวอยางท 2 แผนกหนงจะมพนกงานสงกดอยหรอไมกได พนกงานอาจจะยงไม

มแผนก เนองจากอยในชวงทดลองงาน และหากคนใดมแผนกสงกดอยจะสงกดเพยงหนงแผนก

Employee Department

N 1 Work_for Employee Department แบบ

Chen

แบบ Crow’s

Foot

Work_for

Work_for

แบบ Chen

แบบ Crow’s

Foot Employee Department

N 1 Work_for Employee Department Work_for

Work_for

Page 17: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

105

ตวอยางท 3 แผนกหนงจะตองมพนกงานทางานอย และพนกงานจะตองมสงกดเพยงแผนกเดยว การโมเดลจะเปนดงน

ตวอยางท 4 แผนกหนงจะตองมพนกงานทางานอย พนกงานอาจจะยงไมมแผนก

สงกดอย และถาหากพนกงานคนใดมแผนกสงกดอย จะสงกดเพยงแผนกเดยวการโมเดลจะเปนดงน

แบบ Chen

Employee Department

N 1 Work_for Employee Department

Work_for แบบ Crow’s

Foot

N 1 Work_for Employee Department

Work_for Employee Department

แบบ Chen

แบบ Crow’s

Foot

Page 18: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 106

6.4 ขนตอนในการออกแบบฐานขอมลโดยใช E-R โมเดล การออกแบบฐานขอมลโดยใช E-R โมเดล มขนตอนทเกยวของหลายขนตอน

และกระบวนการในการออกแบบ E-R โมเดลเปนกระบวนการทจะตองพจารณาซาๆ หลายครงเพอใหได E-R โมเดลทเหมาะสมและมขอมลครบถวน ขนตอนในการออกแบบขอมลโดยใช E-R โมเดล ประกอบดวยขนตอนดงน คอ 1) ศกษาถงลกษณะหนาทงานของระบบ (Business Function) วา มรายละเอยดของการทางานและขอมลทเกยวของอะไรบาง มขอสมมตฐาน (Business Rule) ของงานตางๆ อะไรบาง 2) กาหนดเอนทตทควรจะมอยในฐานขอมล ฐานขอมลหนง ๆ ประกอบดวยหลายเอนทต ในการกาหนดเอนทตทควรจะมอยในฐานขอมลหนง ๆ จะตองคานงรวมไปถงวาเอนทตนน ๆ เปนเอนทตในประเภทใดบาง เชน เอนทตประเภทออนแอ (Weak entity) 3) กาหนดประเภทของความสมพนธระหวางเอนทตวามความสมพนธอยางไรบาง รวมถงขอกาหนดของความสมพนธ โดยพจารณาจากขอสมมตฐานของความสมพนธระหวางเอนทตทไดศกษามาในขอ 1 และขอ 2 4) กาหนดคณลกษณะของเอนทตวาควรจะมรายละเอยดอะไรบาง ซงการกาหนดคณลกษณะของเอนทต จะพจารณาวารายละเอยดตาง ๆ เปนรายละเอยดทมคณสมบตเปนคย หรอเปนรายละเอยดทแปลคามา หรอเปนรายละเอยดทประกอบดวยรายละเอยดทเปนขอมลหลายอยาง เชน ทอย ประกอบดวย บานเลขท ถนน เขต ตาบล จงหวด รหสไปรษณย เปนตน 5) กาหนดคยของแตละเอนทตวา จะใชรายละเอยดของขอมลใดเปนคยของ เอนทตนน ๆ ซงจะตองเปนรายละเอยดของขอมลทมคาเปนเอกลกษณ หรอคาเฉพาะไมซาซอนในเอนทตนน ๆ

Page 19: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

107

6) นารายละเอยดตงแตขนตอนท 2 ถง 5 มาเขยน E-R โมเดล โดยใชสญลกษณทกลาวมาขางตนเปนการอธบายความสมพนธระหวางเอนทต หลงจากนนใหทาการทบทวน E-R โมเดลวาควรจะปรบเปลยนเคารางใหมหรอไม (Refinement Primitive) โดยนากลยทธในการทบทวนโมเดล (Refinement Strategy) ทไดกลาวในบทท 5 มาประยกตใช เพอใหได E-R โมเดลทสมบรณ

6.5 ปญหาในการสราง E-R โมเดล ในการออกแบบ E-R โมเดล อาจเกดปญหาในการสรางความสมพนธระหวาง เอนทตทอาจจะเกดขน เนองจากการสรางความสมพนธระหวางเอนทต ทผดพลาด ตวอยางของปญหาทเกดขน มดงน

6.5.1 Fan Trap ตวอยางหนงของการออกแบบขอมลทเกดปญหา Fan Trap เกดขนจาก

การทเอนทตหนงมความสมพนธกบเอนทตอนตงแตสองเอนทตขนไป โดยมความสมพนธแบบ One-to-Many ในลกษณะทความสมพนธดานทมคารดนลลต เทากบ 1 ออกจาก เอนทตหนงทงสองดาน ซงลกษณะการจดความสมพนธของเอนทต ทาใหมปญหาความไมชดเจนในการเรยกขอมลทจะแสดงขอมลเฉพาะของทเพลใดทเพลหนงออกมาได(Ambiguous)

รป 6.13 : Fan Trap

Employee Division Department Operate Employ

Page 20: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 108

รป 6.13 เปนตวอยางของการออกแบบ E-R โมเดลทมปญหา โดยเอนทต Division มความสมพนธกบเอนทต Employee และเอนทต Department หากลองสมมตตวอยางของขอมลโดยใช Semantic Net เพออธบายปญหา Fan Trap ทเกดขน คอ หากจะถามวา พนกงาน ก ทางานอยแผนกไหน (Department) โดยพจารณาจากรป 6.14 จะเหนวา คาตอบทไดจะไมชดเจน ทงนจากรปน จะสามารถบอกไดเพยงวา พนกงาน ก ซงอย Division ชอ A อาจจะทางานอยแผนกบญช หรอตลาด Employee ความสมพนธ Division ความสมพนธ Department

(Employ) (Operate)

รป 6.14 วธการแกปญหาน คอ ใหปรบการออกแบบการเชอมโยงของเอนทตตาง ๆ ใน E-R โมเดลใหม ดงรป 6.15 โดยใหเอนทต Division สมพนธกบเอนทต Department และเอนทต Department สมพนธกบเอนทต Employee

ก ข ค

r1 r2 r3

A

B

r4

r5

r6

บญช

ตลาด

การเงน

Page 21: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

109

รป 6.15

ซงหากลองสมมตขอมลตามรป 6.16 จะเปนโมเดลทสามารถใหขอมลไดอยาง ชดเจน ความสมพนธ ความสมพนธ Division (Operate) Department (Employ) Employee

A r1 บญช r4 ก

B r2 ตลาด r5 ข

r3 การเงน r6 ค

รป 6.16 ดงนน การออกแบบฐานขอมลดวย E-R โมเดล จะตองระมดระวงลกษณะของ การโมเดลทเปน Fan Trap ดงรป 6.13 ซงเปนลกษณะการเชอมความสมพนธระหวาง เอนทตแบบ N:1/1:N

Employee Employ Operate Department Division

Page 22: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 110

อกตวอยางหนงทกอใหเกดปญหา Fan Trap คอ การออกแบบทเอนทตมความสมพนธแบบ M : N โดยเปนความสมพนธในลกษณะเปนวงแหวนตอเนอง (Cyclic) ซงจะกอใหเกดความสมพนธลกษณะทเกยวของกบรปแบบบรรทดฐานขนท 5 (Fifth Normal Form) ทจะกลาวในบทท 7 ตวอยางเชน เอนทตผผลต (Supplier) ผลตสนคา (Product) หลายชนด และสงไปจาหนายใหผ คาปลก (Retailer) หลายคน และผ คาปลกกขายสนคาหลายชนด การโมเดลในลกษณะนทาใหไมสามารถทจะเรยกดขอมลจากทงสามเอนทตได เชน สนคาหนงผลตโดยผผลตใดและจดจาหนายโดยผ คาปลกคนใด ดงรป 6.17

รป 6.17

วธแกปญหา คอ สรางเอนทตใหมชอ Catalog ซงเกบขอมลรายละเอยดสนคาและผผลต และเชอมโยงตอไปยงเอนทต Retailer สามารถเรยกดขอมลไดชดเจน ดงรป 6.18

รป 6.18

Supplier Catalog Product

Retailer

Supplier Product

Retailer

Produce

Supply Sold_by

Page 23: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

111

6.5.2 Chasm Trap เกดขนจากทเอนทตหนงมความสมพนธกบเอนทตอนตงแตสองเอนทตขนไป

แตมความสมพนธบางสวนทเปน Partial Participation ทาใหเกดปญหา คอไมปรากฏ ขอมลทควรจะมหรอสามารถเชอมโยงเพอใหไดขอมลทครบถวน

รป 6.19

Department ความสมพนธ Employee ความสมพนธ Project (Employ) (Oversee)

รป 6.20

Employ

บญช

ตลาด

การเงน

r1

r2

r3

r5

r7

Proj1

Proj2

Proj3

Oversee Project Department Employe

Page 24: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 112

การออกแบบ E-R โมเดลตามรป 6.19 แสดงใหเหนวา แผนกหนงประกอบดวย พนกงานหลายคน นอกจากน แผนกเปนผ รบผดชอบโครงการ โดยมการมอบหมายใหพนกงานบางคนดแลโครงการ (Project) แตมบางโครงการทไมมพนกงานดแล ปญหาของการออกแบบในลกษณะน อาจทาใหการเชอมโยงขอมลของบางทเพลไมสมบรณหรอหายไป เชน หากอยากทราบวาโครงการไหนดแลโดยแผนกใดกจะไมสามารถเชอมโยงขอมลได

จากรป 6.20 จะไมสามารถตอบคาถามวา มแผนกทรบผดชอบโครงการ 2 (Proj 2) หรอไม ทงนเพราะไมมการมอบหมายใหพนกงานคนใดดแลโครงการ 2 หรอหากพนกงานลาออก การเชอมโยงระหวางโครงการกบแผนกกจะหายไปดวย แนวทางในการปรบการออกแบบใหมดวยการกาหนดความสมพนธระหวางเอนทต Department และ Project เปนดงรป 6.21 และจะไมมปญหาขอมลหายไปตาม Semantic Net ในรป 6.22

รป 6.21

Employee

Project Has

Employ Oversee

Department

Page 25: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

113

ความสมพนธ ความสมพนธ Department (Employ) Employee (Oversee) Project

รป 6.22

บญช

ตลาด

การเงน

r1

r2

r3

r4

r5

Proj1

Proj2

Proj3

r6

r7

r8

ความสมพนธ (Has)

Page 26: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 114

6.6 EER-โมเดล (Enhanced Entity-Relationship Model)

แนวคดของโมเดลขอมลในปจจบนขยายขอบเขตกวางออกไปตามความกาวหนาของเทคโนโลยทเปลยนแปลงไป ฐานขอมลทใชในดานการออกแบบทางอตสาหกรรมและวศวกรรม (CAD/CAM) ดานมลตมเดย คลงขอมล (Data Warehouse) หรอแมแตเทคโนโลยดานโทรคมนาคม ความซบซอนของการออกแบบฐานขอมลมมากขน ทาใหเกดแนวคดทขยายขอบเขตของการโมเดลจาก E-R เปน EER (Extended Entity Relationship หรอ Enhanced Entity Relationship) เพอใหสามารถอธบายความหมายของขอมล (Semantic Data Modeling) ทมความซบซอนและใหเหมาะกบความเปนจรงทเกดขนในทางปฏบตไดมากขน โดยจะกลาวถงแนวคดทเกยวของกบ EER โมเดลและ การโมเดล EER

6.6.1 แนวคดทเกยวของกบ EER โมเดล

1) Superclass และ Subclass เอนทตหนง อาจสามารถทจะจดกลมของขอมลเปนประเภทตางๆ ได อาท

เชน เอนทตพนกงาน สามารถแบงออกเปน พนกงานทเปนผ บรหาร ผ เ ชยวชาญ แรงงาน Superclass เปนเอนทตทประกอบดวย Subclass ตางๆ โดยท Subclass จะมขอมลเฉพาะของตนเอง กลาวคอ

เอนทต B เปน Subclass ของเอนทต (A) ทเปน Superclass กตอเมอ Subclass B เปนสมาชกของ Superclass A เสมอโดยมขอมลทกแอททรบวตทอยใน Superclass A และขอมลเฉพาะของ Subclass

Page 27: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

115

เชน Superclass ทประกอบดวยขอมล รหสพนกงาน ชอ วนทเรมทางาน และประกอบดวย Subclass ผบรหาร (Manager) ผ เชยวชาญ (Specialist) พนกงานแรงงาน (Labor Staff) โดยแอททรบวตของ Subclass ผบรหาร จะมขอมลเฉพาะคอ รถประจาตาแหนง เงนเดอนประจาตาแหนง Subclass ผ เชยวชาญ (Specialist) จะมขอมลเกยวกบความชานาญ คาตอบแทนสวนเพมของผ เชยวชาญ สวน Subclass พนกงานแรงงาน (Labor Staff) จะมขอมลอตราคาจางรายวน ดงรป 6.23 - รถประจาตาแหนง - ความชานาญ - คาจางรายวน - เงนเดอนประจาตาแหนง - คาตอบแทนสวนเพม

ของผ เชยวชาญ

รป 6.23

Employee รหสพนกงาน ชอ วนทเรมทางาน

Manager

Labor Staff

Specialist

Page 28: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 116

อยางไรกตาม จากทกลาวมาขอมลของเอนทตทเปน Subclass จะตองมขอมลในเอนทต Superclass แตขอมลบางสวนของ เอนทต Superclass อาจจะไมมขอมลของเอนทตทเปน Subclass ได

การออกแบบฐานขอมลโดยการจดกลมแยกเปน Subclass เพอหลกเลยงการมแอททรบวตทมากมายรวมกนในเอนทตหนง ซงขอมลของบางแอททรบวตอาจจะไมมคาเพราะไมมขอมลทเกยวของกบแอททรบวตนนๆ เชนพนกงานแรงงานจะไมมขอมลรถประจาตาแหนงหรอความเชยวชาญเฉพาะดาน ดงนนเพอใหมความเหมาะสมมากขน จงทาจดกลมออกเปน Superclassและ Subclass

2) Specialization และ Generalization Specialization เปนกระบวนการกาหนด Superclass และ Subclass ทเกยวของวาควรจะมอะไรบาง โดยพจารณาถงความแตกตางของคณลกษณะทมอย วธน เปนการออกแบบจากบนสลาง (Top–Down Approach) การแสดงความสมพนธระหวาง Superclass และ Subclass จะแสดงในลกษณะเปนลาดบชน (Hierarchy)

ตวอยางเชน Employee เปน Superclass ทประกอบดวยพนกงานทเปน ผจดการ (Manager) ผ เชยวชาญ (Specialist) และพนกงานแรงงาน (Labor Staff) ซงมรายละเอยดเฉพาะตามประเภทของพนกงาน

จากรป 6.24 ก และ 6.24 ข แสดงถงการออกแบบในลกษณะ Specialization ทแสดงวา Subclass ทเปน Manager หรอ Specialist หรอ Labor Staff เปนสมาชกของ Superclass Employee โดยจะใชเครองหมาย Subset ทางคณตศาสตร (แทนการเปนสมาชก เชน Subclass Manager เปนสมาชกของ Superclass Employee

Page 29: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

117

รป 6.24 ก

รป 6.24 ข

Employee

Manager Specialist Labor Staff

Employee

Manager Specialist Labor Staff

Employee

Manager

Specialist

Labor Staff

รป 6.24 ค

Page 30: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 118

(Manager is a member of Employee) ซงเขยนไดทงสองลกษณะ คอ ใชสญลกษณกากบแยกแตละ Subclass (รป 6.24 ก) หรอใชสญลกษณครอบทก Subclass ดงรป 6.24 ข หรอจะใชวธการเขยนโดยใชกรอบสเหลยมยอยดงรป 6.24 ค ในกรณทใชสญลกษณแบบ Crow’s Foot

สาหรบ Generalization เปนกระบวนการทพจารณาวาเอนทตตางๆ ม คณลกษณะทเหมอนกนอะไรบางทงในเรองของแอททรบวต หรอความสมพนธ วธการน เปนลกษณะการออกแบบจากลางขนบน (Bottom–Up Approach) ตวอยางเชน เมอมการพจารณาเอนทตทเปน Subclass คอ Manager หรอ Specialist และ Labor Staff วามแอททรบวตและความสมพนธอะไรทเหมอนกน เพอจะออกแบบเอนทตทเปน Superclass ได เชน Employee เปน Superclass ซงมรหส ชอพนกงาน วนทเรมทางาน ททก Subclass จะมรายละเอยดเหลานประกอบอย

3) ประเภทของ Subclass การกาหนด Subclass สามารถแบงออกไดเปน 2 ลกษณะคอ

ก. Exhaustive Subclass การออกแบบ Subclass ทสามารถระบ Subclass ของ Superclass หนงไดครบถวน ซงจะเปนลกษณะของระบบทมโครงสรางทด ทาใหผออกแบบสามารถระบวา Superclass หนง สามารถแบงออกเปน Subclass ใดบาง บางครงเรยกวา Complete Subclass

Page 31: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

119

ข. Non-Exhaustive Subclass

การออกแบบ Subclass ทไมสามารถระบ Subclass ของ Superclass ได ครบถวน อาจจะมบาง Subclass ทยงไมไดระบ ตวอยางเชน พาหนะเปน Superclass ทประกอบดวย Subclass คอ รถบรรทก (Truck) จกรยานยนต (Motor Cycle) รถยนต (Automobile) และอาจจะม Subclass อนๆ ไมใชสามประเภทขางตนบางครงเรยกการออกแบบในลกษณะนวาเปน Incomplete Subclass

4) ความสมพนธระหวาง Superclass และ Subclass

ความสมพนธระหวาง Superclass และ Subclass สามารถระบวาเปน

สมาชกของ Superclass (ISA อานวา is a member of) ลกษณะของความสมพนธแบงไดเปนดงน

ความสมพนธแบบ Exclusive (Exclusive Relationship) .א หมายถง Subclass ตางๆ ของ Superclass หนง จะมความเปนอสระจากกน (Mutually Exclusive) กลาวคอ จะเปนสมาชกเพยง Subclass หนงเทานน จะเปนมากกวาหนง Subclass ไมได ความสมพนธลกษณะนบางครงเรยกวา Disjoint ตวอยางเชน พนกงานหนงคนถกจดกลมอยเพยง Subclass เดยวเทานน

ความสมพนธแบบ Exclusive จะมความสมพนธในเรองขอกาหนดของ สดสวนคารดนลลต (Cardinality Ratio) เปนแบบ 1:1 กลาวคอ ความสมพนธจาก Subclass ไปยง Superclass เปนแบบ 1 เทานน (Mandatory 1 only) ในขณะทความสมพนธจาก Superclass ไปยง Subclass อาจเปน 0 หรอ 1 กได (Optional) ทงน พนกงานบางคนอาจจะยงไมไดถกจดกลมอยใน Subclass ใด

Page 32: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 120

ข. ความสมพนธแบบ Non-Exclusive (Non-Exclusive Relationship) เปนลกษณะความสมพนธทขอมลของทเพลหนงของ Superclass ถกจดกลมใหอยไดหลาย Subclass ตวอยางเชน พนกงานหนงคน อาจเปนไดทง Manager และ Specialist ในเวลาเดยวกน การออกแบบในลกษณะนอาจจะเกดขนสาหรบองคกรทมโครงสรางซบซอน

6.6.2 ขอกาหนดของ Superclass และ Subclass

จากความสมพนธระหวาง Superclass และ Subclass สามารถระบขอกาหนด(Constraint) ไดดงน

1) ขอกาหนดในการเปนสมาชกแบงออกเปน

ก. Disjoint Constraint

เปนขอกาหนดท Subclass หนงสามารถเปน Subclass ของ Superclass ไดเพยง Subclass เดยวเทานน (Mutually Exclusive Relationship) การโมเดลโดยใชสญลกษณ ของ Chen จะใชสญลกษณเขยนใน EER โมเดลดวยสญลกษณวงกลม และมอกษร d กากบ( )

ตวอยางเชน พนกงานคนหนงจะเปนสมาชกไดเพยง Subclass เดยว การ เขยน EER โมเดล เปนดงรป 6.25

d

Page 33: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

121

รป 6.25

สาหรบการโมเดลในลกษณะ Crow’s Foot จะเปนดงรป 6.26

รป 6.26

Employee

Manager Labor Staff Specialist

d

Position Car Position Salary Skill Salary Wage Rate

Employee

Manager

Specialist

Labor Staff

Page 34: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 122

ข. Overlapping Constraint

เปนขอกาหนดท Subclass หนงสามารถเปน Subclass ของ Superclass ไดมากกวาหนง Subclass (Non-Exclusive Relationship) ซงการออกแบบในลกษณะน จะตองระมดระวงวาในทางปฏบตจรง Subclass ทแทจรงคออะไร มการออกแบบโดยการกาหนดใหอยใน Subclass ทไมเกยวของหรอไม เนองจากจะทาใหโมเดลขอมลมความซบซอนมาก การโมเดลดวยสญลกษณของ Chen จะใชสญลกษณทเขยนใน EER โมเดล ดวยสญลกษณวงกลม และมอกษร O กากบ ( )

ตวอยางเชน พนกงานคนหนงจะเปนสมาชกไดมากกวาหนง Subclass การเขยน EER โมเดล จะเปนดงรป 6.27

รป 6.27

Manager Labor Staff Specialist

O

Position Car Position Salary Skill Salary Wage Rate

O

Employee

Page 35: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

123

สาหรบการโมเดลโดยใช Crow’s Foot จะเปนดงรป 6.28

รป 6.28

2) Participation Constraint Participation Constraint สามารถเปนไดทง Total หรอ Partial Constraint

เชนเดยวกบ E–R โมเดล ดงนน ขอกาหนดทสามารถระบใหกบความสมพนธของ Superclass และ Subclass ทเกดขนในกระบวนการ Specialization ของ EER โมเดล อาจเปนไดหลายลกษณะ

Disjoint และ Total Participation หมายถง พนกงานตองเปนสมาชกเพยง Subclass เดยว

Disjoint และ Partial Participatin หมายถง พนกงานทกคนเปนสมาชกเพยง Subclass เดยวและอาจมพนกงานบางคนไมสงกด Subclass ใด

Overlapping และ Total Participation หมายถง พนกงานทกคนจะตองเปนสมาชกอยางนอยหนง Subclass หรอมากกวาได

Employee

Manager

Specialist

Labor Staff

Page 36: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 124

Overlapping และ Partial Participation หมายถง พนกงานเปนสมาชกไดหลาย Subclass และอาจมพนกงานบางคนทไมสงกด Subclass ใด

6.7 กรณศกษา

จากกรณศกษาทไดใชเปนตวอยางในการวเคราะหความตองการขอมลในบทท 4

ซงเปนบรษททมการสงซอสนคาจากผผลต เพอขายสนคาใหลกคา โดยมการปอนขอมลตางๆ ในลกษณะ Online รายละเอยดขอมลเพมเตม มดงนคอ

1. ขอมลเกยวกบสนคา (Product) และผผลต (Supplier)

สนคาจะถกปอนขอมลเขาหนาจอ ประกอบดวยขอมล รหสสนคา (Prodno) รายละเอยด (Prodname) ราคาตอหนวย (Cost) และจานวนสนคาทสงซอ (Qty)

ขอมลของสนคานาไปจดทาขอมลในเรองการเพม ลบ ปรบปรงขอมลสนคาและการจดทารายงานสรปสนคาคงเหลอ

สนคาหนงจะสงซอจากผ ผลตรายเดยว แตผ ผลตหนงราย อาจจะผลตสนคาหลายชนด ขอมลของผผลตประกอบดวย รหสผผลต (Sno) ชอ-สกลผผลต (Sname) ทอย (Address) โทรศพท (Telno)

Product Data

Prodno : Prodname : Cost : Qty :

Page 37: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

125

2. ขอมลคาสงซอของลกคา (Order)

คาสงซอของลกคาจะปอนขอมลเขาสระบบ จากขอมลในแบบฟอรมคาสงซอจะ นามาออกใบกากบสนคา (Invoice) ตามแบบฟอรม

Invoice Orderno : ………… Cust_no : ………….… Name : ……………... Emp_no : …………….. Address : ……………………………………………… Order Date : ………… Prod_no Prod_name Qty Price รวมมลคา

สวนลด

รวมการสงซอ

ขอมลคาสงซอของลกคาประกอบดวย รหสคาสงซอ (Orderno) ของลกคา วนทไดรบคาสงซอ (Orderdate) พนกงานทรบคาสงซอ (Emp_no) นอกจากนยงมรายละเอยดรหส ชอ และทอยลกคา รวมถงรายละเอยดสนคาทสงซอ ซงการสงซอแตละครงสามารถสงซอสนคาไดมากกวาหนงชนด โดยเมอมการสงสนคากจะทาใบกากบสนคา (Invoice) เพอเรยกเกบเงนจากลกคา

นอกจากนยงมการประมวลรายการเพอสอบถามขอมลเกยวกบสวนลดของลกคา และรายงานกาหนดการสงสนคาใหลกคา และรายงานสรปการสงซอของลกคาแตละราย

Page 38: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 126

3. ขอมลพนกงาน

ขอมลพนกงานประกอบดวยขอมลรหสพนกงาน ชอพนกงาน วนทเรมเขาทางาน ตาแหนง พนกงานทกคนในบรษทจะทางานสงกดเพยงแผนกเดยวเทานน โดยบางแผนกทเรมตงใหมอาจจะไมมพนกงานกได และพนกงานทกคนจะมผบงคบบญชา ยกเวนเจาของบรษท

นอกจากนพนกงานบรษทของบรษทสามารถจดเปน 2 กลม คอ กลมเทคนค (Technic) และกลมบรหารทวไป (Administration) โดยกลมเทคนคจะมขอมลเฉพาะเกยวกบความสามารถเฉพาะดาน (Skill) และคาตอบแทนผ เชยวชาญ (Skill_Allowance) สวนกลมบรหารทวไปจะมขอมลเฉพาะเกยวกบเงนเดอนผบรหาร (Admin_Salary) โดยพนกงานหนงคนจะอยเพยงกลมเดยวเทานน

4. ขอมลเกยวกบลกคา (Customer)

ขอมลลกคาทตองจดเกบ ประกอบดวย รหสลกคา (Custno) ชอ-สกลลกคา (Custname) ทอย (Address) โทรศพท (Telno) ประเภทลกคา (Cust_type) และอตราสวนลด (Discount_rate) การขายสนคาใหลกคาจะเปนการขายเชอ โดยลกคาแตละประเภทจะไดอตราสวนลดทแตกตางกน

Customer Custno : Custname : Address : Telno : Cust_type : Discount_rate :

Page 39: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

127

5. ขอมลแผนก

ประกอบดวย รหสแผนก ชอแผนก และสถานทตงของแผนกนน ๆ เนองจากบรษทมสานกงานอยหลายแหง ทก ๆ สนปจะมรายงานสรปเงนเดอนแยกตามแผนกโดยทาการคานวณภาษหก ณ ทจาย (Tax) รายป ดงน

รายงานสรปเงนเดอน

ชอแผนก ชอพนกงาน เงนเดอน ภาษ เงนเดอนสทธ

----------- -------------- ----------- ------ ------ -------------- ----------- ------ ------ รวม ----------- ------ ------

----------- -------------- ----------- ------ ------ -------------- ----------- ------ ------ รวม ----------- ------ ------

จากขอมลขางตน ใหออกแบบฐานขอมลในระดบแนวคด และวาด E-R โมเดลทใชสญลกษณแบบ Chen และแบบ Crow’s Foot พรอมระบเคารางฐานขอมล

ขนตอนการออกแบบดวย E-R โมเดล

1. ระบเอนทต จากการวเคราะหแผนภมแสดงกระแสขอมลและขอมลเพมเตม ฐานขอมลน

ประกอบดวย 6 เอนทต ดงน

Page 40: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 128

- Employee ประกอบดวย Subclass ชอ Technic และ Administration

- Department - Customer - Order - Product - Supplier

2. กาหนดความสมพนธ ความสมพนธระหวางเอนทตของฐานขอมล เปนดงน เอนทต ความสมพนธ เอนทต Cardinality Ratio Participation*

Department Has Employee l:N T:P Employee Receive Order l:N T:P Manager_of Employee l:N P:P Customer Place Order l:N T:P Order Has Product M:N P:T Supplier Sell Product I:N T:P Employee Member of Technic 1:1 T:P Employee Member of Administration 1:1 T:P

* P หมายถง Partial Participation (Optional) T หมายถง Total Participation (Mandatory)

Page 41: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

129

3. กาหนดแอททรบวตของแตละเอนทต หรอ Superclass / Subclass

เอนทต / Superclass / Subclass

แอททรบวต คาอธบาย

Employee Empno Empname Hiredate Position

รหสพนกงาน ชอพนกงาน วนทเรมทางาน ตาแหนงงาน

Department Depno Depname Location

รหสแผนก ชอแผนก สถานททตงของแผนก

Customer Custno Custname Address Telno Cust_type Discount_rate

รหสลกคา ชอลกคา ทอย หมายเลขโทรศพท ประเภทของลกคา อตราสวนลด

Order Orderno Orderdate Orderqty Orderprice Prodno

รหสคาสงซอ วนทสงซอ จานวนทสงซอ ราคาทสงซอ รหสสนคา

Product Prodno Prodname Cost Balance

รหสสนคา ชอสนคา ราคาตนทน จานวนสนคา

Page 42: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 130

เอนทต / Superclass / Subclass

แอททรบวต คาอธบาย

Supplier Sno Sname Address Telno

รหสผผลต ชอผผลต ทอย หมายเลขโทรศพท

Technic Skill Skill_Allowance

ความเชยวชาญ คาตอบแทนผ เชยวชาญ

Administration Admin_Salary เงนเดอนผบรหาร

4. กาหนดคยหลกและคยสารองของแตละเอนทต

เอนทต คยหลก (Primary Key)

คยสารอง (Alternate Key)

Employee Empno

Department Depno Depname

Customer Custno

Order Orderno

Prodno

Product Prodno Prodname

Supplier Sno Sname

จากขอมลการออกแบบในขนตอนท 1-4 จะได EER โมเดลเบองตนดงรป 6.29 ก (แบบ Chen) และ 6.29 ข (แบบ Crow’s Foot) ดงน

Page 43: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

131

Sno Sname Address

TelnoSupplier

Sell

Product

Pro

dno

Pro

dnam

e

Cos

t

Bal

ance

Has Order

Orderno Prodno

Place

CustomerCustno Discount_rate

Custname

Address Telno

Cust_type

Orderqty

Orderdate

Orderprice

Receive

Department

Location

Depname

Depno

Has

Employee

Position

Hiredate

EmpnameEmpno

d

Manager_of

Technic Administration

Skill

SkillAllowance

Admin-Salary

N

1N

1

1

1

N

N

NM

1

N

รป 6.29 ก : E-R โมเดลแบบ Chen

Page 44: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 132

รป 6.29 ข : E-R โมเดลแบบ Crow’s Foot

Employee Empno Empname Hiredate Position

Order Orderno Prodno Orderdate Orderqty Orderprice

Department Depno Depname Location

Customer Custno Custname Address Telno Cust_type Discount_rate

Supplier Sno Sname Address Telno

Product Prodno Prodname Cost Balance

Has

Technic

Skill Skill_Allowance

Administration Admin_Salary

Has

Sell

Supervisor Supervisee

Member of Member of

Place

Receive

Page 45: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล

133

6.8 บทสรป E-R โมเดล ชวยในการออกแบบฐานขอมลในระดบแนวคด (Conceptual Database Design) ซงผออกแบบจะตองศกษาถงความตองการของระบบและแนวทางในทางปฏบตวาเปนอยางไร เพอจะไดกาหนดเอนทตความสมพนธระหวางเอนทต รายละเอยดแอททรบวต การกาหนดแอททรบวตทเปนคย รวมถง ขอกาหนดอนๆ ทงน เพอประโยชนในการนา E-R โมเดลไปแปลงใหเหมาะสมกบโมเดลทระบบจดการฐานขอมลใชนอกจากนหากเปนการออกแบบทซบซอน ผออกแบบสามารถใช EER โมเดล เพอวเคราะหการออกแบบทประกอบดวย Superclass หรอ Subclass ใหละเอยดมากขนดวยกระบวนการ Specialization (Top-Down) หรอ Generalization (Bottom-up)

แบบฝกหด

6.1 จากรปดงกลาวเปนการโมเดลขอมลดวย E-R ทเกดปญหาอะไร ใหใช Semantic Net ในการวเคราะห พรอมขอเสนอแนะในการปรบ E-R โมเดลใหเหมาะสม

6.2 จากแบบฝกหดในขอ 4.1 ซงไดจดทาแผนภมแสดงกระแสของขอมลเบองตนไปแลว นน รายละเอยดขอมลทตองการจดเกบในระบบการใหเชาหอพกเพมเตม

(Database Requirement) มดงตอไปน

1) หอพกใหเชาแตละแหงจะมพนกงานของบรษทประจาการอยทกสาขา 2) บรษทแหงน มสานกงานยอยประจาอยทกหอพก ขอมลทควรจดเกบของ

สานกงานยอยบรษท (Branch) คอ รหสสาขา (Branch_no) ทอย (Address) หมายเลขโทรศพท (Tel_no) และหมายเลขโทรเลข (Fax_no)

Manufacturer Product

Department_Store

Produce

Supply Sold in

Page 46: บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1. 6. · E-R โมเดล 89 บทท่ี 6 E-R โมเดล 6.1 บทนํา

E-R โมเดล 134

3) ขอมลทเกยวกบพนกงาน (Employee) ประกอบดวย รหสพนกงาน (Empno) ชอสกลพนกงาน (Empname) ทอย (Address) ตาแหนงงาน (Position) และ เงนเดอน (Salary) และวนทเรมทางาน (Hiredate) พนกงานบางคนหากไดรบมอบหมายใหดแลหอพก จะดแลเพยงหอพกเดยว

4) หอพกใหเชา (Apartment_for_Rent) ประกอบดวยขอมล รหสหอพก (Apt_no) ประเภทของหอพก (Type) เลขทหองพก (Room_no) อตราคาเชารายเดอน (Rent_rate) และสถานะของหองวาวางหรอไม (Status) การเชาจะทาสญญาเปนรายป

5) ผ เชา (Renter) ประกอบดวยขอมล รหสผ เชา (Renter_no) ชอ-สกลผ เชา (Name) ทผ เชาอย (Address) หมายเลขโทรศพท (Tel_no)

6) บรษทจะทาการโฆษณาประชาสมพนธการใหเชาหอพกในสอ (Advertising _Media) ขอมลทจดเกบประกอบดวย รหสการลงโฆษณา (Advert_no) ชอสอ(Media_name) ชอบคคลทตดตอได (Contact_person) วนทลงโฆษณา (Advert_date) ทอย (Address) หมายเลขโทรศพท (Tel_no) หมายเลขโทรสาร (Fax_no) และคาโฆษณา (Cost) โดยหอพกหนงอาจจะลงโฆษณาในหลายสอและสอหนงๆ อาจจะทาประชาสมพนธใหหอพกหลายแหง

7) ผสนใจจะเชาจะตองทาสญญาเชา (Rental_agreement) ขอมลของการทาสญญาประกอบดวย รหสสญญาเชา (Rent_no) วนทเรมเชา (Rent_start) วนสนสด (Rent_end) โดยการเชาหอพกจะมการทาสญญามากกวาหนงฉบบได ถาหากมการตอสญญา

คาสง : ใหออกแบบฐานขอมลในระดบแนวคด ดวย E-R โมเดล โดยใชสญลกษณแบบ Crow’s Foot และในสวนของเอนทตใหแสดงเฉพาะชอเอนทต และแอททรบวตท เปนคยหลก พรอมแสดงรายละเอยดเคารางประกอบ