การพึ่งพาการทำงานใน DBMS: คืออะไร ประเภทและตัวอย่าง
การพึ่งพาการทำงานคืออะไร?
การพึ่งพาการทำงาน (FD) เป็นข้อจำกัดที่กำหนดความสัมพันธ์ของคุณลักษณะหนึ่งกับคุณลักษณะอื่นในระบบการจัดการฐานข้อมูล (DBMS) Functional Dependency ช่วยรักษาคุณภาพของข้อมูลในฐานข้อมูล มีบทบาทสำคัญในการค้นหาความแตกต่างระหว่างการออกแบบฐานข้อมูลที่ดีและไม่ดี
การพึ่งพาการทำงานจะแสดงด้วยลูกศร “→” การพึ่งพาการทำงานของ X บน Y แสดงโดย X → Y มาทำความเข้าใจการพึ่งพาการทำงานใน DBMS ด้วยตัวอย่าง
ตัวอย่าง:
หมายเลขพนักงาน | ชื่อพนักงาน | เงินเดือน | เมือง |
---|---|---|---|
1 | Dana | 50000 | ซานฟรานซิสโก |
2 | ฟรานซิส | 38000 | ลอนดอน |
3 | แอนดรู | 25000 | Tokyo |
ในตัวอย่างนี้ ถ้าเราทราบค่าของหมายเลขพนักงาน เราก็สามารถรับชื่อพนักงาน เมือง เงินเดือน ฯลฯ ได้ โดยสิ่งนี้ เราสามารถพูดได้ว่าเมือง ชื่อพนักงาน และเงินเดือนนั้นขึ้นอยู่กับหน้าที่การใช้งานของหมายเลขพนักงาน
คำสำคัญ
ต่อไปนี้เป็นคำศัพท์สำคัญบางประการสำหรับการพึ่งพาการทำงานในฐานข้อมูล:
เงื่อนไขที่สำคัญ | Descriptไอออน |
---|---|
ความจริง | Axioms คือชุดของกฎการอนุมานที่ใช้ในการอนุมานการขึ้นต่อกันของฟังก์ชันทั้งหมดในฐานข้อมูลเชิงสัมพันธ์ |
การจำแนก | เป็นกฎที่แนะนำหากคุณมีตารางที่ดูเหมือนจะมีสองเอนทิตีซึ่งถูกกำหนดโดยคีย์หลักเดียวกัน คุณควรพิจารณาแยกออกเป็นสองตารางที่แตกต่างกัน |
ขึ้นอยู่กับ | มันจะแสดงบน ด้านขวาของแผนภาพการพึ่งพาการทำงาน |
ปัจจัย | จะแสดงอยู่ที่ด้านซ้ายของ Diagram การอ้างอิงฟังก์ชัน |
สหภาพ | แนะนำว่าหากตารางสองตารางแยกจากกัน และ PK เท่ากัน คุณควรพิจารณาวางตารางเหล่านั้น ด้วยกัน |
กฎของการพึ่งพาการทำงาน
ด้านล่างนี้เป็นกฎที่สำคัญที่สุดสามข้อสำหรับการพึ่งพาการทำงานในฐานข้อมูล:
- กฎการสะท้อน –. ถ้า X คือชุดของคุณลักษณะและ Y เป็นชุดย่อยของ X แล้ว X จะเก็บค่าเป็น Y
- กฎการเพิ่ม: เมื่อ x -> y คงอยู่ และ c ถูกตั้งค่าแอ็ตทริบิวต์ ดังนั้น ac -> bc ก็จะคงอยู่เช่นกัน นั่นคือการเพิ่มคุณลักษณะที่ไม่เปลี่ยนการพึ่งพาพื้นฐาน
- กฎการเปลี่ยนผ่าน: กฎนี้คล้ายกับกฎสกรรมกริยาในพีชคณิตอย่างมาก ถ้า x -> y คงอยู่ และ y -> z คงอยู่ จากนั้น x -> z ก็จะคงอยู่เช่นกัน X -> y ถูกเรียกว่าตามหน้าที่ที่กำหนด y
ประเภทของการพึ่งพาการทำงานใน DBMS
ประเภทของการอ้างอิงฟังก์ชันใน DBMS มีอยู่ 4 ประเภทหลักๆ ต่อไปนี้คือประเภทของการอ้างอิงฟังก์ชันใน DBMS:
- การพึ่งพาหลายค่า
- การพึ่งพาการทำงานเล็กน้อย
- การพึ่งพาการทำงานที่ไม่สำคัญ
- การพึ่งพาสกรรมกริยา
การพึ่งพาหลายค่าใน DBMS
ความสัมพันธ์แบบหลายค่าเกิดขึ้นในสถานการณ์ที่มีแอตทริบิวต์หลายค่าอิสระหลายรายการในตารางเดียว ความสัมพันธ์แบบหลายค่าเป็นข้อจำกัดที่สมบูรณ์ระหว่างแอตทริบิวต์สองชุดในความสัมพันธ์ จำเป็นต้องมีทูเพิลบางรายการอยู่ในความสัมพันธ์ ลองพิจารณาตัวอย่างความสัมพันธ์แบบหลายค่าต่อไปนี้เพื่อทำความเข้าใจ
ตัวอย่าง:
รถ_รุ่น | มาฟ_ปี | สี |
---|---|---|
H001 | 2017 | เมทัลลิ |
H001 | 2017 | สีเขียว |
H005 | 2018 | เมทัลลิ |
H005 | 2018 | สีน้ำเงิน |
H010 | 2015 | เมทัลลิ |
H033 | 2012 | สีเทา |
ในตัวอย่างนี้ maf_year และสีมีความเป็นอิสระจากกัน แต่ขึ้นอยู่กับ car_model ในตัวอย่างนี้ ทั้งสองคอลัมน์นี้เรียกว่าหลายค่าขึ้นอยู่กับ car_model
การพึ่งพาอาศัยกันนี้สามารถแสดงได้ดังนี้:
car_model -> maf_year
car_model->สี
การพึ่งพาการทำงานเล็กน้อยใน DBMS
การพึ่งพาเรื่องเล็กน้อยคือชุดของคุณลักษณะซึ่งเรียกว่าเรื่องเล็กน้อยหากชุดของคุณลักษณะรวมอยู่ในคุณลักษณะนั้น
ดังนั้น X -> Y เป็นการพึ่งพาฟังก์ชันเล็กน้อยหาก Y เป็นส่วนย่อยของ X มาทำความเข้าใจกับตัวอย่างการพึ่งพาฟังก์ชันเล็กน้อยกัน
ตัวอย่างเช่น:
Emp_id | Emp_name |
---|---|
AS555 | Harry |
AS811 | จอร์จ |
AS999 | เควิน |
พิจารณาตารางนี้ซึ่งมีสองคอลัมน์ Emp_id และ Emp_name
{Emp_id, Emp_name} -> Emp_id เป็นการพึ่งพาฟังก์ชันเล็กน้อย เนื่องจาก Emp_id เป็นส่วนย่อยของ {Emp_id,Emp_name}
การพึ่งพาการทำงานที่ไม่สำคัญใน DBMS
การพึ่งพาเชิงฟังก์ชันซึ่งเรียกอีกอย่างว่าการพึ่งพาแบบไม่ไม่สำคัญเกิดขึ้นเมื่อ A->B ถือเป็นจริงโดยที่ B ไม่ใช่เซตย่อยของ A ในความสัมพันธ์ ถ้าคุณลักษณะ B ไม่ใช่เซตย่อยของคุณลักษณะ A ก็จะถือว่าเป็นการพึ่งพาแบบไม่ไม่สำคัญ การพึ่งพาอาศัยกัน
เกี่ยวกับเรา | CEO | อายุ |
---|---|---|
Microsoft | สัตยา Nadella | 51 |
Sundar พิชัย | 46 | |
Apple | Tim Cook | 57 |
ตัวอย่าง:
(Company} -> {CEO} (ถ้าเรารู้จักบริษัท เราก็รู้ชื่อ CEO)
แต่ CEO ไม่ใช่ส่วนย่อยของบริษัท และด้วยเหตุนี้ จึงเป็นการพึ่งพาฟังก์ชันการทำงานที่ไม่สำคัญ
การพึ่งพาสกรรมกริยาใน DBMS
การพึ่งพาแบบทรานซิทีฟคือประเภทของการพึ่งพาแบบฟังก์ชันที่เกิดขึ้นเมื่อ "t" ถูกสร้างขึ้นโดยอ้อมจากการพึ่งพาแบบฟังก์ชันสองแบบ มาทำความเข้าใจกันด้วยตัวอย่างการพึ่งพาแบบทรานซิทีฟต่อไปนี้
ตัวอย่าง:
เกี่ยวกับเรา | CEO | อายุ |
---|---|---|
Microsoft | สัตยา Nadella | 51 |
Sundar พิชัย | 46 | |
อาลีบาบา | แจ็คหม่า | 54 |
{Company} -> {CEO} (ถ้าเรารู้จักบริษัท เราก็รู้ชื่อ CEO ของบริษัท)
{CEO } -> {Age} ถ้าเรารู้จัก CEO เราก็รู้จัก Age
ดังนั้นตามกฎของกฎแห่งการพึ่งพาสกรรมกริยา:
{Company} -> {Age} ควรจะถือไว้ ซึ่งก็สมเหตุสมผลเพราะถ้าเรารู้ชื่อบริษัท เราก็สามารถรู้อายุของเขาได้
หมายเหตุ: คุณต้องจำไว้ว่าการพึ่งพาสกรรมกริยาสามารถเกิดขึ้นได้ในความสัมพันธ์ของแอตทริบิวต์สามรายการขึ้นไปเท่านั้น
Normalization คืออะไร?
การทำให้เป็นมาตรฐานเป็นวิธีการจัดระเบียบข้อมูลในฐานข้อมูลซึ่งช่วยให้คุณหลีกเลี่ยงความซ้ำซ้อนของข้อมูล การแทรก การอัปเดตและการลบความผิดปกติ เป็นกระบวนการวิเคราะห์สคีมาความสัมพันธ์ตามการขึ้นต่อกันของฟังก์ชันและคีย์หลักที่แตกต่างกัน
การทำให้เป็นมาตรฐานนั้นมีอยู่ในทฤษฎีฐานข้อมูลเชิงสัมพันธ์ อาจมีผลกระทบต่อการทำซ้ำข้อมูลเดียวกันภายในฐานข้อมูลซึ่งอาจส่งผลให้เกิดการสร้างตารางเพิ่มเติม
ข้อดีของการพึ่งพาการทำงาน
- การพึ่งพาการทำงานจะหลีกเลี่ยงความซ้ำซ้อนของข้อมูล ดังนั้นข้อมูลเดียวกันจึงไม่เกิดซ้ำในหลายตำแหน่งในนั้น ฐานข้อมูล
- ช่วยให้คุณรักษาคุณภาพของข้อมูลในฐานข้อมูล
- ช่วยให้คุณกำหนดความหมายและข้อจำกัดของฐานข้อมูล
- ช่วยให้คุณระบุการออกแบบที่ไม่ดีได้
- ช่วยให้คุณค้นหาข้อเท็จจริงเกี่ยวกับการออกแบบฐานข้อมูล
สรุป
- การพึ่งพาการทำงานคือเมื่อคุณลักษณะหนึ่งกำหนดคุณลักษณะอื่นใน ระบบดีบีเอ็มเอส.
- สัจพจน์, การสลายตัว, ขึ้นอยู่กับ, ปัจจัยกำหนด, ยูเนี่ยนเป็นคำสำคัญสำหรับการพึ่งพาการทำงาน
- การพึ่งพาการทำงานสี่ประเภทคือ 1) หลายค่า 2) เล็กน้อย 3) ไม่สำคัญ 4) สกรรมกริยา
- การขึ้นต่อกันแบบหลายค่าเกิดขึ้นในสถานการณ์ที่มีแอตทริบิวต์หลายค่าอิสระหลายค่าในตารางเดียว
- การพึ่งพาแบบ Trivial เกิดขึ้นเมื่อชุดของคุณลักษณะที่เรียกว่า Trivial ถ้าชุดของคุณลักษณะรวมอยู่ในคุณลักษณะนั้น
- การพึ่งพาแบบไม่ไม่สำคัญเกิดขึ้นเมื่อ A->B ถือเป็นจริง โดยที่ B ไม่ใช่เซตย่อยของ A
- สกรรมกริยาเป็นประเภทของการพึ่งพาการทำงานที่เกิดขึ้นเมื่อเกิดขึ้นทางอ้อมจากการพึ่งพาการทำงานสองอย่าง
- การทำให้เป็นมาตรฐานเป็นวิธีการจัดระเบียบข้อมูลในฐานข้อมูลซึ่งช่วยให้คุณหลีกเลี่ยงข้อมูลซ้ำซ้อน