|
|
Effect of functional dependencies:
|
|
Example:
Employee2(SSN, FName, LName, DNumber, DName, MgrSSN) Functional dependency: DNumber → DName |
|
|
Employee2(SSN, FName, LName, DNumber, DName, MgrSSN) Functional dependencies: SSN → FName, LName, DNumber, DName, MgrSSN DNumber → DName, MgrSSN |
The complete list of functional dependencies is actually as follows:
SSN → FName SSN → LName SSN → DNumber SSN → DName SSN → MgerSSN DNumber → DName DNumber → MgrSSN |
R1(SSN, FName, LName, DNumber) R2(DNumber, DName, MgrSSN) |
Now consider whether each of the (original) functional dependencies was preserved:
SSN → FName preserved in R1 SSN → LName preserved in R1 SSN → DNumber preserved in R1 SSN → DName preserved in R1 SSN → MgerSSN preserved in R1 DNumber → DName preserved in R2 DNumber → MgrSSN preserved in R2 |
|
TJS(Teacher, Subject, Student) Functional dependencies: Student, Subject → Teacher Teacher → Subject |
The complete list of functional dependencies is as follows:
Student, Subject → Teacher Teacher → Subject |
R1(Student, Teacher) R2(Teacher, Subject) |
Now consider whether each of the (original) functional dependencies was preserved:
Student, Subject → Teacher lost !!! (Student, Subject are not found in same relation together !) Teacher → Subject preserved in R2 |
|
|
|
|
|
|
|