Presentation is loading. Please wait.

Presentation is loading. Please wait.

Boyce-Codd Normal Form (BCNF) Definition R in 1NF and Every determinant (the left side of a FD) is a candidate key. 1.

Similar presentations


Presentation on theme: "Boyce-Codd Normal Form (BCNF) Definition R in 1NF and Every determinant (the left side of a FD) is a candidate key. 1."— Presentation transcript:

1 Boyce-Codd Normal Form (BCNF) Definition R in 1NF and Every determinant (the left side of a FD) is a candidate key. 1

2 Not in BCNF Schedule (staffNo, dentistName, patNo, patName, surgeryNo, date, time) PK: surgeryNo, Date, Time FDs: surgeryNo, Date, Time ===> staffNo, patNo (All) staffNo, Date, Time ===> surgeryNo, patNo (All) patNo, Date, Time ===> staffNo, surgeryNo (All) (The determinants are candidate keys) staffNo ===> dentistName (transitive on PK) patNo ===> patName (transitive on PK) staffNo, Date ===> surgeryNo (surgeryNo is a PK attribute!) (The determinants are NOT candidate keys) 2

3 Different PK Schedule (staffNo, dentistName, patNo, patName, surgeryNo, date, time) PK: staffNo, date, time AK: surgeryNo, date, time patNo, date, time FK: None staffNo, Date, Time ===> patNo, surgeryNo (All) surgeryNo, Date, Time ===> staffNo, patNo (All) patNo, Date, Time ===> staffNo, surgeryNo (All) staffNo ===> dentistName (partial on PK) patNo ===> patName (transitive on PK) staffNo, Date ===> surgeryNo (partial on PK!) 3

4 Schedule (staffNo, dentistName, patNo, patName, surgeryNo, date, time) PK: surgeryNo, Date, Time FDs: surgeryNo, Date, Time ===> staffNo, patNo (All) staffNo, Date, Time ===> surgeryNo, patNo (All) patNo, Date, Time ===> staffNo, surgeryNo (All) staffNo ===> dentistName (determinant is NOT candidate key) patNo ===> patName (determinant is NOT candidate key) staffNo, Date ===> surgeryNo (determinant is NOT candidate key) New Tables in BCNF Staff (staffNo, dentistName) Patient (patNo, patName) RoomAllocation (staffNo, Date, surgeryNo) Schedule (staffNo, patNo, date, time) PK & FK! 4

5 Schedule (staffNo, patNo, date, time) PK: staffNo, date, time AK: patNo, date, time FK: staffNo references Staff patNo references Patient staffNo, Date references Room FDs: staffNo, Date, Time ===> patNo patNo, Date, Time ===> staffNo PK and AK can be switched. 5 Patient (patNo, patName) PK: patNo AK: None FK: None FDs: patNo ===> patName Staff (staffNo, dentistName) PK: staffNo AK: None FK: None FDs: staffNo ===> dentistName RoomAllocation (staffNo, Date, surgeryNo) PK: staffNo, Date AK: None FK: staffNo references Staff staffNo, Date ===> surgeryNo

6 6 Staff (staffNo, dentistName) PK: staffNo AK: None FK: None FDs: staffNo ===> dentistName staffNo dentistName ------------- -------------------- S1011 Tony Smith S1024 Helen Pearson S1032 Robin Plevin dentistName will be removed from the original table, But staffNo remains in the original table.

7 7 Patient (patNo, patName) PK: patNo AK: None FK: None FDs: patNo ===> patName patNo patName ------------ ------------------- P100 Gillian White P105 Jill Bell P108 Ian MacKay P110 John Walker patName will be removed from the original table, But patNo remains in the original table.

8 Not in BCNF Schedule (staffNo, dentistName, patNo, patName, surgeryNo, date, time) Schedule (staffNo, patNo, surgeryNo, date, time) FDs: surgeryNo, Date, Time ===> staffNo, patNo (All) staffNo, Date, Time ===> surgeryNo, patNo (All) patNo, Date, Time ===> staffNo, surgeryNo (All) staffNo, Date ===> surgeryNo (The determinants are NOT candidate keys) 8

9 9 RoomAllocation (staffNo, Date, surgeryNo) PK: staffNo, Date AK: None FK: staffNo references Staff FDs: staffNo, Date ===> surgeryNo staffNo Date surgeryNo ---------- ------------ -------------- S1011 12-Sep-04 S15 S1024 12-Sep-04 S10 S1024 14-Sep-04 S10 S1032 14-Sep-04 S15 S1032 15-Sep-04 S13 surgeryNo will be removed from the original table, But staffNo and Date remains in the original table.

10 10 Schedule (staffNo, patNo, date, time) PK: patNo, date, time AK: staffNo, date, time FK: staffNo references Staff patNo references Patient staffNo, Date references RoomAllocation FDs: staffNo, Date, Time ===> patNo patNo, Date, Time ===> staffNo staffNo patNo date time ---------- ---------- ------------- ---------- S1011 P100 12-Sep-04 10:00 S1011 P105 12-Sep-04 12:00 S1024 P108 12-Sep-04 10:00 S1024 P108 14-Sep-04 14:00 S1032 P105 14-Sep-04 16:30 S1032 P110 15-Sep-04 18:00


Download ppt "Boyce-Codd Normal Form (BCNF) Definition R in 1NF and Every determinant (the left side of a FD) is a candidate key. 1."

Similar presentations


Ads by Google