Pertemuan VI Functional Dependency Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan Caca E. Supriana, S.Si.,MT. caca.e.supriana@unpas.ac.id id 2014
Konsep Dasar Sebuah batasan pada hukum hubungan antar himpunan yang mengungkapkan fakta tentang perusahaan untuk pemodelan database. Mensyaratkan bahwa nilai untuk satu set himpunan ditentukan oleh atribut tertentu nilai unik untuk satu set atribut. Ketergantungan fungsional adalah generalisasi dari konsep kunci 2
Konsep Dasar Functional dependency atau ketergantungan fungsional digunakan untuk menentukan ukuran formal dari "kebaikan desain relasional FD dan kunci (key) digunakan untuk mendefinisikan bentuk normal untuk relasi Batasan batasan FD berasal dari makna dan keterkaitan antar atribut data 3
Konsep Dasar PROSES BISNIS ERD Konversi Ke Tabel (Mapping) Normali sasi Ketergantungan Fungsional Implementasi Coding 4
Definisi Satu himpunan atribut X secara fungsional menentukan himpunan atribut Y jika nilai X menentukan nilai unik untuk Y X Y berlaku jika setiap kali dua tupel memiliki nilai yang sama untuk X, mereka harus memiliki nilai yang sama untuk Y Jika t1 [X] = t2 [X], kemudian t1 [Y] = t2 [Y] dalam setiap relasi r contoh (R) X Y dalam R menentukan batasan pada semua kasus relasi r (R) FD berasal dari batasan dunia nyata pada atribut 5
Konsep FD (sumber : Coronel, Database Systems, 2011) 6
Ketergantungan Parsial Ketergantungan parsial ada ketika ada ketergantungan fungsional di mana determinan hanya sebagian dari primary key. Misalnya, jika (A, B) (C, D), B C, dan (A, B) adalah kunci utama, maka ketergantungan fungsional B C adalah suatu dependensi parsial karena hanya sebagian dari primary key (B) diperlukan untuk menentukan nilai ketergantungan C. Partial cenderung berbanding lurus dan mudah untuk diidentifikasi. 7
Ketergantungan Transitif Ketergantungan transitif ada ketika ada ketergantungan fungsional sehingga X Y, Y Z, dan X adalah kunci utama. Dalam hal ini, ketergantungan X Z adalah dependensi transitif karena X menentukan nilai Z melalui Y. Berbeda parsial dependensi, ketergantungan g transitif lebih sulit untuk diidentifikasi di antara satu set data. Sebuah dependensi transitif akan terjadi hanya bila ada ketergantungan fungsional antara atribut non key. 8
Contoh FD Social Security Number menentukan employee name SSN ENAME Project Number menentukan project name dan location PNUMBER {PNAME, PLOCATION} Employee SSN & project number menentukan hours per week dimana employee bekerja pada sebuah project {SSN, PNUMBER} HOURS 9
Contoh FD Parsial & Transitif 10
Hukum Armstrong 1. Reflextivity Rule jika X adalah himpunan atribut dan Y adalah subset dari X, maka berlaku X -> Y. setiap subset dari X tergantung fungsional pada X. 2. Augmentation Rule Jika berlaku X -> Y danw adalah himpunan atribut, maka berlaku WX -> WY Jika Y tergantung pada X maka himpunan atribut W dan Y akan tergantung bersama padaw dan X 3. Transitivity Rule Jika berlaku X -> Y dan Y -> Z maka X -> Z jika X tergantung fungsional pada Y dan Y tergantung fungsional pada Z maka X tergantung fungsional pada Z. 11
Hukum Tambahan FD 1. Decomposition jika X YZ, maka X Y dan X Z 2. Union jika X Y dan X Z, maka X YZ 3. Psuedotransitivity jika X Y dan WY Z, maka WX Z 12
FD & Relationship FD mungkin juga muncul dalam relasi diketahui C adalah primary key dari sebuah entitas dan D adalah primary key dari entitas yang lain. Ada relasi antara 2 entitas tersebut. Jika relationship one-to-one: one: C -> D D -> C Jika relationship many-to-one: C -> D but not D -> C Untuk relasi many-to-many, tidak ada FD 13
Example - 2 C adalah student number dan D adalah subject number, tidak ada FD antara C & D. jika terdapat atribut marks dan grades dalam database, maka (student_number, subject_number) -> marks marks -> grades 14
Rangkuman Konsep ketergantungan fungsional berhubungan dengan konsep candidate key dari relasi Oleh karena itu setiap X subset dari atribut relasi R yang memenuhi semua atribut properti yang tersisa dari relasi secara fungsional bergantung padanya (yaitu, pada X), maka X adalah kandidat utama asalkan tidak ada atribut dapat dihapus dari X dan masih memenuhi syarat ketergantungan fungsional. Ketergantungan Fungsional merupakan konsep penting dan teori formalnya telah dikembangkan untuk memenuhi hal itu. Setelah satu set lengkap dependensi fungsional telah diperoleh, kita akan mempelajari bagaimana dapat digunakan untuk membangun normalisasi. 15