Ketergantungan Fungsi Penuh dalam Normalisasi Pangkalan Data

Satu pergantungan fungsian penuh adalah keadaan pengkormalan pangkalan data yang sama dengan standard normalisasi Borang Normal Kedua (2NF) . Ringkasnya, ini bermakna bahawa ia memenuhi syarat-syarat Formula Pertama Pertama (1NF), dan semua atribut bukan utama bergantung sepenuhnya kepada fungsi utama.

Ini tidak rumit kerana ia mungkin berbunyi. Lihatlah ini dengan lebih terperinci.

Ringkasan Borang Normal Pertama

Sebelum pangkalan data boleh bergantung sepenuhnya secara fungsional, ia mestilah terlebih dahulu mematuhi Borang Normal Pertama .

Semua ini bermakna setiap atribut mesti memegang satu nilai atom.

Sebagai contoh, jadual berikut tidak mematuhi 1NF, kerana pekerja Tina dikaitkan dengan dua lokasi, keduanya dalam satu sel:

Borang Normal Pertama yang Tidak Patuh
Pekerja Lokasi
John Los Angeles
Tina Los Angeles, Chicago

Membenarkan reka bentuk ini memberi kesan buruk kepada kemas kini atau penyertaan data. Untuk memastikan kepatuhan 1NF, susun semula jadual supaya semua atribut (atau sel lajur) memegang satu nilai:

Pematuhan Borang Normal Pertama
Pekerja Lokasi
John Los Angeles
Tina Los Angeles
Tina Chicago

Tetapi 1NF masih tidak mencukupi untuk mengelakkan masalah dengan data.

Bagaimana 2NF berfungsi untuk memastikan ketergantungan penuh

Untuk bergantung sepenuhnya, semua atribut utama bukan kandidat mestilah bergantung pada kunci utama. (Ingat, atribut utama kandidat adalah sebarang kekunci (sebagai contoh, kunci utama atau asing) yang digunakan secara unik untuk mengenal pasti rekod pangkalan data.

Pereka pangkalan data menggunakan notasi untuk menggambarkan hubungan bergantung antara atribut:

Jika atribut A menentukan nilai B, kita menuliskan ini A -> B - bermakna bahawa B secara fungsinya bergantung kepada A. Dalam hubungan ini, A menentukan nilai B, manakala B bergantung kepada A.

Contohnya, dalam jadual Kakitangan Pekerja berikut, EmployeeID dan DeptID adalah kedua-dua kekunci calon: EmployeeID adalah kunci utama jadual manakala DeptID adalah kunci asing.

Sebarang atribut lain - dalam kes ini, Nama Pekerja dan DeptName - mesti bergantung kepada kunci utama untuk mendapatkan nilainya.

Jabatan Kakitangan
ID pekerja Nama Pekerja DeptID DeptName
Emp1 John Dept001 Kewangan
Emp2 Tina Dept003 Jualan
Emp3 Carlos Dept001 Kewangan

Dalam kes ini, jadual tidak bergantung sepenuhnya kerana, sementara EmployeeName bergantung kepada kunci utama EmployeeID, DeptName bergantung kepada DeptID. Ini dipanggil pergantungan sebahagian .

Untuk membuat jadual ini sesuai dengan 2NF, kita perlu memisahkan data ke dalam dua jadual:

Pekerja
ID pekerja Nama Pekerja DeptID
Emp1 John Dept001
Emp2 Tina Dept003
Emp3 Carlos Dept001

Kami mengeluarkan atribut DeptName daripada jadual Pekerja dan mencipta Jabatan meja baharu:

Jabatan
DeptID DeptName
Dept001 Kewangan
Dept002 Sumber Manusia
Dept003 Jualan

Kini hubungan antara jadual bergantung sepenuhnya, atau dalam 2NF.

Mengapa Ketergantungan Penuh Penting

Kebergantungan penuh antara atribut pangkalan data membantu memastikan integriti data dan mengelakkan anomali data.

Sebagai contoh, pertimbangkan jadual di bahagian di atas yang mematuhi hanya 1NF. Di sini, sekali lagi:

Pematuhan Borang Normal Pertama
Pekerja Lokasi
John Los Angeles
Tina Los Angeles
Tina Chicago

Tina mempunyai dua rekod. Jika kita mengemas kini satu tanpa menyedari bahawa terdapat dua, hasilnya akan menjadi data yang tidak konsisten.

Atau, bagaimana jika kami mahu menambah pekerja ke meja ini, tetapi kami masih belum mengetahui Lokasi? Kami mungkin tidak dibenarkan untuk menambah pekerja baru jika atribut Lokasi tidak membenarkan nilai NULL.

Kebergantungan penuh bukanlah gambaran keseluruhan, walaupun, ketika datang kepada normalisasi. Anda mesti pastikan pangkalan data anda dalam Borang Ketiga Ketiga (3NF).