บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 1....
Transcript of บทท่ี 6 E-R โมเดลstd.bus.tu.ac.th/web04/images/DBMS/dbms6.pdf · 2013. 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) เพอใชในการออกแบบฐานขอมลทมความซบซอนมากขน
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
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 โมเดล จะตองวเคราะหถงความสมพนธระหวางเอนทตตางๆ ของฐานขอมล ความสมพนธเหลานสามารถนาไปออกแบบเคารางของฐานขอมลเพอกาหนดคยนอกทใชอางองขอมลระหวางเอนทตทสมพนธกน
ลกษณะของความสมพนธตามจานวนเอนทตทสมพนธกน แบงออกไดเปนดงน
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
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
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
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
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
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
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
E-R โมเดล
99
สญลกษณ ความหมาย
เปน Composite Entity หรอ Gerund ทจะแปลงความสมพนธของเอนทตแบบ M:N ใหเปน 1:N
แอททรบวต
แอททรบวตทมหลายคา (Multivalued Attribute)
แอททรบวตทเปนคยหลก
แอททรบวตผสม (Composite Attribute)
แอททรบวตทแปลคามา (Derived Attribute)
รป 6.10 สญลกษณในการโมเดล E-R แบบ Chen (ตอ)
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
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 ชอความสมพนธ
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 ชอความสมพนธ
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
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
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
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) กาหนดคยของแตละเอนทตวา จะใชรายละเอยดของขอมลใดเปนคยของ เอนทตนน ๆ ซงจะตองเปนรายละเอยดของขอมลทมคาเปนเอกลกษณ หรอคาเฉพาะไมซาซอนในเอนทตนน ๆ
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
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
บญช
ตลาด
การเงน
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
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
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
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
E-R โมเดล
113
ความสมพนธ ความสมพนธ Department (Employ) Employee (Oversee) Project
รป 6.22
บญช
ตลาด
การเงน
r1
r2
r3
ก
ข
ค
r4
r5
Proj1
Proj2
Proj3
r6
r7
r8
ความสมพนธ (Has)
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
E-R โมเดล
115
เชน Superclass ทประกอบดวยขอมล รหสพนกงาน ชอ วนทเรมทางาน และประกอบดวย Subclass ผบรหาร (Manager) ผ เชยวชาญ (Specialist) พนกงานแรงงาน (Labor Staff) โดยแอททรบวตของ Subclass ผบรหาร จะมขอมลเฉพาะคอ รถประจาตาแหนง เงนเดอนประจาตาแหนง Subclass ผ เชยวชาญ (Specialist) จะมขอมลเกยวกบความชานาญ คาตอบแทนสวนเพมของผ เชยวชาญ สวน Subclass พนกงานแรงงาน (Labor Staff) จะมขอมลอตราคาจางรายวน ดงรป 6.23 - รถประจาตาแหนง - ความชานาญ - คาจางรายวน - เงนเดอนประจาตาแหนง - คาตอบแทนสวนเพม
ของผ เชยวชาญ
รป 6.23
Employee รหสพนกงาน ชอ วนทเรมทางาน
Manager
Labor Staff
Specialist
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
E-R โมเดล
117
รป 6.24 ก
รป 6.24 ข
Employee
Manager Specialist Labor Staff
Employee
Manager Specialist Labor Staff
Employee
Manager
Specialist
Labor Staff
รป 6.24 ค
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
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 ใด
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
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
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
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
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 :
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) เพอเรยกเกบเงนจากลกคา
นอกจากนยงมการประมวลรายการเพอสอบถามขอมลเกยวกบสวนลดของลกคา และรายงานกาหนดการสงสนคาใหลกคา และรายงานสรปการสงซอของลกคาแตละราย
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 :
E-R โมเดล
127
5. ขอมลแผนก
ประกอบดวย รหสแผนก ชอแผนก และสถานทตงของแผนกนน ๆ เนองจากบรษทมสานกงานอยหลายแหง ทก ๆ สนปจะมรายงานสรปเงนเดอนแยกตามแผนกโดยทาการคานวณภาษหก ณ ทจาย (Tax) รายป ดงน
รายงานสรปเงนเดอน
ชอแผนก ชอพนกงาน เงนเดอน ภาษ เงนเดอนสทธ
----------- -------------- ----------- ------ ------ -------------- ----------- ------ ------ รวม ----------- ------ ------
----------- -------------- ----------- ------ ------ -------------- ----------- ------ ------ รวม ----------- ------ ------
จากขอมลขางตน ใหออกแบบฐานขอมลในระดบแนวคด และวาด E-R โมเดลทใชสญลกษณแบบ Chen และแบบ Crow’s Foot พรอมระบเคารางฐานขอมล
ขนตอนการออกแบบดวย E-R โมเดล
1. ระบเอนทต จากการวเคราะหแผนภมแสดงกระแสขอมลและขอมลเพมเตม ฐานขอมลน
ประกอบดวย 6 เอนทต ดงน
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)
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
รหสสนคา ชอสนคา ราคาตนทน จานวนสนคา
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) ดงน
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
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
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
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 และในสวนของเอนทตใหแสดงเฉพาะชอเอนทต และแอททรบวตท เปนคยหลก พรอมแสดงรายละเอยดเคารางประกอบ