Ketergantungan Berwarna dalam Desain Database

Ketergantungan multivaluasi memecah bentuk normal keempat

Dalam database relasional, ketergantungan terjadi ketika informasi yang disimpan dalam tabel database yang sama secara unik menentukan informasi lain yang disimpan dalam tabel yang sama. Ketergantungan multinilai terjadi ketika kehadiran satu atau lebih baris dalam sebuah tabel menyiratkan adanya satu atau lebih baris lain dalam tabel yang sama. Dengan kata lain, dua atribut (atau kolom) dalam tabel tidak bergantung satu sama lain, tetapi keduanya bergantung pada atribut ketiga.

Ketergantungan multinilai mencegah normalisasi standar bentuk normal keempat (4NF). Database relasional mengikuti lima bentuk normal yang mewakili pedoman untuk desain rekaman. Mereka mencegah pembaruan anomali dan inkonsistensi dalam data. Bentuk normal keempat berhubungan dengan hubungan banyak-ke-satu dalam database .

Ketergantungan Fungsional vs. Ketergantungan Berwibawa

Untuk memahami ketergantungan multinilai, ada baiknya untuk meninjau kembali ketergantungan fungsional.

Jika atribut X secara unik menentukan atribut Y, maka Y secara fungsional bergantung pada X. Ini ditulis sebagai X -> Y. Misalnya, dalam tabel Siswa di bawah ini, Student_Name menentukan Major:

Siswa
Nama siswa Utama
Ravi Sejarah seni
Beth Kimia


Ketergantungan fungsional ini dapat ditulis: Student_Name -> Major . Setiap Student_Name menentukan dengan tepat satu Mayor, dan tidak lebih.

Jika Anda ingin database juga melacak olahraga yang diambil siswa ini, Anda mungkin berpikir cara termudah untuk melakukannya adalah dengan menambahkan kolom lain yang berjudul Sport:

Siswa
Nama siswa Utama Olahraga
Ravi Sejarah seni Sepak bola
Ravi Sejarah seni Bola voli
Ravi Sejarah seni Tenis
Beth Kimia Tenis
Beth Kimia Sepak bola


Masalahnya di sini adalah bahwa baik Ravi dan Beth memainkan banyak olahraga. Anda perlu menambahkan baris baru untuk setiap olahraga tambahan.

Tabel ini telah memperkenalkan ketergantungan multinilai karena mayor dan olahraga tidak bergantung satu sama lain tetapi keduanya bergantung pada siswa.

Ini adalah contoh sederhana dan mudah diidentifikasi, tetapi ketergantungan multinilai bisa menjadi masalah dalam database yang besar dan rumit.

Ketergantungan multinilai ditulis X -> -> Y. Dalam kasus ini:

Student_Name -> -> Mayor
Student_Name -> -> Sport

Ini dibaca sebagai "Student_Name multidetermines Major" dan "Student_Name multidetermines Sport."

Ketergantungan multinilai selalu membutuhkan setidaknya tiga atribut karena terdiri dari setidaknya dua atribut yang bergantung pada sepertiga.

Ketergantungan dan Normalisasi Multinilai

Sebuah tabel dengan ketergantungan multinilai melanggar standar normalisasi dari Bentuk Normal Keempat (4NK) karena menciptakan redundansi yang tidak perlu dan dapat berkontribusi pada data yang tidak konsisten. Untuk membawa ini ke 4NF, perlu untuk memecah informasi ini menjadi dua tabel.

Tabel di bawah ini sekarang memiliki ketergantungan fungsional Student_Name -> Major, dan tidak ada dependensi multinilai:

Mahasiswa & Jurusan
Nama siswa Utama
Ravi Sejarah seni
Ravi Sejarah seni
Ravi Sejarah seni
Beth Kimia
Beth Kimia

Sementara tabel ini juga memiliki ketergantungan fungsional tunggal dari Student_Name -> Sport:

Siswa & Olahraga
Nama siswa Olahraga
Ravi Sepak bola
Ravi Bola voli
Ravi Tenis
Beth Tenis
Beth Sepak bola

Sudah jelas bahwa normalisasi sering diatasi dengan menyederhanakan tabel-tabel yang rumit sehingga mereka memuat informasi yang terkait dengan satu ide atau tema daripada mencoba membuat satu tabel berisi terlalu banyak informasi yang berlainan.