Apa itu Ketergantungan Fungsional?
Ketergantungan Fungsional (FD) adalah kendala yang menentukan hubungan satu 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 Pegawai, kita dapat memperoleh Nama Pegawai, kota, gaji, dll. Dengan ini, kita dapat mengatakan bahwa kota, Nama Pegawai, dan gaji secara fungsional tergantung pada nomor Pegawai.
Dalam tutorial ini, Anda akan mempelajari:
- Istilah kunci
- Aturan Ketergantungan Fungsional
- Jenis Dependensi Fungsional di DBMS
- Dependensi multinilai di DBMS
- Ketergantungan fungsional sepele di DBMS
- Ketergantungan fungsional non sepele di DBMS
- Ketergantungan transitif di DBMS
- Apa itu Normalisasi?
- Keuntungan Ketergantungan Fungsional
Istilah kunci
Berikut, beberapa istilah kunci untuk Ketergantungan Fungsional dalam Database:
Istilah Kunci | Deskripsi |
Aksioma | Aksioma adalah sekumpulan aturan inferensi yang digunakan untuk menyimpulkan semua dependensi 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 yang berbeda. |
Tergantung | Ini ditampilkan di sisi kanan diagram ketergantungan fungsional. |
Determinan | Itu ditampilkan di sisi kiri Diagram ketergantungan fungsional. |
Persatuan | Ini menyarankan bahwa jika dua tabel terpisah, dan PK-nya sama, Anda harus mempertimbangkan untuk meletakkannya. 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 dari X, maka X memiliki nilai Y.
- Aturan augmentasi: Jika x -> y ditahan, dan c adalah set atribut, maka ac -> bc juga berlaku. Yaitu menambahkan atribut yang tidak mengubah dependensi dasar.
- Aturan transitivitas: Aturan ini sangat mirip dengan aturan transitif dalam aljabar jika x -> y memegang dan y -> z memegang, maka x -> z juga berlaku. X -> y disebut sebagai fungsional yang menentukan y.
Jenis Dependensi Fungsional di DBMS
Terutama ada empat jenis Ketergantungan Fungsional di DBMS. Berikut adalah jenis-jenis Dependensi Fungsional di DBMS:
- Ketergantungan Multinilai
- Ketergantungan Fungsional Sepele
- Ketergantungan Fungsional Non-Sepele
- Ketergantungan Transitif
Ketergantungan Multinilai di DBMS
Ketergantungan multinilai terjadi dalam situasi di mana ada beberapa atribut multinilai independen dalam satu tabel. Dependensi multinilai adalah batasan lengkap antara dua set atribut dalam suatu relasi. Ini membutuhkan tupel tertentu untuk hadir dalam suatu relasi. Pertimbangkan Contoh Ketergantungan Multivalued berikut untuk memahami.
Contoh:
Model mobil | Maf_year | 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 sebagai multinilai yang bergantung pada model_model.
Ketergantungan ini dapat direpresentasikan seperti ini:
car_model -> maf_year
car_model-> color
Ketergantungan Fungsional Sepele di DBMS
Ketergantungan Trivial adalah sekumpulan atribut yang disebut trivial jika himpunan atribut disertakan dalam atribut itu.
Jadi, X -> Y adalah ketergantungan fungsional sepele jika Y adalah himpunan bagian dari X. Mari kita pahami dengan Contoh Ketergantungan Fungsional Sepele.
Sebagai contoh:
Emp_id | Emp_name |
AS555 | Harry |
AS811 | George |
AS999 | Kevin |
Pertimbangkan tabel ini dengan dua kolom Emp_id dan Emp_name.
{Emp_id, Emp_name} -> Emp_id adalah ketergantungan fungsional yang sepele karena Emp_id adalah bagian dari {Emp_id, Emp_name}.
Ketergantungan Fungsional Non-Sepele di DBMS
Ketergantungan fungsional yang juga dikenal sebagai ketergantungan nontrivial terjadi ketika A-> B berlaku dimana B bukan merupakan himpunan bagian dari A. Dalam suatu hubungan, jika atribut B bukan merupakan himpunan bagian dari atribut A, maka itu dianggap sebagai non-sepele ketergantungan.
Perusahaan | CEO | Usia |
Microsoft | Satya Nadella | 51 |
Sundar Pichai | 46 | |
apel | Tim Cook | 57 |
Contoh:
(Perusahaan} -> {CEO} (jika kita mengenal Perusahaan, kita tahu nama CEO)
Tetapi CEO bukanlah bagian dari Perusahaan, dan karenanya merupakan ketergantungan fungsional yang tidak sepele.
Ketergantungan Transitif di DBMS
Ketergantungan Transitif adalah jenis ketergantungan fungsional yang terjadi ketika t secara tidak langsung dibentuk 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 tahu perusahaan itu, kita tahu nama CEO-nya)
{CEO} -> {Age} Jika kita mengenal CEO, kita tahu Age
Oleh karena itu menurut aturan aturan ketergantungan transitif:
{Company} -> {Age} harus dipegang, itu masuk akal karena jika kita tahu nama perusahaannya, kita bisa tahu usianya.
Catatan: Anda perlu mengingat bahwa ketergantungan transitif hanya dapat terjadi dalam hubungan dengan tiga atribut atau lebih.
Apa itu Normalisasi?
Normalisasi adalah metode pengorganisasian data dalam database yang membantu Anda menghindari redundansi data, penyisipan, pembaruan & anomali penghapusan. Ini adalah proses menganalisis skema relasi berdasarkan dependensi fungsional dan kunci primernya yang berbeda.
Normalisasi melekat pada teori database relasional. Ini mungkin memiliki efek menduplikasi data yang sama dalam database yang dapat menghasilkan pembuatan tabel tambahan.
Keuntungan Ketergantungan Fungsional
- Ketergantungan Fungsional menghindari redundansi data. Oleh karena itu, data yang sama tidak berulang di beberapa lokasi dalam database tersebut
- Ini membantu Anda untuk 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 tentang desain database
Ringkasan
- Ketergantungan Fungsional adalah ketika satu atribut menentukan atribut lain dalam sistem DBMS.
- Aksioma, Dekomposisi, Ketergantungan, Determinan, Persatuan adalah istilah kunci untuk ketergantungan fungsional
- Empat jenis ketergantungan fungsional adalah 1) Multinilai 2) Trivial 3) Non-sepele 4) Transitif
- Ketergantungan multinilai terjadi dalam situasi di mana ada beberapa atribut multinilai independen dalam satu tabel
- Ketergantungan Trivial terjadi ketika sekumpulan atribut yang disebut trivial jika himpunan atribut tersebut termasuk dalam atribut tersebut.
- Ketergantungan nontrivial terjadi ketika A-> B berlaku di mana B bukan bagian dari A.
- Transitif adalah jenis ketergantungan fungsional yang terjadi ketika secara tidak langsung dibentuk oleh dua dependensi fungsional
- Normalisasi adalah metode pengorganisasian data dalam database yang membantu Anda menghindari redundansi data