Kebergantungan Berbilang Nilai dalam Pangkalan Data

Isi kandungan:

Kebergantungan Berbilang Nilai dalam Pangkalan Data
Kebergantungan Berbilang Nilai dalam Pangkalan Data
Anonim

Dalam pangkalan data hubungan, kebergantungan berlaku apabila maklumat yang disimpan dalam jadual pangkalan data yang sama secara unik menentukan maklumat lain yang disimpan dalam jadual yang sama. Kebergantungan berbilang nilai berlaku apabila kehadiran satu atau lebih baris dalam jadual menunjukkan kehadiran satu atau lebih baris lain dalam jadual yang sama. Dengan kata lain, dua atribut (atau lajur) dalam jadual adalah bebas antara satu sama lain, tetapi kedua-duanya bergantung pada atribut ketiga.

Image
Image

Pergantungan berbilang nilai menghalang bentuk normal keempat standard penormalan. Pangkalan data perhubungan mengikut lima bentuk biasa yang mewakili garis panduan untuk reka bentuk rekod. Mereka menghalang anomali kemas kini dan ketidakkonsistenan dalam data. Bentuk normal keempat memperkatakan perhubungan banyak-dengan-satu dalam pangkalan data.

Kebergantungan Fungsional lwn. Ketergantungan Berbilang Nilai

Untuk memahami kebergantungan berbilang nilai, adalah berguna untuk menyemak semula kebergantungan berfungsi.

Jika atribut X secara unik menentukan atribut Y, maka Y bergantung secara fungsi pada X. Ini ditulis sebagai X -> Y. Contohnya, dalam jadual Pelajar di bawah, Nama_Murid menentukan Major:

Nama_Pelajar Major
Ravi Sejarah Seni
Beth Kimia

Kebergantungan fungsi ini boleh ditulis: Nama_Pelajar -> Major. Setiap Student_Name menentukan tepat satu Major dan tidak lebih.

Jika anda mahu pangkalan data turut menjejaki sukan yang pelajar ini ambil, anda mungkin fikir cara paling mudah untuk melakukannya ialah dengan hanya menambah satu lagi lajur bertajuk Sukan:

Nama_Pelajar Major Sukan
Ravi Sejarah Seni Bola Sepak
Ravi Sejarah Seni Bola Tampar
Ravi Sejarah Seni Tenis
Beth Kimia Tenis
Beth Kimia Bola Sepak

Masalahnya di sini ialah Ravi dan Beth bermain beberapa sukan. Anda perlu menambah baris baharu untuk setiap sukan tambahan.

Jadual ini telah memperkenalkan kebergantungan berbilang nilai kerana jurusan dan sukan adalah bebas antara satu sama lain tetapi kedua-duanya bergantung kepada pelajar. Ini adalah contoh mudah dan mudah dikenal pasti, tetapi pergantungan berbilang nilai boleh menjadi masalah dalam pangkalan data yang besar dan kompleks.

Pergantungan berbilang nilai ditulis X ->-> Y. Dalam kes ini:

Nama_Pelajar ->-> Major

Nama_Pelajar -64334 > Sukan

Ini dibaca sebagai "Nama_Pelajar menentukan pelbagai Major" dan "Nama_Pelajar menentukan pelbagai Sukan."

Pergantungan berbilang nilai sentiasa memerlukan sekurang-kurangnya tiga atribut kerana ia terdiri daripada sekurang-kurangnya dua atribut yang bergantung pada satu pertiga.

Kebergantungan Berbilang Nilai dan Normalisasi

Jadual dengan kebergantungan berbilang nilai melanggar piawaian normalisasi bentuk normal keempat kerana ia menghasilkan lebihan yang tidak perlu dan boleh menyumbang kepada data yang tidak konsisten. Untuk membawa ini kepada 4NF, maklumat ini perlu dipecahkan kepada dua jadual.

Jadual di bawah kini mempunyai kebergantungan fungsi Student_Name -> Major, dan tiada kebergantungan berbilang nilai:

Nama_Pelajar Major
Ravi Sejarah Seni
Ravi Sejarah Seni
Ravi Sejarah Seni
Beth Kimia
Beth Kimia

Walaupun jadual ini juga mempunyai kebergantungan fungsi tunggal Student_Name -> Sukan:

Nama_Pelajar Sukan
Ravi Bola Sepak
Ravi Bola Tampar
Ravi Tenis
Beth Tenis
Beth Bola Sepak

Penormalan selalunya dicapai dengan memudahkan jadual kompleks supaya ia mengandungi maklumat yang berkaitan dengan idea atau tema tunggal daripada cuba menjadikan satu jadual mengandungi terlalu banyak maklumat yang berbeza.

Disyorkan: