แนะนำ, 2024

ตัวเลือกของบรรณาธิการ

ความแตกต่างระหว่าง Super Key กับ Candidate Key

คีย์เป็นองค์ประกอบสำคัญของฐานข้อมูลเชิงสัมพันธ์ มันระบุแต่ละ tuple ในความสัมพันธ์ที่ไม่ซ้ำกัน คีย์ยังใช้เพื่อสร้างความสัมพันธ์ระหว่างตารางในสคีมา ในบทความนี้เราจะพูดถึงสองคีย์พื้นฐานของฐานข้อมูลใด ๆ ที่เป็นซุปเปอร์คีย์และคีย์ผู้สมัคร รหัสผู้สมัครทุกคนเป็นกุญแจสำคัญ แต่ทุก ๆ กุญแจอาจเป็นหรือไม่ได้รับรหัสผู้สมัคร มีปัจจัยความแตกต่างอื่น ๆ อีกมากมายระหว่างซุปเปอร์คีย์และคีย์ผู้สมัครซึ่งฉันได้กล่าวสั้น ๆ ในแผนภูมิเปรียบเทียบด้านล่าง

แผนภูมิเปรียบเทียบ

พื้นฐานสำหรับการเปรียบเทียบซุปเปอร์คีย์รหัสผู้สมัคร
ขั้นพื้นฐานแอตทริบิวต์เดียวหรือชุดของคุณลักษณะที่ระบุคุณลักษณะทั้งหมดในความสัมพันธ์โดยเฉพาะคือซุปเปอร์คีย์เซ็ตย่อยที่เหมาะสมของซุปเปอร์คีย์ซึ่งเป็นซุปเปอร์คีย์คือคีย์ตัวเลือก
หนึ่งในอื่น ๆไม่บังคับว่าซุปเปอร์คีย์ทั้งหมดจะเป็นคีย์ตัวเลือกปุ่มตัวเลือกทั้งหมดเป็นซุปเปอร์คีย์
การเลือกชุดของปุ่มพิเศษนั้นเป็นพื้นฐานสำหรับการเลือกปุ่มตัวเลือกชุดของคีย์ตัวเลือกจะสร้างฐานสำหรับการเลือกคีย์หลักเดียว
นับมีความสัมพันธ์กันมากกับ Super Keysมีคีย์ผู้สมัครที่ค่อนข้างน้อยกว่าในความสัมพันธ์

ความหมายของปุ่ม Super

กุญแจสำคัญ คือกุญแจสำคัญ พื้นฐาน ของความสัมพันธ์ใด ๆ มันถูกกำหนดให้เป็น กุญแจสำคัญ ที่สามารถระบุคุณลักษณะอื่น ๆ ทั้งหมดในความสัมพันธ์ ปุ่มพิเศษอาจเป็นแอตทริบิวต์เดียวหรือชุดของแอตทริบิวต์ เอนทิตีที่สองไม่มีค่าเดียวกันสำหรับแอตทริบิวต์ที่เขียนคีย์พิเศษ มีอย่างน้อยหนึ่งคีย์ขึ้นไปที่สัมพันธ์กัน

คีย์พิเศษขั้นต่ำสุดจะเรียกว่าคีย์ตัวเลือก ดังนั้นเราจึงสามารถบอกได้ว่าซุปเปอร์คีย์บางตัวได้รับการยืนยันว่าเป็นคีย์ตัวเลือก เราจะดูในภายหลังว่ามีการตรวจสอบปุ่มพิเศษในการเป็นคีย์ตัวเลือกอย่างไร

ให้เราหาความสัมพันธ์ R (A, B, C, D, E, F); เราได้ติดตามการอ้างอิงสำหรับความสัมพันธ์ R และเราได้ตรวจสอบแต่ละรายการว่าเป็นซุปเปอร์คีย์

การใช้คีย์ AB เราสามารถระบุคุณลักษณะที่เหลือของตารางเช่น CDEF ในทำนองเดียวกันการใช้คีย์ CD, ABD, DF และ DEF เราสามารถระบุคุณลักษณะที่เหลือของตาราง R ดังนั้นทั้งหมดนี้คือซุปเปอร์คีย์

แต่การใช้คีย์ CB เราสามารถค้นหาค่าสำหรับแอตทริบิวต์ D และ F เท่านั้นเราไม่สามารถหาค่าสำหรับแอตทริบิวต์ A และ E ได้ ดังนั้น CB ไม่ใช่กุญแจสำคัญ เป็นกรณีเดียวกันกับคีย์ D เราไม่สามารถหาค่าของคุณลักษณะทั้งหมดในตารางโดยใช้คีย์ D ดังนั้น D ไม่ใช่คีย์พิเศษ

คำจำกัดความของรหัสผู้สมัคร

