Kontrak Kuliah Functional Dependencies

  

Kontrak Kuliah

Functional Dependencies

  Edi Sugiarto, S.Kom, M.Kom

Ketergantungan Fungsional

  • • Functional Dependencies(FD) / Ketergantungan

    Fungsional (KF) digunakan untuk

  menggambarkan atau mendeskripsikan bentuk normal atas suatu relasi FD adalah batasan terhadap gugus relasi yang berlaku. Diperoleh berdasarkan hubungan antar atribut data.

  • Kegunaanya :
    • – Memeriksa keabsahan apakah semua relasi sesuai dengan ketergantungan fungsional yang diberikan

  • – Untuk menetapkan batasan gugus relasi yang berlaku

  • – Untuk menentukan kunci relasi
  • – Untuk melakukan normalisasi atas suatu tabel relasional

Misalkan R adalah suatu skema relasional, atribut x ⊆ R dan y ⊆ R maka x dikatakan secara fungsional menentukan y (atau y bergantung secara fungsional pada x), ditulis x → y pada R, jika :

  1. Semua tupel t [x], 1 ≤ i ≤ n adalah unik/tunggal i

  2. Semua pasangan tupel dimana t [x] = t [x], i j, terjadi juga t [y] = t [y] i j i j

dengan kata lain :

Untuk setiap nilai x terdapat hanya satu nilai y (x menentukan secara tunggal

nilai y). Jadi apabila terdapat 2 tuple t dan t mempunyai nilai atribut x yang

  1

  2 sama, maka juga akan mempunyai nilai atribut y yang sama. t [x] = t [x] t [y] = t [y] pada skema relasi R

  1

  2

  1

  2

Armstrong’s Rule

  ⊆ ! " #

  Diketahui x y Dari A2 (x,z) (y,z)

  $ %

  Diketahui (z,y) w Dari A3 (x,z) w

  & ' ( (

Manfaat FD pada dekomposisi

  % )

  • # #
    • , + #
    • # + • -

  # + # +

  Uji Lossless-join

decomposition

  • # * + . / #

  1

  2 ∩ ∩ ∩

  ! " # / ∩ i # + -

  3

  • !
  • # + .

  #

  1

  2

  • ! " # #

  ) - + ∩ ∩ 2 +3 %- 2 3- ! " # )

  %- ! # ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪

  %- 2 3-

Uji Lossless-join decomposition

  Diketahui skema relasi R=(A,B,C,D,E,F,G,H) didekomposisi menjadi : R1=(A,B,C,D,G) dan R2=(B,D,E,F,H). FD pada R yang berlaku adalah : (1) B A,G (2) E D,H (3) A E,C (4) D F

Buktikan (B,D) (B,D,E,F,H) Ujilah apakah dekomposisi {R1,R2} tersebut lossless atau lossy ?

  %- ! # ∪ 4 5 6 ! 7 ∪ 5 ! 8 9 :

  4 5 6 ! 8 9 7 :

  4

  %- 2

  ∩ ; 5 ! 5 6 ! 7 ! 5 7 ! " # 5 // $

  5 7// & 8 6 ! " # 8 // < 6 // =

  R1 ∩ R2 = (A,B,C,D,G) ∩ (B,D,E,F,H) = (B,D)

  Akan dibuktikan bahwa paling sedikit satu kondisi berikut dipenuhi : R1 ∩ R2 R1 ; (B,D) (A,B,C,D,G) atau R1 ∩ R2 R2 ; (B,D) (B,D,E,F,H)

  $ = 5 6// > 5 5// ? > ? 5 5 6 7 // !

  5 5 6 7 5 ! 5 6 ! 7 2 ! " + - #

  1 +( 5 ! 5 ! 8 9 :

  6

  7

  8

  9 :

  5 !

Uji Lossless-join

decomposition

  ! 5 7 ! " # 5 /// $ 5 7 /// & 8 6 ! " #

  8 / < 6 // = ! $ @< 5 8 // > 8 ! :

  8 ! / ? 8 : // >@ 5 : /

  ! >@ ? 5 ! // @ 5 9 // 5 5 // $

  ! $ >

  5 5 8 9 :// & & 5 ! 5 ! 8 9 : 5 ! 5 ! 8 9 :

  2 R1 ∩ R2 R2 ; (B,D) (B,D,E,F,H)

  • + Closur FD (F )

  

Misal F adalah gugus ketergantungan fungsional pada skema relasi

R, maka semua FD yang mungkin dapat diturunkan dari F dengan

  • .

  Closure dari F hukum-hukum FD disebut : , ditulis F A #

  B

  9

  • 6 + ) !

  4 5 6 ! 9 4 . 5 5 6 6 6 !0 )

  ! 1 1 6 6 !

  # ! 5 ! 1 1 5

  6 6 ! # 5 !

  B

  C + . 5 5 6 6 6 ! ! 5 !0 ∈ 9 D #

  3

  9B

  1 A + 9!

  

Misal skema relasi R dengan himpunan ketergantungan fungsional

F didekomposisi menjadi R1,R2,R3,…,Rn. Dan F1,F2,F3,…,Fn adalah himpunan ketergantungan fungsional yang berlaku di

R1,R2,R3,…,Rn maka dekomposisi tersebut dikatakan memenuhi

sifat Dependency Preservation apabila berlaku :

  

(F1 ∪ F2 ∪ F3 ∪ … ∪ Fn) = F

Dependency Preservation (Pemeliharaan Ketergantungan) merupakan kriteria yang menjamin keutuhan relasi ketika suatu

relasi didekomposisi menjadi beberapa tabel. Sehingga diharapkan

tidak terjadi inkonsistensi atau anomali ketika dilakukan update data.

Uji dependency preservation

  6 + ) ! + 4 5 6 9! ) 5 ; 5

  6

  • ! #

  4 5 4 5 6 # # + 1 2

  3 E

  • 1 # #

  1 + ! # " ' E ∪

4 5 ∪ 5 6 4 5 6 4

∩ 4 5 ∩ 5 6 4 5

  • 2

  5

  5 5 5 6 D

  5

  

6

  55

  56 5 +

  56 # 1 2 Karena A B dan B C maka A

  • F ={A B, B C,A C}.

  R1=(A,B) dan F1={A B}. Karena hanya A B yang berlaku di R1. R2=(B,C) dan F2={B C}. Karena hanya B C yang berlaku di R2.

  F1 ∪ F2 = {A B,B C}. Karena A B dan B C maka A C.

  Sehingga (F1 ∪ F2 ) ={A B,B C,A C}=F Jadi dekomposisi tsb memenuhi Dependency Preservation.

  Ujilah dekomposisinya apakah Lossless dan Dependency Preservation Apabila R di atas didekoposisi menjadi R1=(A,B) dan R2=(A,C). Bagaimana bila R1=(A,B) dan R2=(B,C) tetapi FD : B

  C, AC B

  %- + # # + E

  4 5 6 ! 8 9 7 : # - ) 4 5 6 ! 8 4 6 ! 9 7 : 9! ) 6 5 ! ; 9 7 : ; ! 8 9 4 5 6 ! 8 # - )

  4 5 6 ! 4 6 ! 8 9! ) 5 ; 6 ! 8 ; 5 ! ; 8

  4 F G H I % J # - )

  4 F G H I

  4 I % J 9! )

  I F ; F H 4 5 6 ! 8 9 # - ) 4 5 6 4 ! 9 4 8 ! 9! ) 5 6 ; !

  9 %- + # # " #

  3 Soal Latihan

  1. R = (A,B,C,D,E,F,G,H) didekomposisi menjadi :

R1 = (A,B,C,D,E) dan R2 = (C,D,F,G,H) dengan FD :

