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
Google 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
Google 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