Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
สรปขนตอนการสราง E-R Diagram
1. ก ำหนดวำมเอนทตอะไรบำง2. ก ำหนดควำมสมพนธระหวำงเอนทต3. ก ำหนดแอทรบวตของเอนทตใหครบ4. พจำรณำแอทรบวตทขนกบควำมสมพนธ5. เลอกคยหลก
Step 1 Entity
Students
S_ID
First name Last_name
BirthYear
Students
S_ID First_name Last_name BirthYear
⚫ ขนตอนการแปลง Entity
กรณ Simple Attribute
- สรางตารางส าหรบ Entity
- ชอของตาราง น ามาจาก ชอของ Entity
- ชอของคอลมน น ามาจากชอของ Attribute ของ Entity
- Primary Key ของ ตาราง น ามาจาก Primary Key ของ Entity
Step 1 Entity
ขนตอนการแปลง Entity
กรณ Composite Attributes
- น าเพยงแอตทรบวตแบบ simple ทบรรจอยในแอตทรบวตแบบ Composite มาเทานน
Customer
cus_ID
First_name Last_name
Address
Customer
cus_ID First_name Last_name street city State zipcode
street city
state
ZipCode
Step 1 Entity
⚫ ขนตอนการแปลง Entity กรณ Multivalued Attribute
- ตองมการสรางรเลชนสองรเลชน
- รเลชนแรกจะบรรจคาแอตทรบวตทมอยใน Entity ทงหมด ยกเวนแอตทรบวตทเปนแบบ Multivalued
- รเลชนทสองใหบรรจ 2 แอตทรบวต
- แอตทรบวตแรกคอ คยหลกทอยในรเลชนแรก
- แอตทรบวตสอง คอ แอตทรบวตทเปน Multivalued
Students
S_ID
First_name Last_name
Tel
Students
S_ID First_name Last_name
Tel
Students_Tel
S_ID Tel
Multivalued Attributes- Relational Model จะยอมใหมเพยง 1 ขอมลในแตละ attribute- Multivalued attribute ใน ER Model จะถกสรางเปนตารางใหม เพอเกบขอมลโดยเฉพาะ
Instructor
ID
Name
Tel
Instructor
ID Name
Degrees
Instructor_degree
ID Degree
Step 2 Weak Entity
ขนตอนการแปลง Weak Entity
⚫ - สรำงตำรำงใหมส ำหรบ Weak Entity น ำ Primary Key จำก Master Entity มำเปน Primary Key รวมกบ Primary Key เดมของ Weak Entity
⚫ Attribute นนจะมำเปน Foreign Key ส ำหรบชไปยง ตำรำงของ Master Entity
Step 2 Weak Entity
EMPLOYEE
emp_ID emp_firstName emp_LastName
DEPENDENT
firstName lastname emp_ID birthDate gender
EMPLOYEE
emp_ID
emp_firstName
claims
emp_LastName
1 M
dependentnamebirthDate
gender
First Name
LastName
DEPENDENT
Step 2 Weak Entity
Building
Building_name …
Room
Building_name Room_number …
Building
Building_name
has1 M
Room
… Room_number …
Step 3 : One-to-Many Relationship
แปลงความสมพนธแบบ One-to-Many
- น ำ Primary Key ฝง One ไปเพมเปนคอลมน ในฝง Many- คอลมน นนจะเปน Foreign Keyอำงถง Primary Key ของตำรำงทตองกำรอำงถง(ฝง One)- กำรแปลง Many-to-One กกระท ำอยำงเดยวกน
Step 4 : Many -to-Many Relationship
⚫ แปลงความสมพนธแบบ Many-to-Many
- สรำงตำรำงของควำมสมพนธขนมำ 1 ตำรำงเพอเกบPrimary Key ของทง 2 ตำรำง- คอลมนทไดใหมทง 2 คอลมนจะเปน Foreign Key ชไปยงตำรำงทดงมำ - ใช Entity ใหม ทไดมำเปนทง 2 Entity เปน Primary Key ของตำรำงควำมสมพนธ
Step 4 : Many -to-Many Relationship
STUDENT
S_ID …
STUDENT
S_ID
takesM N
COURSE
C_ID…
…
COURSE
C_ID …
STUDENT_COURSE
S_ID C_ID
STUDENT
S_ID
takes1 M M 1
COURSE
C_ID ……
Step 4 : Many -to-Many Relationship
STUDENT
S_ID …
STUDENT
S_ID
takesM N
COURSE
C_ID…
…
COURSE
C_ID …
STUDENT_COURSE
S_ID C_ID Registration_date
STUDENT
S_ID
takes1 M M 1
COURSE
C_ID ……
Registration_date
Registration_date
ขอสงเกต
ขอสงเกต
⚫ คอลมนของตำรำงทคลำยๆ กน ควรมชอทแตกตำงกน⚫ เชน ID เปนชอของ Primary Key ของตำรำง 2 ตำรำง 1 ใน 2
ตำรำงนนควรจะเปลยนชอกอนทจะเพมตำรำงใหมลงไป⚫ กำรเปลยนควรจะ ท ำโดยกำรเพมชอของ Entity ลงไป ใน ชอ
Attribute นน เชน Student_id, Instructor_id
ขอสงเกต
Step 5 : One-to-One Relationship
โดยทวไป กำรแปลงเหมอนกบกำรแปลงแบบ One-to-Many Relationship คอ เพม Primary Key จำกดำนใดดำนหนงไปเปน Attribute ของอกดำน
Step 5 : One-to-One Relationship
⚫ ส ำหรบกำรออกแบบทดขน กำรแปลง One-to-One Relationship จะแบงออกเปน 3 กรณ
Step 5 : One-to-One Relationship
⚫ Transforming One-to-One Relationship : (0,1) และ (1,1)
- จะดทสดถำน ำ Primary Key ฝง (0,1) ไปเพมเปน Attribute ทำงฝง (1,1) เพอหลกเลยง Null
Step 5 : One-to-One Relationship
⚫ Transforming One-to-One Relationship : (0,1) และ (0,1)
⚫ - น ำ Primary Key ของฝงใดฝงหนง ไปเปน attribute ของอกฝงหนง(ไมสำมำรถหลกเลยงคำ Null ได
Step 5 : One-to-One Relationship
⚫ หรอเปลยนควำมสมพนธใหเปนตำรำงใหม โดยน ำ Primary Keyของทง 2 ฝงไปเปน attribute เพอหลกเลยงคำ Null
Step 5 : One-to-One Relationship
Transforming One-to-One Relationship : (1,1) และ (1,1)- รวม 2 ตารางเปน 1 ตาราง- เลอก Primary key จาก Primary Key ของตารางใดตารางหนง- Primary Key ของตารางทเหลอจะเปน Alternate Key
Step 6 : การแปลงความสมพนธแบบ Unary
❖ ความสมพนธแบบ Unary เปนความสมพนธระหวางเอนทตเดยว หรอเรยกวา ความสมพนธแบบรเคอรซพ
❖ ความสมพนธ❖ ความสมพนธแบบ Unary ชนดหนงตอกลม (1:M)❖ ความสมพนธแบบ Unary ชนดกลมตอกลม (M:N)
Step 6 : การแปลงความสมพนธแบบ Unary
❖ ความสมพนธแบบ Unary ชนดหนงตอกลม (1:M)
EMPLOYEE
emp_ID emp_Name birthDate managerID
EMPLOYEE
emp_ID
manages
M
1
emp_Name
birthDate
Step 6 : การแปลงความสมพนธแบบ Unary❖ ความสมพนธแบบ Unary ชนดกลมตอกลม (M:N)
ITEM
item_ID item_Name unitCost
ITEM
item_No
contains
N
M
item_Name
unitCost
quantity
ITEM_Component
item_ID Component_NO quantity
❖ จะตองสรางรเลชน 2 รเลชนดวยกน
❖ โดยรเลชนแรกจะมคยหลกพรอมแอตทรบวตทเกยวของ
❖ สวนอกรเลชนประกอบดวย 2 แอตทรบวตทใชเปนคยหลก ซงแอตทรบวททง 2 กคอคาขอมลเดยวกนกบคยหลกในเอนทตแรก แตเปลยนชอใหแตกตางกน
Step 7 : การแปลงความสมพนธแบบ Ternary (and n-ary)❖ ความสมพนธแบบ Ternary เปนความสมพนธระหวางเอนทต 3 ตว
ดวยกน
PATIENT
patient_ID
Patient_Treatment
M
patient_Name
PHYSICAIN
physician_IDphysician
_Name
M
TREATMENTtreatmentCode description
Mresults date
time
Step 7 : การแปลงความสมพนธแบบ Ternary (and n-ary)❖ ขนท 1 ในการแปลง
PATIENT
patient_ID
Patient_Treatment
1 M
patient_Name
PHYSICAIN
physician_IDphysician
_Name
M 1
TREATMENTtreatmentCode description
M
1results date
time
Step 7 : การแปลงความสมพนธแบบ Ternary (and n-ary)
PATIENT
patient_ID patient_Name
PHYSICIAN
physician_ID physicianName
❖ จะตองสรางรเลชน 4 รเลชนดวยกน
❖ โดยจะมเอนทตหนงเชอมโยงระหวาง 3 เอนทตเขาดวยกน
❖ เอนทตนนจะน าคยหลกใน 3เอนทตมาเปนคยหลก และอาจเพมเตมคยหลกได
❖ ขนท 2 ในการแปลง
PATIENT_TREATMENT
patient_ID physician_ID treatmentCode date time results
TREATMENT
treatmentCode description
Step 8 : การแปลงความสมพนธแบบ Supertypeและ Subtype
❖ ปกตแลวแบบจ าลองขอมลเชงสมพนธจะไมสนบสนนความสมพนธแบบ Supertype/Subtype แตอยางไรกตาม กยงมแนวทางในการออกแบบเพอรองรบความสมพนธดงกลาวไดดงน❖ ใหสรางรเลชนแยกออกตางหาก ส าหรบซเปอรไทปและแตละซบไทป❖ แอตตรบวตของซบไทปจะไดรบการถายทอดจากรเลชนทเปนซเปอร
ไทป รวมถงแอตตรบวตทเปนคยหลกดวย❖ ก าหนดคยหลกใหกบแตละรเลชนทเปนซบไทป โดยจะตองมแอตตร
บวตทแตกตางกน เพอใชระบความแตกตางของแตละซบไทป❖ ก าหนด Subtype Discriminator ใหกบ Supertype
Step 8 : การแปลงความสมพนธแบบ Supertype และ Subtype
empNo
hourlyRatesalary
SALARIED_EMP HOURLY_EMP
EMPLOYEE
d
CONSULTANT
bonus
name address
dataHired
contractNo BillingRate
Step 8 : การแปลงความสมพนธแบบ Supertype และ Subtype
HOURLY_EMP
hempNo hourlyRate
SALARIED_EMP
sempNo salary bonus
EMPLOYEE
empNo name address dataHired
CONSULTANT
cempNo contractNo BillingRate
ปญหาในออารโมเดล (Problem with ER Model)
เปนปญหาทเกดจากในขนตอนการออกแบบในเชงความคดหรอทางลอจคอล เปนการสรางความสมพนธระหวางเอนตตทผดกอใหเกดการแปลความหมายความสมพนธสมพนธผดพลาดได โดยความผดพลาดหรอปญหาใน ER Model จะมอยสองรปแบบดวยกนคอ
1. Fan Traps
2. Chasm Traps
ปญหาจากการออกแบบฐานขอมลดวยอ-อารโมเดล
1. Fan Trap เปนปญหาทเกยวของกบลกษณะการจดความสมพนธระหวางเอนทต ท าใหเกดความไมชดเจนในการแสดงขอมลทสนใจออกมา ซงมกพบในกรณทเอนทตหนงมความสมพนธแบบหนงตอกลมกบเอนทตอนตงแตสองเอนทตขนไป
ตวอยางปญหา Fan Trap สถาบนการศกษาแหงหนงเปดท าการสอนหลายคณะ โดยในแตละคณะประกอบดวยภาควชาตาง ๆ หลายภาควชา และอาจารยหลายคน ซงอาจารยแตละคนจะสงกดคณะใดคณะหนงเทานน หากก าหนดใหความสมพนธระหวางแตละเอนทตเปนดงน
อาจารยสงกดภาควชาใด?? เนองจากไมมความสมพนธระหวางเอนทตภาควชา
ปญหาจากการออกแบบฐานขอมลดวยอ-อารโมเดล
2. Chasm Trap เปนปญหาทเกยวของกบการแสดงขอมลทควรจะมไมได หรอไมสามารถเชอมโยงเพอใหไดขอมลทครบถวนได โดยปญหานมกพบเมอเอนทตหนงมความสมพนธกบเอนทตอนตงแตสองเอนทต ขนไป แตไมสามารถเชอมโยงความสมพนธระหวางขอมลได
ตวอยาง Chasm Trap ก าหนดใหแตละภาควชาประกอบดวยอาจารยหลายคน ซงอาจารยแตละคนจะสงกดภาควชาใดภาควชาหนงเทานน และอาจารยแตละคนอาจท าการสอนไดมากกวาหนงชดวชา โดยแตละชดวชาอาจมอาจารยผสอนมากกวาหนงคนกได หากก าหนดใหความสมพนธระหวางแตละเอนทตเปนดงน
ถำชดวชำไมเคยเปดสอน กจะไมมอำจำรยคนใดสอน ท ำใหไมทรำบวำชดวชำนนอยในภำควชำใด
แบบฝกหด
1. จงวำดรป ER Diagram ของระบบรำนเชำวดโอแหงหนง ประกอบดวย
⚫ แฟมสมำชก(member) ขอมลทเกบ รหสลกคำ , ชอ , ทอย,เบอรโทร⚫ แฟมชอเรอง(title) ขอมลทเกบ รหสเรอง, ชอเรอง , ผก ำกบ ,
นกแสดง (Mutivalue attribute)⚫ แฟมประเภท(category) ขอมลทเกบ รหสประเภท,รำยละเอยดจำกนนใหแปลง ER Diagram ขำงตน ใหเปนตำรำงใหถกตอง
2. จงแปลง ER Diagram ตอไปนใหเปนตาราง
NM 1 M
M
1
3. จงแปลง ER Diagram ตอไปนใหเปนตาราง
อำจำรยทปรกษำ
นกศกษำประวตนกศกษำ วชำม ลงทะเบยน
ม
รหสอำจำรยชออำจำรย หองพก
เลขทบตร วนเกด
เชอชำต ทอย
วนทเขำเรยน
รหสนกศกษำ ชอ
คณะ
ชนป
รหสวชำ
ชอวชำ
หนวยกต
11 M N
M
1
4. จงแปลง ER Diagram ตอไปนใหเปนตาราง
M N
1
MM N