อ่าน 5 นาที
การพึ่งพาแบบหลายค่า
ใน ทฤษฎีฐานข้อมูล ความสัมพันธ์ แบบหลายค่า (multivalued dependency) คือข้อจำกัดที่สมบูรณ์ระหว่างชุดคุณลักษณะสองชุดใน ความสัมพันธ์ หนึ่ง ๆ
การพึ่งพาแบบหลายค่า
ในทฤษฎีฐานข้อมูลความสัมพันธ์แบบหลายค่า (multivalued dependency) คือข้อจำกัดที่สมบูรณ์ระหว่างชุดคุณลักษณะสองชุดในความสัมพันธ์ หนึ่ง ๆ
ตรงกันข้ามกับการพึ่งพาเชิงฟังก์ชัน การพึ่งพาแบบหลายค่าต้องการให้ มี ทูเปิล บางอย่าง อยู่ในความสัมพันธ์ ดังนั้น การพึ่งพาแบบหลายค่าจึงเป็นกรณีพิเศษของการพึ่งพาที่สร้างทูเปิลการพึ่งพาแบบหลายค่ามีบทบาทสำคัญในการทำให้ฐานข้อมูลเป็นรูปแบบปกติ 4NF
การพึ่งพาแบบหลายค่าเป็นกรณีพิเศษของการพึ่งพาแบบเชื่อมโยงโดยมีค่าเพียงสองชุดที่เกี่ยวข้อง กล่าวคือ เป็นการพึ่งพาแบบเชื่อมโยงแบบไบนารี
ความสัมพันธ์แบบพึ่งพาหลายค่าเกิดขึ้นเมื่อมีคุณลักษณะ อย่างน้อยสามอย่าง (เช่น X, Y และ Z) ในความสัมพันธ์นั้นและสำหรับค่าของ X จะมีชุดค่าของ Y ที่กำหนดไว้อย่างชัดเจน และชุดค่าของ Z ที่กำหนดไว้อย่างชัดเจนเช่นกัน อย่างไรก็ตาม ชุดค่าของ Y นั้นเป็นอิสระจากชุดค่าของ Z และในทางกลับกัน
คำจำกัดความอย่างเป็นทางการ
คำจำกัดความอย่างเป็นทางการมีดังนี้: [ 1 ]
ให้เป็นแผนผังความสัมพันธ์และให้และเป็นเซตของแอตทริบิวต์ ความสัมพันธ์แบบพึ่งพาหลายค่า(" multidetermines ") เป็นจริงบนถ้าสำหรับความสัมพันธ์ที่ถูกต้องตามกฎหมายใดๆและคู่ของทูเปิลและในที่ทำให้มีทูเปิลและในที่ทำให้:
โดยทั่วไป หากเรากำหนดให้ แทนทูเปิลที่มีค่ารวมกันเท่ากับแล้วเมื่อใดก็ตามที่ทูเปิลและมีอยู่ในทูเปิลและก็ควรมีอยู่ใน เช่นกัน
ความสัมพันธ์แบบหลายค่าสามารถแสดงได้ด้วยแผนภาพดังที่แสดงด้านล่าง:
ตัวอย่าง
ลองพิจารณาตัวอย่างความสัมพันธ์ระหว่างหลักสูตรมหาวิทยาลัย หนังสือที่แนะนำสำหรับหลักสูตร และอาจารย์ผู้สอนในหลักสูตรนั้น:
| คอร์ส | หนังสือ | อาจารย์ |
|---|---|---|
| เอฮา | ซิลเบอร์ชาทซ์ | จอห์น ดี |
| เอฮา | เนเดอร์เปลต์ | จอห์น ดี |
| เอฮา | ซิลเบอร์ชาทซ์ | วิลเลียม เอ็ม |
| เอฮา | เนเดอร์เปลต์ | วิลเลียม เอ็ม |
| เอฮา | ซิลเบอร์ชาทซ์ | คริสเตียน จี |
| เอฮา | เนเดอร์เปลต์ | คริสเตียน จี |
| โอโซ | ซิลเบอร์ชาทซ์ | จอห์น ดี |
| โอโซ | ซิลเบอร์ชาทซ์ | วิลเลียม เอ็ม |
เนื่องจากอาจารย์ผู้สอนและหนังสือที่เกี่ยวข้องกับหลักสูตรนั้นเป็นอิสระต่อกัน การออกแบบฐานข้อมูลนี้จึงมีการพึ่งพาแบบหลายค่า (multivalued dependency) กล่าวคือ หากเราเพิ่มหนังสือเล่มใหม่ลงในหลักสูตร AHA เราจะต้องเพิ่มระเบียนหนึ่งรายการสำหรับอาจารย์ผู้สอนแต่ละคนในหลักสูตรนั้น และในทางกลับกัน กล่าวอย่างเป็นทางการคือ มีการพึ่งพาแบบหลายค่าสองแบบในความสัมพันธ์นี้ ได้แก่ {หลักสูตร} {หนังสือ} และ {หลักสูตร} {อาจารย์ผู้สอน} ฐานข้อมูลที่มีการพึ่งพาแบบหลายค่าจึงแสดงให้เห็นถึงความซ้ำซ้อน ในการทำให้ฐานข้อมูลเป็นรูปแบบปกติ (normalization ) รูปแบบปกติที่สี่ ( fourth normal form) กำหนดว่า สำหรับการพึ่งพาแบบหลายค่าที่ไม่ใช่แบบไม่สำคัญ (nontrivial multivalued dependency) X YทุกรายการXต้องเป็นซูเปอร์คีย์ (superkey ) การพึ่งพาแบบหลายค่าX Yจะเป็นแบบไม่สำคัญหากYเป็นเซตย่อยของXหรือหากเป็นเซตทั้งหมดของแอตทริบิวต์ของความสัมพันธ์นั้น
คุณสมบัติ
- ถ้าเช่นนั้น
- ถ้าและแล้ว
- ถ้าและแล้ว
สิ่งต่อไปนี้เกี่ยวข้องกับความสัมพันธ์เชิงฟังก์ชัน ด้วยเช่นกัน :
- ถ้าเช่นนั้น
- ถ้าและแล้ว
กฎข้างต้นนั้นถูกต้องและครบถ้วน
- การแยกส่วนของRออกเป็น ( X , Y ) และ ( X , R − Y ) เรียกว่าการแยกส่วนแบบรวมที่ไม่สูญเสียข้อมูลก็ต่อเมื่อX Yเป็นจริงใน R
- ทุกFD ( functional dependency ) คือMVD (multivalued dependency) เพราะถ้า X คือ Y การสลับ Y ระหว่างทูเปิลที่ตรงกันใน X จะไม่สร้างทูเปิลใหม่
- การแบ่งแยกไม่สามารถทำได้เหมือนกับ FD เราไม่สามารถแบ่งด้านซ้ายของ MVD ได้โดยทั่วไป แต่ต่างจาก FD ตรงที่เราไม่สามารถแบ่งด้านขวาได้เช่นกัน บางครั้งคุณอาจต้องเหลือแอตทริบิวต์บางส่วนไว้ทางด้านขวา
- การปิดของเซต MVD คือเซตของ MVD ทั้งหมดที่สามารถอนุมานได้โดยใช้กฎต่อไปนี้ ( สัจพจน์ของอาร์มสตรอง ):
- การเติมเต็ม : ถ้า X คือY แล้ว X คือ R - Y
- การเพิ่มขึ้น : ถ้า X Y และ Z W แล้ว XW YZ
- คุณสมบัติการถ่ายทอด : ถ้า X Y และ Y Z แล้ว X Z - Y
- การทำซ้ำ : ถ้า X Y แล้ว X Y
- การรวมตัวกัน : ถ้า X Y และW st W Y = , W Z และ Z Y แล้ว X Z
คำจำกัดความ
- ข้อจำกัดเต็มรูปแบบ
- ข้อจำกัดที่แสดงรายละเอียดเกี่ยวกับ คุณลักษณะ ทั้งหมดในฐานข้อมูล (ตรงข้ามกับข้อจำกัดแบบฝังตัว ) การที่ความสัมพันธ์แบบหลายค่าเป็นข้อจำกัดแบบสมบูรณ์นั้น มาจากนิยามของมันเอง เพราะมันระบุรายละเอียดเกี่ยวกับคุณลักษณะต่างๆ
- การพึ่งพาที่สร้างทูเพิล
- ความสัมพันธ์แบบพึ่งพาที่กำหนดอย่างชัดเจนว่าต้องมีทูเปิลบางอย่างอยู่ในความสัมพันธ์นั้น
- การพึ่งพาค่าหลายค่าที่ไม่สำคัญ 1
- ความสัมพันธ์แบบหลายค่าที่เกี่ยวข้อง กับแอตทริบิวต์ทั้งหมดของความสัมพันธ์ เช่นความสัมพันธ์แบบหลายค่าที่ไม่สำคัญหมายความว่า สำหรับทูเปิลและทูเปิลและจะเท่ากับและ
- การพึ่งพาค่าหลายค่าที่ไม่สำคัญ 2
- ความสัมพันธ์แบบหลายค่าซึ่ง...
ลิงก์ภายนอก
- ความสัมพันธ์แบบหลายค่าและรูปแบบปกติใหม่สำหรับฐานข้อมูลเชิงสัมพันธ์ (PDF) - โรนัลด์ เฟกิน, ห้องปฏิบัติการวิจัย IBM
- เกี่ยวกับโครงสร้างของความสัมพันธ์แบบอาร์มสตรองสำหรับความสัมพันธ์เชิงฟังก์ชัน (PDF) - CATRIEL BEERI (มหาวิทยาลัยฮิบรู), MARTIN DOWD (มหาวิทยาลัยรัตเกอร์ส), RONALD FAGIN (ห้องปฏิบัติการวิจัย IBM) และ RICHARD STATMAN (มหาวิทยาลัยรัตเกอร์ส)
- เกี่ยวกับปัญหาของ Fagin ที่เกี่ยวข้องกับการพึ่งพาแบบหลายค่าในฐานข้อมูลเชิงสัมพันธ์ (PDF) - Sven Hartmann, มหาวิทยาลัย Massey
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ การพึ่งพาแบบหลายค่า
ใน ทฤษฎีฐานข้อมูล ความสัมพันธ์ แบบหลายค่า (multivalued dependency) คือข้อจำกัดที่สมบูรณ์ระหว่างชุดคุณลักษณะสองชุดใน ความสัมพันธ์ หนึ่ง ๆ
คำจำกัดความอย่างเป็นทางการ
คำจำกัดความอย่างเป็นทางการมีดังนี้: [ 1 ]
ตัวอย่าง
ลองพิจารณาตัวอย่างความสัมพันธ์ระหว่างหลักสูตรมหาวิทยาลัย หนังสือที่แนะนำสำหรับหลักสูตร และอาจารย์ผู้สอนในหลักสูตรนั้น:
คุณสมบัติ
สิ่งต่อไปนี้เกี่ยวข้องกับ ความสัมพันธ์เชิงฟังก์ชัน ด้วยเช่นกัน :