Skip to main content

Panduan untuk Memahami Ketergantungan Pangkalan Data

Materi tentang Dependensi (Mungkin 2025)

Materi tentang Dependensi (Mungkin 2025)
Anonim

Ketergantungan adalah kekangan yang berkaitan dengan atau mentakrifkan hubungan antara atribut. Ia berlaku dalam pangkalan data apabila maklumat yang disimpan 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.

Kebergantungan pangkalan data sering membingungkan kedua-dua pelajar dan profesional pangkalan data. Mujurlah, mereka tidak begitu rumit kerana mereka mungkin kelihatan. Mereka boleh dijelaskan dengan menggunakan beberapa contoh. Di sini, kami akan memeriksa jenis kebergantungan pangkalan data biasa.

Dependensi Pangkalan Data dan Ketergantungan Fungsian

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 kepada atribut A, anda akan menulis ini sebagai:

A -> B

Contohnya, dalam senarai jadual ciri-ciri pekerja, termasuk nombor Keselamatan Sosial (SSN) dan nama, boleh dikatakan bahawa nama itu bergantung kepada SSN (atau nama SSN ->) kerana nama pekerja dapat ditentukan secara unik dari SSN. Walau bagaimanapun, kenyataan sebaliknya (nama -> SSN) tidak benar kerana lebih daripada satu pekerja boleh mempunyai nama yang sama tetapi selalu mempunyai 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 pergantungan fungsi yang sepele, seperti {nama, 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 penuh kerana anda boleh mengeluarkan umur dari sebelah kiri pernyataan tanpa mempengaruhi hubungan ketergantungan.

Dependensi Transitif

Ketergantungan transitif berlaku apabila terdapat hubungan tidak langsung yang menyebabkan kebergantungan berfungsi. Sebagai contoh, A -> C adalah kebergantungan 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 penting untuk difahami kerana mereka menyediakan blok bangunan asas yang digunakan dalam normalisasi pangkalan data, proses penyusunan data secara efisien dalam pangkalan data. Sebagai contoh:

  • Untuk jadual untuk berada dalam bentuk biasa kedua (2NF), tidak boleh ada kesakrif sifat atasan yang tidak bergantung pada subset kunci calon.
  • Untuk jadual di dalam bentuk normal ketiga (3NF), setiap atribut nonprime mesti mempunyai kebergantungan fungsional yang tidak transparan pada setiap kunci calon.
  • Untuk jadual yang ada dalam Boyce-Codd Normal Form (BCNF), setiap pergantungan fungsional (selain daripada ketergantungan remeh) mestilah pada superkey.
  • Untuk jadual di dalam bentuk normal keempat (4NF), ia tidak boleh mempunyai kebergantungan multivalu.