ซุปเปอร์คีย์ ที่เป็นเซตย่อยที่เหมาะสมของซุปเปอร์คีย์อื่นของความสัมพันธ์เดียวกันเรียกว่า ซูเปอร์คีย์ขั้นต่ำ คีย์พิเศษขั้นต่ำสุดเรียกว่า คีย์ผู้สมัคร เช่นเดียวกับซุปเปอร์คีย์คีย์ตัวเลือกจะระบุแต่ละ tuple ในตารางโดยไม่ซ้ำกัน แอตทริบิวต์ของตัวเลือกของผู้สมัครรับ ค่า NULL

DBA หนึ่งในคีย์ผู้สมัครถูกเลือกให้เป็นคีย์หลักโดย DBA โดยมีเงื่อนไขว่าค่าแอตทริบิวต์คีย์ต้องไม่ซ้ำกันและไม่มี NULL คุณลักษณะของคีย์ผู้สมัครเรียกว่า คุณสมบัติ หลัก

ในตัวอย่างข้างต้นเราได้พบกุญแจ Super สำหรับความสัมพันธ์ R ตอนนี้ให้เราตรวจสอบซุปเปอร์คีย์ทั้งหมดสำหรับการเป็นผู้สมัครกุญแจ

Super key AB เป็นชุดย่อยที่เหมาะสมของ Super key ABD ดังนั้นเมื่อซุปเปอร์คีย์ AB น้อยที่สุดเพียงอย่างเดียวสามารถระบุคุณลักษณะทั้งหมดในตารางได้ดังนั้นเราจึงไม่ต้องการคีย์ ABD ที่ ใหญ่กว่า ดังนั้นซุปเปอร์คีย์ AB เป็นคีย์ตัวเลือกในขณะที่ ABD จะเป็นซุปเปอร์คีย์เท่านั้น
ในทำนองเดียวกัน DF super key ก็เป็นเซตย่อยที่เหมาะสมของ DEF ที่ สำคัญยิ่ง ดังนั้นเมื่อ DF อยู่คนเดียวสามารถระบุคุณลักษณะทั้งหมดในความสัมพันธ์ว่าทำไมเราต้องมี DEF ดังนั้น super key DF จะกลายเป็นคีย์ตัวเลือกในขณะที่ DEF เป็นเพียง super key

ซีดี Super key ไม่ใช่ชุดย่อยที่เหมาะสมของ Super Key อื่น ๆ ดังนั้นเราสามารถพูดได้ว่า ซีดี นั้นเป็นคีย์ที่น้อยที่สุดที่ระบุคุณลักษณะทั้งหมดในความสัมพันธ์ ดังนั้น ซีดี จึงเป็นคีย์ตัวเลือก

ในขณะที่คีย์ CB และ D ไม่ใช่ซุปเปอร์คีย์ดังนั้นจึงไม่สามารถเป็นคีย์ตัวเลือกได้ การดูตารางด้านบนคุณสามารถสรุปได้ว่าคีย์ตัวเลือกแต่ละตัวเป็นซุปเปอร์คีย์ แต่ค่าผกผันนั้นไม่เป็นความจริง

ความแตกต่างที่สำคัญระหว่าง Super Key กับ Candidate Key

  1. แอตทริบิวต์เดียวหรือชุดของคุณลักษณะที่สามารถระบุคุณลักษณะทั้งหมดของความสัมพันธ์เฉพาะเรียกว่า Super key ในทางตรงกันข้ามซุปเปอร์คีย์ที่เป็นเซ็ตย่อยที่เหมาะสมของซุปเปอร์คีย์อื่นนั้นเรียกว่าคีย์ตัวเลือก
  2. คีย์ตัวเลือกทั้งหมดเป็นซุปเปอร์คีย์ แต่ค่าอินเวอร์สไม่เป็นจริง
  3. ชุดของปุ่มพิเศษจะได้รับการตรวจสอบเพื่อค้นหาคีย์ตัวเลือกในขณะที่ชุดของปุ่มตัวเลือกจะถูกตรวจสอบเพื่อเลือกคีย์หลักเดียว
  4. Super keys มีจำนวนมากกว่าผู้สมัคร

สรุป:

Super key เป็นกุญแจสำคัญพื้นฐานของความสัมพันธ์ใด ๆ พวกเขาจะต้องพล็อตก่อนที่จะรับรู้คีย์อื่น ๆ สำหรับความสัมพันธ์ที่พวกเขาเป็นฐานสำหรับคีย์อื่น ๆ คีย์ผู้สมัครมีความสำคัญเนื่องจากช่วยในการรับรู้คีย์ที่สำคัญที่สุดของความสัมพันธ์ใด ๆ ที่เป็นคีย์หลัก

Top