Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

การพึ่งพาหลายค่าใน DBMS


การพึ่งพาหลายค่าคืออะไร

เมื่อการมีอยู่ของแถวอย่างน้อยหนึ่งแถวในตารางแสดงถึงแถวอื่นๆ อย่างน้อยหนึ่งแถวในตารางเดียวกัน การขึ้นต่อกันแบบหลายค่าจะเกิดขึ้น

หากตารางมีคุณสมบัติ P, Q และ R ดังนั้น Q และ R จะเป็นข้อเท็จจริงที่มีหลายค่าของ P

มันถูกแทนด้วยลูกศรคู่ −

->->


สำหรับตัวอย่างของเรา:

P->->Q
P->->R


ในกรณีข้างต้น การขึ้นต่อกันแบบหลายค่าจะเกิดขึ้นก็ต่อเมื่อ Q และ R เป็นแอตทริบิวต์อิสระ

ตารางที่มีการขึ้นต่อกันแบบหลายค่าละเมิด 4NF

ตัวอย่าง

มาดูตัวอย่างกัน &mins;

<นักเรียน>

StudentName
หลักสูตร
กิจกรรม
อามิท
คณิตศาสตร์
ร้องเพลง
อามิท
คณิตศาสตร์
การเต้นรำ
ยุวราช
คอมพิวเตอร์
คริกเก็ต
Akash
วรรณกรรม
การเต้นรำ
Akash
วรรณกรรม
คริกเก็ต
Akash
วรรณกรรม
ร้องเพลง


ในตารางด้านบน เราจะเห็น Student Amit และ อาคัช มีความสนใจมากกว่าหนึ่งกิจกรรม

นี่เป็นการพึ่งพาหลายค่าเพราะ หลักสูตร ของนักเรียนเป็นอิสระจากกิจกรรม แต่ขึ้นอยู่กับนักเรียน

ดังนั้นการพึ่งพาหลายค่า -

StudentName ->-> CourseDiscipline
ชื่อนักเรียน ->-> กิจกรรม


ความสัมพันธ์ข้างต้นละเมิดรูปแบบปกติที่สี่ในการทำให้เป็นมาตรฐาน

ในการแก้ไข ให้แบ่งตารางออกเป็นสองตารางแยกกันและแยกการพึ่งพาแบบหลายค่า −

StudentName
หลักสูตร
อามิท
คณิตศาสตร์
อามิท
คณิตศาสตร์
ยุวราช
คอมพิวเตอร์
Akash
วรรณกรรม
Akash
วรรณกรรม
Akash
วรรณกรรม


<กิจกรรมของนักเรียน>

StudentName
กิจกรรม
อามิท
ร้องเพลง
อามิท
การเต้นรำ
ยุวราช
คริกเก็ต
Akash
การเต้นรำ
Akash
คริกเก็ต
Akash
ร้องเพลง


สิ่งนี้ทำลายการพึ่งพาแบบหลายค่าและตอนนี้เรามีการพึ่งพาการทำงานสองประการ -

StudentName -> CourseDiscipline
StudentName -> กิจกรรม