Ketergantungan Fungsional pada DBMS: Apa itu, Jenis dan Contohnya
Apa itu Ketergantungan Fungsional?
Ketergantungan Fungsional (FD) adalah batasan yang menentukan hubungan suatu atribut dengan atribut lainnya dalam Sistem Manajemen Basis Data (DBMS). Ketergantungan Fungsional membantu menjaga kualitas data dalam database. Ini memainkan peran penting untuk menemukan perbedaan antara desain database yang baik dan buruk.
Ketergantungan fungsional dilambangkan dengan panah “→”. Ketergantungan fungsional X pada Y diwakili oleh X → Y. Mari kita pahami Ketergantungan Fungsional dalam DBMS dengan contoh.
Contoh:
Nomor pekerja | nama karyawan | Gaji | Kota |
---|---|---|---|
1 | Dana | 50000 | San Fransisco |
2 | Francis | 38000 | London |
3 | Andrew | 25000 | Tokyo |
Dalam contoh ini, jika kita mengetahui nilai nomor Karyawan, kita dapat memperoleh Nama Karyawan, kota, gaji, dll. Dengan demikian, kita dapat mengatakan bahwa kota, Nama Karyawan, dan gaji secara fungsional bergantung pada nomor Karyawan.
Istilah kunci
Berikut adalah beberapa istilah kunci untuk Ketergantungan Fungsional dalam Basis Data:
Ketentuan Utama | Description |
---|---|
Aksioma | Aksioma adalah seperangkat aturan inferensi yang digunakan untuk menyimpulkan semua ketergantungan fungsional pada database relasional. |
Penguraian | Ini adalah aturan yang menyarankan jika Anda memiliki tabel yang tampaknya berisi dua entitas yang ditentukan oleh kunci utama yang sama, maka Anda harus mempertimbangkan untuk memecahnya menjadi dua tabel berbeda. |
Tergantung | Ini ditampilkan pada sisi kanan diagram ketergantungan fungsional. |
penentu | Ini ditampilkan di sisi kiri Diagram ketergantungan fungsional. |
Serikat | Disarankan bahwa jika dua tabel terpisah, dan PKnya sama, Anda harus mempertimbangkan untuk menempatkannya. bersama |
Aturan Ketergantungan Fungsional
Di bawah ini adalah tiga aturan terpenting untuk Ketergantungan Fungsional dalam Database:
- Aturan refleksif –. Jika X adalah himpunan atribut dan Y adalah_subset_of X, maka X mempunyai nilai Y.
- Aturan augmentasi: Jika x -> y berlaku, dan c adalah kumpulan atribut, maka ac -> bc juga berlaku. Yaitu menambahkan atribut yang tidak mengubah ketergantungan dasar.
- Aturan transitivitas: Aturan ini sangat mirip dengan aturan transitif dalam aljabar jika x -> y berlaku dan y -> z berlaku, maka x -> z juga berlaku. X -> y disebut secara fungsional yang menentukan y.
Jenis Ketergantungan Fungsional dalam DBMS
Terdapat empat jenis utama Ketergantungan Fungsional dalam DBMS. Berikut adalah jenis-jenis Ketergantungan Fungsional dalam DBMS:
- Ketergantungan Multinilai
- Ketergantungan Fungsional Sepele
- Ketergantungan Fungsional Non-Sepele
- Ketergantungan Transitif
Ketergantungan Multinilai dalam DBMS
Ketergantungan bernilai banyak terjadi dalam situasi di mana terdapat beberapa atribut bernilai banyak yang independen dalam satu tabel. Ketergantungan bernilai banyak adalah batasan lengkap antara dua set atribut dalam suatu relasi. Ketergantungan ini mengharuskan adanya tupel tertentu dalam suatu relasi. Pertimbangkan Contoh Ketergantungan Bernilai Banyak berikut untuk memahaminya.
Contoh:
Model mobil | Maf_tahun | Warna |
---|---|---|
H001 | 2017 | Metalik |
H001 | 2017 | Hijau |
H005 | 2018 | Metalik |
H005 | 2018 | Biru |
H010 | 2015 | Metalik |
H033 | 2012 | Abu-abu |
Dalam contoh ini, maf_year dan color tidak bergantung satu sama lain tetapi bergantung pada car_model. Dalam contoh ini, kedua kolom ini dikatakan bergantung pada banyak nilai pada model_mobil.
Ketergantungan ini dapat direpresentasikan seperti ini:
model_mobil -> tahun_maf
model_mobil-> warna
Ketergantungan Fungsional Sepele dalam DBMS
Ketergantungan trivial adalah sekumpulan atribut yang disebut sepele jika kumpulan atribut tersebut termasuk dalam atribut tersebut.
Jadi, X -> Y adalah ketergantungan fungsional sepele jika Y adalah bagian dari X. Mari kita pahami dengan Contoh Ketergantungan Fungsional Sepele.
Sebagai contoh:
Em_id | Nama_emp |
---|---|
AS555 | menyerobot |
AS811 | George |
AS999 | Kevin |
Pertimbangkan tabel ini dengan dua kolom Emp_id dan Emp_name.
{Emp_id, Emp_name} -> Emp_id adalah ketergantungan fungsional sepele karena Emp_id adalah subset dari {Emp_id,Emp_name}.
Ketergantungan Fungsional Non Sepele dalam DBMS
Ketergantungan fungsional yang dikenal juga dengan ketergantungan nontrivial terjadi ketika A->B bernilai benar dimana B bukan merupakan bagian dari A. Dalam suatu hubungan, jika atribut B bukan merupakan bagian dari atribut A, maka dianggap sebagai non-trivial. ketergantungan.
Perusahaan | CEO | Usia |
---|---|---|
Microsoft | Satya Nadella | 51 |
Sundar Pichai | 46 | |
Apple | Tim Cook | 57 |
Contoh:
(Perusahaan} -> {CEO} (jika kita mengetahui Perusahaannya, kita mengetahui nama CEO-nya)
Namun CEO bukanlah bagian dari Perusahaan, dan karenanya merupakan ketergantungan fungsional yang tidak sepele.
Ketergantungan Transitif dalam DBMS
Ketergantungan Transitif adalah jenis ketergantungan fungsional yang terjadi ketika “t” dibentuk secara tidak langsung oleh dua ketergantungan fungsional. Mari kita pahami dengan Contoh Ketergantungan Transitif berikut.
Contoh:
Perusahaan | CEO | Usia |
---|---|---|
Microsoft | Satya Nadella | 51 |
Sundar Pichai | 46 | |
Alibaba | Jack Ma | 54 |
{Perusahaan} -> {CEO} (jika kita mengetahui perusahaannya, kita mengetahui nama CEO-nya)
{CEO } -> {Umur} Jika kita mengetahui CEO, kita mengetahui Usia
Oleh karena itu menurut aturan aturan ketergantungan transitif:
{Perusahaan} -> {Umur} harus berlaku, itu masuk akal karena jika kita mengetahui nama perusahaannya, kita dapat mengetahui umurnya.
Catatan: Perlu Anda ingat bahwa ketergantungan transitif hanya dapat terjadi pada relasi tiga atribut atau lebih.
Apa itu Normalisasi?
Normalisasi adalah metode pengorganisasian data dalam database yang membantu Anda menghindari anomali redundansi, penyisipan, pembaruan & penghapusan data. Ini adalah proses menganalisis skema relasi berdasarkan ketergantungan fungsional dan kunci utama yang berbeda.
Normalisasi melekat pada teori basis data relasional. Hal ini mungkin berdampak pada duplikasi data yang sama dalam database yang dapat mengakibatkan pembuatan tabel tambahan.
Keuntungan Ketergantungan Fungsional
- Ketergantungan Fungsional menghindari redundansi data. Oleh karena itu, data yang sama tidak terulang di beberapa lokasi di dalamnya Database
- Ini membantu Anda menjaga kualitas data dalam database
- Ini membantu Anda untuk mendefinisikan arti dan batasan database
- Ini membantu Anda mengidentifikasi desain yang buruk
- Ini membantu Anda menemukan fakta mengenai desain database
Kesimpulan
- Ketergantungan Fungsional adalah ketika satu atribut menentukan atribut lain dalam a sistem DBMS.
- Aksioma, Dekomposisi, Ketergantungan, Penentu, Penyatuan adalah istilah kunci untuk ketergantungan fungsional
- Empat jenis ketergantungan fungsional adalah 1) Multivalued 2) Trivial 3) Non-trivial 4) Transitive
- Ketergantungan multinilai terjadi ketika terdapat beberapa atribut multinilai independen dalam satu tabel
- Ketergantungan Trivial terjadi ketika sekumpulan atribut disebut sepele jika kumpulan atribut tersebut termasuk dalam atribut tersebut
- Ketergantungan nontrivial terjadi ketika A->B benar jika B bukan merupakan bagian dari A
- Transitif adalah jenis ketergantungan fungsional yang terjadi ketika secara tidak langsung dibentuk oleh dua ketergantungan fungsional
- Normalisasi adalah metode pengorganisasian data dalam database yang membantu Anda menghindari redundansi data