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. 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. 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 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 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. 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: Dependensi Fungsional Trivial
Dependensi Fungsional Penuh
Ketergantungan Transitif
Dependensi Multinilai
Pentingnya Ketergantungan