Dependensi fungsional penuh ing Database Normalisasi

Ketergantungan fungsional sing kebak yaiku sawijining pangaturan normalisasi database sing padha karo standar normalisasi Formulir Normal Kapindho (2NF) . Ing ringkesan, iki tegese kudu memenuhi syarat-syarat First Normal Form (1NF), lan kabeh atribut non-key gumantung ing fungsi utama.

Iki ora rumit amarga bisa uga dienggo. Ayo ndeleng iki luwih rinci.

Ringkesan Formulir Normal Kapisan

Sadurunge basis data bisa gumantung sacara fungsional, kudu pisanan tundhuk Formulir Normal .

Kabeh iki ateges saben atribut kudu nduwe siji, nilai atom.

Contone, tabel ing ngisor iki ora sesuai karo 1NF, amarga karyawan Tina disambung menyang rong lokasi, loro ing sawijining sel:

Formulir Normal Pisanan Non-Compliance
Karyawan Lokasi
Yohanes Los Angeles
Tina Los Angeles, Chicago

Ngidini desain iki bisa nyebabake pangaruh anyar utawa entri data. Kanggo mesthine tundhuk 1NF, ndandani ulang tabel supaya kabeh kawicaksanan (utawa kolom kolom) nahan nilai siji:

Kepatuhan Formulir Awal pisanan
Karyawan Lokasi
Yohanes Los Angeles
Tina Los Angeles
Tina Chicago

Nanging 1NF isih ora cukup kanggo ngatasi masalah karo data.

Carane 2NF Dianggo kanggo Mriksa Dependency Full

Kanggo dadi gumantung banget, kabeh atribut tombol non-calon kudu gumantung ing tombol utama. (Elinga, atribut kunci calon kunci apa wae (umpamane, kunci utama utawa manca) digunakake kanggo ngenali rekaman basis data kanthi unik.

Desainer basis data nggunakake notasi kanggo njelasake hubungan gumantung antara atribut:

Yen atribut A nemtokake nilai B, kita nulis iki A -> B - artine B gumantung sacara fungsional. A. Ing hubungan iki, A nemtokake nilai B, dene B gumantung marang A.

Contone, ing tabel EmployeeID lan DeptID ana loro tombol calon: EmployeeID yaiku kunci utama meja nalika DeptID minangka kunci asing.

Sembarang atribut liyane - ing kasus iki, EmployeeName lan DeptName - kudu gumantung saka tombol utama kanggo entuk manfaat.

Departemen Karyawan
EmployeeID EmployeeName DeptID DeptName
Emp1 Yohanes Dept001 Keuangan
Emp2 Tina Dept003 Sales
Emp3 Carlos Dept001 Keuangan

Ing kasus iki, tabel ora gumantung banget amarga, nalika EmployeeName gumantung marang kunci utama EmployeeID, DeptName gumantung ing DeptID. Iki diarani ketergantungan parsial .

Kanggo nggawe tabel iki kanggo 2NF, kita kudu misahake data dadi rong tabel:

Karyawan
EmployeeID EmployeeName DeptID
Emp1 Yohanes Dept001
Emp2 Tina Dept003
Emp3 Carlos Dept001

Kita mbusak atribut DeptName saka meja Karyawan lan gawe departemen Tabel anyar:

Departemen
DeptID DeptName
Dept001 Keuangan
Dept002 Sumber Daya Manusia
Dept003 Sales

Saiki hubungan antarane tabel iki gumantung banget, utawa ing 2NF.

Kenapa Gabungan Full Penting

Katergantungan kanthi lengkap antarane atribut basis data mbantu njamin integritas data lan supaya data anomali.

Contone, nimbang tabel ing ndhuwur sing mung adhedhasar 1NF. Punika, maneh:

Kepatuhan Formulir Awal pisanan
Karyawan Lokasi
Yohanes Los Angeles
Tina Los Angeles
Tina Chicago

Tina nduweni 2 cathetan. Yen kita ngupdate siji tanpa mangerteni yen ana loro, asil bakal dadi data ora konsisten.

Utawa, apa yen kita pengin nambah karyawan menyang tabel iki, nanging durung ngerti lokasi? Kita bisa uga ora diijini malah nambah karyawan anyar yen atribut Lokasi ora ngidini NULL nilai.

Dhuwure ora sakabehe ora sakabehe gambar, sanajan, nalika nerangake normalisasi. Sampeyan kudu nggawe manawa database sampeyan ana ing Formulir Normal Katelu (3NF).