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

ผู้เขียน: Laura McKinney
วันที่สร้าง: 1 เมษายน 2021
วันที่อัปเดต: 16 พฤษภาคม 2024
Anonim
Candidate Key vs Primary Key: Definition and Differences
วิดีโอ: Candidate Key vs Primary Key: Definition and Differences

เนื้อหา


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

  1. แผนภูมิเปรียบเทียบ
  2. คำนิยาม
  3. ความแตกต่างที่สำคัญ
  4. ข้อสรุป

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

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


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

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

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

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

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


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

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

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

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

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

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

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

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

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

สรุป:

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