Skip to main content

Panduan untuk Memahami Dependensi Database

Dependensi-Dependensi Fungsional (Functional Dependency) (Juni 2025)

Dependensi-Dependensi Fungsional (Functional Dependency) (Juni 2025)
Anonim

Ketergantungan adalah kendala yang berlaku untuk atau mendefinisikan hubungan antara atribut. Ini terjadi dalam database ketika informasi yang disimpan dalam tabel database yang sama secara unik menentukan informasi lain yang disimpan dalam tabel yang sama. Anda juga dapat menggambarkan ini sebagai hubungan di mana mengetahui nilai dari satu atribut (atau satu set atribut) cukup untuk memberi tahu Anda nilai atribut lain (atau set atribut) di tabel yang sama.

Dependensi database sering membingungkan baik mahasiswa maupun profesional basis data. Untungnya, mereka tidak serumit kelihatannya. Mereka dapat dijelaskan dengan menggunakan beberapa contoh. Di sini, kita akan memeriksa jenis ketergantungan database umum.

Dependensi Database dan Dependensi Fungsional

Mengatakan bahwa ada ketergantungan antara atribut dalam tabel adalah sama dengan mengatakan bahwa ada ketergantungan fungsional antara atribut-atribut tersebut. Jika ada ketergantungan dalam basis data sedemikian rupa sehingga atribut B bergantung pada atribut A, Anda akan menulis ini sebagai:

A -> B

Misalnya, dalam daftar tabel karakteristik karyawan, termasuk Nomor Jaminan Sosial (SSN) dan nama, dapat dikatakan bahwa nama itu tergantung pada SSN (atau SSN -> nama) karena nama karyawan dapat ditentukan secara unik dari SSN. Namun, pernyataan terbalik (nama -> SSN) tidak benar karena lebih dari satu karyawan dapat memiliki nama yang sama tetapi selalu memiliki SSN berbeda.

Dependensi Fungsional Trivial

Ketergantungan fungsional yang sepele terjadi ketika Anda mendeskripsikan ketergantungan fungsional suatu atribut pada koleksi atribut yang menyertakan atribut asli. Misalnya, {A, B} -> B adalah ketergantungan fungsional yang sepele, seperti {name, SSN} -> SSN. Jenis ketergantungan fungsional ini disebut sepele karena dapat berasal dari akal sehat. Jelas bahwa jika Anda sudah tahu nilai B, maka nilai B dapat ditentukan secara unik oleh pengetahuan itu.

Dependensi Fungsional Penuh

Ketergantungan fungsional penuh terjadi ketika Anda sudah memenuhi persyaratan untuk ketergantungan fungsional dan kumpulan atribut di sisi kiri pernyataan ketergantungan fungsional tidak dapat dikurangi lebih jauh. Misalnya, {SSN, usia} -> nama adalah ketergantungan fungsional, tetapi itu bukan ketergantungan fungsional penuh karena Anda dapat menghapus usia dari sisi kiri pernyataan tanpa memengaruhi hubungan ketergantungan.

Ketergantungan Transitif

Ketergantungan transitif terjadi ketika ada hubungan tidak langsung yang menyebabkan ketergantungan fungsional. Sebagai contoh, A -> C adalah ketergantungan transitif ketika itu benar hanya karena keduanya A -> B dan B -> C adalah benar.

Dependensi Multinilai

Dependensi multinilai terjadi ketika kehadiran satu atau lebih baris dalam tabel menyiratkan adanya satu atau lebih baris lain dalam tabel yang sama. Misalnya, bayangkan perusahaan mobil yang memproduksi banyak model mobil, tetapi selalu membuat warna merah dan biru dari masing-masing model. Jika Anda memiliki tabel yang berisi nama model, warna, dan tahun dari setiap mobil yang diproduksi perusahaan, ada ketergantungan multinilai dalam tabel itu. Jika ada baris untuk nama model tertentu dan tahun berwarna biru, harus ada baris serupa yang sesuai dengan versi merah dari mobil yang sama.

Pentingnya Ketergantungan

Ketergantungan database penting untuk dipahami karena mereka menyediakan blok bangunan dasar yang digunakan dalam normalisasi database, proses mengatur data secara efisien dalam database. Sebagai contoh:

  • Untuk tabel berada dalam bentuk normal kedua (2NF), tidak boleh ada kasus atribut nonprime dalam tabel yang secara fungsional tergantung pada subset kunci kandidat.
  • Untuk tabel berada dalam bentuk normal ketiga (3NF), setiap atribut nonprime harus memiliki ketergantungan fungsional nontransitif pada setiap kunci kandidat.
  • Untuk tabel berada dalam Bentuk Normal Boyce-Codd (BCNF), setiap ketergantungan fungsional (selain dari dependensi sepele) harus berada pada superkey.
  • Untuk tabel berada dalam bentuk normal keempat (4NF), itu harus tidak memiliki dependensi multinilai.