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