Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

Join Dependency ใน DBMS: ความหมายและความสัมพันธ์กับ 5NF


Join Dependency คืออะไร?

ถ้าตารางสามารถสร้างใหม่ได้โดยการ Join หลายตาราง และแต่ละตารางมี Subset ของแอตทริบิวต์ของตารางต้นทาง เรียกว่า Join Dependency เป็นการสรุปทั่วไป (Generalization) ของ Multi-valued Dependency

Join Dependency เกี่ยวข้องกับ 5NF โดย Relation อยู่ใน 5NF ก็ต่อเมื่ออยู่ใน 4NF แล้ว และ ไม่สามารถแยกย่อย (Decompose) เพิ่มเติมได้

ตัวอย่าง

<Employee>

EmpName EmpSkills EmpJob (Assigned Work)
TomNetworkingEJ001
HarryWeb DevelopmentEJ002
KatieProgrammingEJ002

ตารางข้างต้นแยกเป็น 3 ตารางได้ ดังนั้นไม่อยู่ใน 5NF:

<EmployeeSkills>

EmpName EmpSkills
TomNetworking
HarryWeb Development
KatieProgramming

<EmployeeJob>

EmpName EmpJob
TomEJ001
HarryEJ002
KatieEJ002

<JobSkills>

EmpSkills EmpJob
NetworkingEJ001
Web DevelopmentEJ002
ProgrammingEJ002

Join Dependency:

{(EmpName, EmpSkills), (EmpName, EmpJob), (EmpSkills, EmpJob)}

ความสัมพันธ์ข้างต้นมี Join Dependency ดังนั้นไม่อยู่ใน 5NF Join ของ 3 Relation นี้เท่ากับ Relation ต้นทาง <Employee>