Apakah Dependensi Pangkalan Data?

Kebergantungan pangkalan data adalah topik yang sering membingungkan kedua-dua pelajar dan profesional pangkalan data. Nasib baik, mereka tidak begitu rumit dan boleh digambarkan dengan baik melalui penggunaan beberapa contoh. Dalam artikel ini, kami memeriksa jenis ketergantungan pangkalan data biasa.

Dependensi pangkalan data / Dependencies fungsian

Ketergantungan berlaku dalam pangkalan data apabila maklumat yang disimpan di dalam jadual pangkalan data yang sama unik menentukan maklumat lain yang disimpan dalam jadual yang sama. Anda juga boleh menggambarkan ini sebagai hubungan di mana mengetahui nilai satu atribut (atau satu set atribut) cukup untuk memberitahu anda nilai atribut lain (atau set atribut) dalam jadual yang sama.

Mengatakan bahawa terdapat pergantungan antara atribut dalam jadual adalah sama dengan mengatakan bahawa terdapat pergantungan fungsional antara atribut tersebut. Sekiranya terdapat kebergantungan dalam pangkalan data, maka atribut B bergantung pada sifat A, anda akan menulis ini sebagai "A -> B".

Contohnya, Dalam ciri senarai pekerja termasuk nama dan nombor nama keselamatan sosial (SSN), nama boleh bergantung kepada SSN (atau SSN -> nama) kerana nama pekerja boleh ditentukan secara spesifik daripada SSN mereka. Walau bagaimanapun, kenyataan sebaliknya (nama -> SSN) tidak benar kerana lebih daripada seorang pekerja boleh mempunyai nama yang sama tetapi SSN yang berbeza.

Ketergantungan fungsian yang remeh

Ketergantungan fungsi remeh berlaku apabila anda menerangkan kebergantungan fungsi atribut pada koleksi atribut yang merangkumi atribut asal. Sebagai contoh, "{A, B} -> B" adalah kebergantungan fungsi yang remeh, seperti "{name, SSN} -> SSN". Jenis ketergantungan berfungsi dipanggil remeh kerana ia boleh diperoleh dari akal fikiran. Jelas sekali jika anda sudah mengetahui nilai B, maka nilai B dapat ditentukan secara unik oleh pengetahuan itu.

Dependensi Fungsian Penuh

Kebergantungan fungsi penuh berlaku apabila anda telah memenuhi keperluan untuk kebergantungan yang berfungsi dan set atribut di sebelah kiri penyataan pergantungan berfungsi tidak dapat dikurangkan lagi. Sebagai contoh, "{SSN, age} -> nama" adalah kebergantungan yang berfungsi, tetapi ia bukan merupakan pergantungan fungsional sepenuhnya kerana anda boleh mengeluarkan umur dari sebelah kiri kenyataan tanpa mempengaruhi hubungan ketergantungan.

Dependensi Transitif

Ketergantungan transitif berlaku apabila terdapat hubungan tidak langsung yang menyebabkan kebergantungan berfungsi. Sebagai contoh, "A -> C" adalah ketergantungan transitif apabila ia benar hanya kerana kedua-dua "A -> B" dan "B -> C" adalah benar.

Ketergantungan multivalued

Kebergantungan multivaluasi berlaku apabila kehadiran satu atau lebih baris dalam jadual menunjukkan kehadiran satu atau lebih banyak baris lain dalam jadual yang sama. Sebagai contoh, bayangkan syarikat kereta yang mengeluarkan banyak model kereta, tetapi selalu membuat warna merah dan biru setiap model. Sekiranya anda mempunyai jadual yang mengandungi nama model, warna dan tahun setiap kereta yang dikeluarkan oleh syarikat, terdapat pergantungan multivaluasi dalam jadual itu. Sekiranya terdapat satu baris untuk nama model tertentu dan tahun dalam warna biru, mesti ada juga barisan yang serupa dengan versi merah kereta yang sama.

Kepentingan Dependencies

Kebergantungan pangkalan data adalah penting untuk difahami kerana mereka menyediakan blok bangunan asas yang digunakan dalam penataan pangkalan data . Sebagai contoh: