Apakah Dependensi Database?

Dependensi database adalah topik yang sering membingungkan mahasiswa dan profesional basis data. Untungnya, mereka tidak begitu rumit dan dapat diilustrasikan dengan baik melalui penggunaan sejumlah contoh. Dalam artikel ini, kami memeriksa jenis ketergantungan database umum.

Dependensi Database / Dependensi Fungsional

Ketergantungan 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.

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".

Sebagai contoh, 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 mereka. Namun, pernyataan terbalik (nama -> SSN) tidak benar karena lebih dari satu karyawan dapat memiliki nama yang sama tetapi 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 "A -> B" dan "B -> C" 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 . Sebagai contoh: