หน้าที่การพึ่งพาอาศัยกันคืออะไร
การพึ่งพาการทำงานใน DBMS ตามชื่อที่แนะนำคือความสัมพันธ์ระหว่างแอตทริบิวต์ของตารางที่พึ่งพาซึ่งกันและกัน เปิดตัวโดย E.F. Codd ซึ่งช่วยป้องกันความซ้ำซ้อนของข้อมูลและทำความรู้จักกับการออกแบบที่ไม่ดี
เพื่อให้เข้าใจแนวคิดอย่างถี่ถ้วน ให้เราพิจารณาว่า P เป็นความสัมพันธ์กับแอตทริบิวต์ A และ B โดยแสดงการพึ่งพาฟังก์ชันโดย -> (เครื่องหมายลูกศร)
ต่อไปนี้จะแสดงการพึ่งพาการทำงานระหว่างแอตทริบิวต์ที่มีเครื่องหมายลูกศร -
A -> B |
ด้านบนแนะนำสิ่งต่อไปนี้:
ตัวอย่าง
ต่อไปนี้คือตัวอย่างที่จะช่วยให้เข้าใจการพึ่งพาฟังก์ชันได้ง่ายขึ้น -
เรามี
DeptId =ID แผนก DeptName =ชื่อแผนก |
DeptId คือคีย์หลักของเรา ที่นี่ DeptId ไม่ซ้ำกันระบุ DeptName คุณลักษณะ. เนื่องจากถ้าคุณต้องการทราบชื่อแผนก อันดับแรก คุณต้องมี DeptId .
DeptId | DeptName |
001 | การเงิน |
002 | การตลาด |
003 | HR |
ดังนั้นการพึ่งพาการทำงานข้างต้นระหว่าง DeptId และ DeptName สามารถกำหนดเป็น DeptId ทำงานขึ้นอยู่กับ DeptName −
DeptId -> DeptName |
ประเภทของการทำงานที่ต้องพึ่งพาอาศัยกัน
Functional Dependency มีสามรูปแบบ -
- การพึ่งพาฟังก์ชันเล็กน้อย
- การพึ่งพาการทำงานที่ไม่สำคัญ
- การพึ่งพาการทำงานที่ไม่สำคัญโดยสิ้นเชิง
มาเริ่มกันที่ Trivial Functional Dependency -
การพึ่งพาฟังก์ชันเล็กน้อย
เกิดขึ้นเมื่อ B เป็นสับเซตของ A ใน −
A ->B |
ตัวอย่าง
เรากำลังพิจารณาเหมือนกัน
ต่อไปนี้เป็นการพึ่งพาการทำงานเล็กน้อยตั้งแต่ DeptId เป็นสับเซตของ DeptId และ DeptName
{ DeptId, DeptName } -> รหัสแผนก |
การพึ่งพาการทำงานที่ไม่ใช่ –Trivial
เกิดขึ้นเมื่อ B ไม่ใช่สับเซตของ A ใน −
A ->B |
ตัวอย่าง
DeptId -> DeptName |
ข้างต้นเป็นการพึ่งพาการทำงานที่ไม่สำคัญเนื่องจาก DeptName ไม่ใช่ชุดย่อยของ DeptId
ไม่ใช่อย่างสมบูรณ์ - การพึ่งพาการทำงานเพียงเล็กน้อย
เกิดขึ้นเมื่อจุดตัด A B เป็นโมฆะใน −
A ->B |
คุณสมบัติสัจพจน์ของ Armstrong ของการพึ่งพาฟังก์ชัน
คุณสมบัติ Axioms ของ Armstrong ได้รับการพัฒนาโดย William Armstrong ในปี 1974 เพื่อให้เหตุผลเกี่ยวกับการพึ่งพาฟังก์ชัน
คุณสมบัติแนะนำกฎที่ถือเป็นจริงหากเป็นไปตามเงื่อนไขต่อไปนี้:
- การเปลี่ยนแปลง
ถ้า A->B และ B->C แล้ว A->C คือความสัมพันธ์สกรรมกริยา - การสะท้อนกลับ
A-> B ถ้า B เป็นสับเซตของ A. - การเสริม
กฎข้อสุดท้ายแนะนำ:AC->BC ถ้า A->B