Outline n Data Dependency n Functional Dependency n









































































































- Slides: 105


Outline n. Data Dependency n. Functional Dependency n. Normalization n 1 NF n 2 NF n 3 NF n. BCNF DBMS : Database Management System 52.




Data Dependency Constraint n. Functional Dependency nเปนขอกำหนดของความสมพนธระหวาง Attribute ภายใน relational scheme เดยวกน n. Multivalued Dependency n. Join Dependency DBMS : Database Management System 56.

������� � (Functional Dependency : FD( n��� R ������ X, Y ���� arbitrary subsets ��������� R �������� “Y is functionally dependent on X” ���� “X functionally determines Y” ���������� X ������� Y ������� 157. DBMS : Database Management System



Functional Dependency nสญลกษณทใชแทนคอ } A} {B} nแผนภาพ FD (FD-Diagram( A B n F คอ เซตของ Nontrivial Functional Dependency ทพบบน Relation DBMS : Database Management System 510.

ตวอยางตาราง Stud_id DBMS : Newlearn Stud_name Cousre_id 111 Jack 4121201 1 2005 A 111 Jack 4123201 1 2005 B+ 111 Jack 4122201 2 2005 B 111 Jack 4123303 1 2006 C+ 112 John 4121201 1 2005 B+ 112 John 4123201 2 2005 B+ 113 Tom 4123303 1 2006 A 113 Tom 4122205 2 2006 B 114 Mary 4121201 1 2007 C Database Management System Semester Year Grade 511.



FD ทพบใน Relation แบงเปน 2 กลมไดแก n. Trivial Functional Dependency n. Nontrivial Functional Dependency DBMS : Database Management System 514.


ตวอยาง Trivial FD n ตาราง R(A, B, C) ม Trivial FD ไดแก n. A A n. B B n. C C n. AB AB n. AC AC n. BC BC n ABC DBMS : Database Management System n. AB A n. AB B n. AC C n AC A n. ABC AB n. ABC BC n ฯลฯ 516.


ตวอยาง Nontrivial FD nจากตาราง Newlearn พบ Nontrivial FD ไดแก n stud_id stud_name n stud_id, course_id, semester, year grade n stud_id, course_id stud_name, cours_id n stud_id, semester stud_name, semester nเปนตน DBMS : Database Management System 518.

������� SCP DBMS : S# P# QTY City S 1 P 1 P 2 100 London S 2 P 1 200 Paris S 2 P 2 200 Paris S 3 P 2 300 Paris S 4 P 2 P 4 400 London S 4 P 5 400 London Database Management System 519.


FD ���� SCP 10. {S#} **trivial FD 11. {P#} **trivial FD 12. {S#, P#} {S#} **trivial FD 13. {S#, P#} {P#} **trivial FD DBMS : Database Management System 521.


ตวอยางตาราง DBMS : orders Order_id order. Date Product_id Amount 1111 2/5/2006 P 1 100 1111 2/5/2006 P 2 30 1112 2/5/2006 P 1 50 1113 3/5/2006 P 5 20 1113 3/5/2005 P 2 100 Database Management System 523.

FD ทพบของตาราง orders n Trivial FD มากมาย เชน n order_id n order_date n Nontrivial FD เชน n Order_id order_date n Order_id, Product_id Amount n Order_id, Product_id order_date, Product_id n Order_id, Product_id order_date, Amount n Order_id, Amount order_date, Amount DBMS : Database Management System 524.

FD-diagram ตาราง orders n Orders(Order_id, Order. Date, Product_id, Amount) n F = { order_id order. Date , order_id, product_id Amount} n นำ F มาเขยนเปน FD diagram ไดดงน Order_id Product_id DBMS : Database Management System Order. Date Amount 525.

ตวอยาง รหสพนก งาน DBMS : รหสแผน ก ตาราง พนกงาน วนทท ำงาน เวลาเขางา น เวลาออกงาน 111 D 01 1/1/2007 2/1/2007 8: 00 8: 05 19: 00 17: 00 112 D 02 1/1/2007 7: 30 18: 25 112 113 D 02 D 01 2/1/2007 1/1/2007 6: 45 5: 45 17: 49 16: 45 Database Management System 526.
































���� �������� relation : UNF Relation: 1 NF ����������� ��� 001 111 -555 -9 001 112 -557 -1 002 003 DBMS : 115 -225 -9 114 -256 -0 111 -999 -9 115 -236 -5 Database Management System 001 002 003 115 -225 -9 114 -256 -0 111 -999 -9 115 -236 -5 558.

ตวอยาง ตาราง First S# P# City Status QTY S 1 P 1 London 20 300 P 2 P 3 S 2 Multivalued attribute 400 P 4 200 P 5 100 P 6 100 P 1 Paris 10 P 2 DBMS : 200 300 400 S 3 P 2 Paris 10 200 S 4 P 2 London 20 200 P 4 300 P 5 400 Database Management System 559.


����� First ������ 1 NF DBMS : S# P# City Status QTY S 1 P 1 London 20 300 S 1 P 2 London 20 200 S 1 P 3 London 20 400 S 1 P 4 London 20 200 S 1 P 5 London 20 100 S 1 P 6 London 20 100 S 2 P 1 Paris 10 300 S 2 Paris 10 400 S 3 P 2 Paris 10 200 S 4 P 2 London 20 200 S 4 P 4 London 20 300 S 4 P 5 London 20 400 Database Management System 561.




รปแบบบรรทดฐานทสอง (Second Normal Form: 2 NF) ������ 2 NF ����� n ��������� 1 NF ��� n ทกๆ nonkey attribute ตองไม partially functional dependency บน Candidate Key ของรเลชน หรอ n ทกๆ nonkey attribute ตองขนอยกบ Candidate key แบบ Full functional dependency Nonkey attribute คอ attribute ทไมไดเปนสมาชกของ Candidate Key ตวใดเลย DBMS : Database Management System 565.


พจารณา ตาราง First n ����� First( S#, P#, Status, City, QTY) อยใน 1 NF n FD-diagram ของตาราง First S# QTY DBMS : Database Management System P# City Status 567.





ตวอยาง ตาราง R 1 n R 1(A, B, C, D) และ n FD = { A, B} {C} และ {B} {D{ n Nonkey attribute คอ C, D n }A, B} {C} แสดงวา C Full Functional Dependency บน Primary Key n }B} {D} แสดงวา D Partial Functional Dependency บน Primary Key ( คอ D functional dependency บน B โดย B เปน attribute บางสวนของ Primary key {A, B( { n ดงนน DBMS : ตาราง R 1 ไมอยในรป Database Management System 2 NF 572.

ตวอยาง ตาราง R 2 n. R 2(A, B, C, D) และ n. FD = { A, B} {C} และ {A, B} {D{ n. Nonkey attribute คอ C, D n}A, B} {C} แสดงวา C Full Functional Dependency บน Primary Key n}A, B} {D} แสดงวา D Full Functional Dependency บน Primary Key nดงนน DBMS : ตาราง R 2 อยในรป Database Management System 2 NF 573.











���� n ���������� 2 NF ������ 3 NF n ����� Second( S#, City, Status) FD-Diagram S# 1 3 City 2 Status DBMS : Database Management System 584.

���� (��� ( • ������� Transitive Dependency ��� • S# Status • ������ Transitive Dependency ������ 2 ���� n����� SC( S#, City) n����� CS( City, Status) 585. DBMS : Database Management System






ตวอยาง ตาราง R 1 n. R 1(A, B, C, D) n. Candidate Key คอ AB n. FD: {AB C} , {AB D} n. Determinant ของ R 1 คอ AB nดงนน R 1 มคณสมบต BCNF DBMS : Database Management System 591.

ตวอยาง ตาราง R 2 n. R 2(A, B, C, D) n. Candidate Key คอ AB n. FD: {AB C} , {C D} n. Determinant ของ R 2 คอ AB, C n. Determinant AB เปน Candidate Key n. Determinant C ไมเปน Candidate Key nดงนน BCNF DBMS : Database Management System R 2 ไมมคณสมบต 592.

ตวอยาง ตาราง R 3 n R 3(A, B, C, D) n Candidate Key คอ AB, C, D n FD: {AB C} , {C D}, {D AB} n Determinant ของ R 2 คอ AB, C, D n Determinant AB เปน Candidate Key n Determinant C เปน Candidate Key n Determinant D เปน Candidate Key n ดงนน DBMS : R 3 มคณสมบต Database Management System BCNF 593.








�������� BCNF n����� SSP( S#, SName, P#, QTY) n�� Candidate Key 2 ������ n{S#, P#} n{SName, P#} DBMS : Database Management System 5101.



