ในฐานข้อมูลเชิงสัมพันธ์การพึ่งพาเกิดขึ้นเมื่อข้อมูลที่เก็บอยู่ในตารางฐานข้อมูลเดียวกันจะกำหนดข้อมูลอื่น ๆ ที่เก็บอยู่ในตารางเดียวกัน การพึ่งพาที่มีหลายค่าจะเกิดขึ้นเมื่อการปรากฏตัวของแถวหนึ่งแถวหรือมากกว่าในตารางแสดงถึงการปรากฏตัวของแถวอื่น ๆ หนึ่งแถวในตารางเดียวกัน ใส่อีกวิธีหนึ่งสองแอตทริบิวต์ (หรือคอลัมน์) ในตารางเป็นอิสระจากกัน แต่ทั้งสองขึ้นอยู่กับแอตทริบิวต์ที่สาม
การพึ่งพาที่มีหลายค่าช่วยป้องกันฟอร์มมาตรฐานที่สี่ตามมาตรฐานปกติ (4NF) ฐานข้อมูลเชิงสัมพันธ์ประกอบด้วยห้ารูปแบบปกติที่แสดงถึงแนวทางในการออกแบบบันทึก ป้องกันข้อมูลอัปเดตและข้อมูลที่ไม่สอดคล้องกัน รูปแบบปกติที่สี่เกี่ยวข้องกับความสัมพันธ์แบบหลายต่อหนึ่งฐานข้อมูล
การพึ่งพาการใช้งานกับการพึ่งพาที่มีหลายค่า
หากต้องการทำความเข้าใจเกี่ยวกับการพึ่งพาที่มีหลายค่าคุณควรอ่านข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาการทำงาน
ถ้าแอ็ตทริบิวต์ X กำหนดแอตทริบิวต์ Y เป็นเอกลักษณ์ Y จะขึ้นอยู่กับ X โดยฟังก์ชันจะเขียนเป็น X -> Y ตัวอย่างเช่นในตาราง Students ด้านล่าง Student_Name จะกำหนด Major:
| ชื่อนักเรียน | สำคัญ |
|---|---|
| ราวี | ประวัติศาสตร์ศิลปะ |
| เบ ธ | เคมี |
การพึ่งพาการทำงานนี้สามารถเขียนได้: Student_Name -> Major . แต่ละ Student_Name กำหนดว่าหนึ่งวิชาเอกและไม่มาก หากคุณต้องการให้ฐานข้อมูลติดตามการกีฬานักเรียนเหล่านี้ด้วยเช่นกันคุณอาจคิดว่าวิธีที่ง่ายที่สุดในการทำเช่นนี้ก็คือการเพิ่มคอลัมน์อื่นที่ชื่อ Sport: ปัญหาคือทั้ง Ravi และ Beth เล่นกีฬาหลาย ๆ จำเป็นต้องเพิ่มแถวใหม่สำหรับการเล่นเพิ่มเติมทุกครั้ง ตารางนี้ได้แนะนำการพึ่งพาซึ่งกันและกันเนื่องจากวิชาเอกและกีฬาเป็นอิสระจากกัน แต่ทั้งสองขึ้นอยู่กับนักเรียน นี่เป็นตัวอย่างง่ายๆและสามารถระบุตัวได้ง่าย แต่การพึ่งพาแบบ multivalue อาจกลายเป็นปัญหาในฐานข้อมูลขนาดใหญ่และซับซ้อน การพึ่งพาที่มีหลายค่าจะถูกเขียน X -> -> Y ในกรณีนี้: ชื่อนักเรียน ->-> สำคัญชื่อนักเรียน->-> กีฬา
ข้อมูลนี้อ่านว่า "Student_Name multidetermines Major" และ "Student_Name multidetermines Sport" การพึ่งพาแบบ multivalued ต้องมีแอตทริบิวต์อย่างน้อยสามอย่างเนื่องจากแอตทริบิวต์ประกอบด้วยอย่างน้อยสองแอตทริบิวต์ที่ขึ้นอยู่กับหนึ่งในสาม ตารางที่มีการพึ่งพาที่มีหลายค่าจะละเมิดมาตรฐาน normalization ของฟอร์มปกติที่ 4 (4NK) เนื่องจากจะสร้างการซ้ำซ้อนที่ไม่จำเป็นและอาจส่งผลต่อข้อมูลที่ไม่สอดคล้องกัน หากต้องการนำข้อมูลนี้ไปถึง 4NF จำเป็นต้องแบ่งข้อมูลนี้ออกเป็นสองตาราง ตารางต่อไปนี้มีการพึ่งพาการทำงานของ Student_Name -> Major และไม่มีการพึ่งพาที่มีหลายค่า: ในขณะที่ตารางนี้ยังมีการพึ่งพาการทำงานของ Student_Name -> กีฬา: เป็นที่ชัดเจนว่าการทำให้เป็นบรรทัดฐานมักถูกแก้ไขโดยการทำให้ตารางที่ซับซ้อนซับซ้อนขึ้นเพื่อให้มีข้อมูลที่เกี่ยวข้องกับแนวคิดหรือชุดรูปแบบเดียวแทนที่จะพยายามทำให้ตารางเดียวมีข้อมูลที่แตกต่างกันมากเกินไปชื่อนักเรียน สำคัญ กีฬา ราวี ประวัติศาสตร์ศิลปะ ฟุตบอล ราวี ประวัติศาสตร์ศิลปะ วอลเลย์บอล ราวี ประวัติศาสตร์ศิลปะ เทนนิส เบ ธ เคมี เทนนิส เบ ธ เคมี ฟุตบอล การพึ่งพาและการทำให้เป็นมาตรฐานแบบหลายค่า
ชื่อนักเรียน สำคัญ ราวี ประวัติศาสตร์ศิลปะ ราวี ประวัติศาสตร์ศิลปะ ราวี ประวัติศาสตร์ศิลปะ เบ ธ เคมี เบ ธ เคมี ชื่อนักเรียน กีฬา ราวี ฟุตบอล ราวี วอลเลย์บอล ราวี เทนนิส เบ ธ เทนนิส เบ ธ ฟุตบอล




