Outline n Data Dependency n Functional Dependency n

  • Slides: 105
Download presentation

Outline n. Data Dependency n. Functional Dependency n. Normalization n 1 NF n 2

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

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

������� � (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 คอ

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

ตวอยางตาราง 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

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

ตวอยาง 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,

ตวอยาง 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

������� 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#}

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

ตวอยางตาราง 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 ทพบของตาราง 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

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 : รหสแผน ก ตาราง พนกงาน วนทท ำงาน เวลาเขางา น เวลาออกงาน

ตวอยาง รหสพนก งาน 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

���� �������� 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

ตวอยาง ตาราง 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

����� 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

รปแบบบรรทดฐานทสอง (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

พจารณา ตาราง 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 =

ตวอยาง ตาราง 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 =

ตวอยาง ตาราง 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)

���� 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

���� (��� ( • ������� 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 คอ

ตวอยาง ตาราง 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 คอ

ตวอยาง ตาราง 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 คอ

ตวอยาง ตาราง 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#,

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