C (A,B,D) ; F (G,H) ; D (E,F)

  5 %- 2

  %- ! # ∪ 4 5 6 ! 8 ∪ 6 ! 9 7 :

  4 5 6 ! 8 9 7 :

  4 ) 1 1 +( . + #

R1 ∩ R2 = (A,B,C,D,E) ∩ (C,D,F,G,H) = (C,D) dibuktikan paling sedikit satu kondisi dipenuhi :

  R1 ∩ R2 R1 ; (C,D) (A,B,C,D,E) R1 ∩ R2 R2 ; (C,D) (C,D,F,G,H)

  • ; 6 ! 5 6 ! 8 !

  6 5 ! ! 8 9 ! " # !

  8 $ ! 9 !

  6 5 ! & 6 <

  6

  5 = 6 ! = ) >

  6

  8 ?

  6

  6 ! & < > ? 6 5 6 8 6 ! 5 6 ! 8

  8 ! " # $ ! 9 9 7 :

  ! @ $ ! 9 7 : < ! 7 : = ! ! > ! ! 7 :

  $ > ! ! 9 7 : ? 6 ! 6 ! 9 7 : 6 ! 6 ! 9 7 : " $

  • ,* * *- " $
  • ; 6 ! 6 ! 9 7 : ! ! 8 9 !

  2. R = (A,B,C,D,E) didekomposisi menjadi : R1 = (A,B,C,D) dan R2 = (C,D,E) dengan FD : A B ; (C,D) E ; B D ; E A

  %- ! # ∪ 4 5 6 ! ∪ 6 ! 8 4 5 6 ! 8

  4 1 1 +( . + ) # 5 %- 2

  R1 ∩ R2 = (A,B,C,D) ∩ (C,D,E) = (C,D) dibuktikan paling sedikit satu kondisi dipenuhi :

  R1 ∩ R2 R1 ; (C,D) (A,B,C,D) R1 ∩ R2 R2 ; (C,D) (C,D,E)

  • ∩ ; 6 ! 5 6 ! ! 6 !

  8

  8 & * + ". $ & 6 !

  5 "/$ * , = 6 ! 6 ! ! & < =

  8 $ 6 ! 6 ! ! $ # + 6 ! 6 ! 8 " $

  • ,* * " $
  • ∩ ; 6 ! 6 ! 8 ! 6 !

  3. R = (X,Y,Z,W,U,V) didekomposisi menjadi : R1 = (X,Y,Z,W) dan R2 = (W,U,V) dengan FD : W X ; X Z

  %- ! # ∪

  4 F G H I ∪ I % J

  4 F G H I % J

  4 ) 1 1 +( . # + - *

  ; I F G H I

  5 %- 2

  !

  I F

  R1 ∩ R2 = (X,Y,Z,W) ∩ (W,U,V)

  F H

  = (w) dibuktikan paling

  I ". $

  I I

  sedikit satu kondisi dipenuhi : R1 ∩ R2 R1 ; (W) (X,Y,Z,W)

  1 2*0*1 " $

  R1 ∩ R2 R2 ; (W) (W,U,V)

  4. R = (A,B,C,D,E,F) didekomposisi menjadi :

R1 = (A,B,C), R2 = (A,D,F) dan R3 = (E,D) dengan FD :

  1. A (B,C)

  2. D (F,A)

  5 %- 2 R1 ∩ R2 = (A,B,C) ∩ (A,D,F)

  = (A) R2 ∩ R3 = (A,D,F) ∩ (E,D)

  = (D) %- ! #

  ∪ ∪ 4 5 6 ∪ ! 9 ∪ 8 ! 4 5 6 ! 8 9

  4 ) 1 1 +( . + #

  ∩ ; 5 6 ! 5 6 $

  R1 ∩ R2 R2 ; (A) (A,D,F) R1 = (A,B,C), R2 = (A,D,F) dan R3 = (E,D) dengan FD : A (B,C) ; D (F,A) R2 ∩ R3 R2 ; (D) (A,D,F) atau R2 ∩ R3 R3 ; (D) (E,D)

  • ,*
  • ,*

  ; ! ! 9 ! ! 9 $ ! !

  ∩ ; ! 8 ! ! !

  9 $ ! !

  • !

  2 # + ; ! 9 ! 5 6 $

  • !

  1 " # - + 2

  Ada Pertanyaan ?

  Terima kasih

  

Daftar Pustaka

  • C.J. Date (2004), “An Introduction to Database System

    Sevent Edition”,Addison-Wesley Longman, Inc, New

    Jersey • Silberschatz, Korth, Sudarshan (2001),” Database System Concepts Fourth Edition”, The McGraw Hill Companies • Bambang Hariyanto (2004), ”Sistem Manajemen Basisdata, Pemodelan, Perancangan dan Terapannya”, Penerbit Informatika Bandung