ความแตกต่างระหว่างรหัสผู้สมัครและซุปเปอร์คีย์คืออะไร?


ตอบ 1:

รหัสผู้สมัคร:

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

ซุปเปอร์คีย์:

  • ซุปเปอร์คีย์คือชุดของแอททริบิวต์ใด ๆ ที่รับประกันว่าค่าจะไม่ซ้ำกันสำหรับชุดทูเปิลที่เป็นไปได้ทั้งหมดในตารางตลอดเวลาคีย์ซุปเปอร์คือชุดของคีย์หนึ่งคีย์หรือมากกว่าที่สามารถใช้เพื่อระบุเร็กคอร์ดเฉพาะใน ตารางคีย์หลัก, คีย์ที่ไม่ซ้ำกัน, คีย์สำรองเป็นส่วนย่อยของ Super Key A Super Key เป็นเพียงคีย์ Candidate ที่ไม่น้อยที่สุดนั่นคือการพูดแบบหนึ่งกับคอลัมน์เพิ่มเติมที่ไม่จำเป็นต้องเข้มงวดเพื่อรับประกันความเป็นเอกลักษณ์ของแต่ละแถว สามารถระบุแต่ละ tuple (บันทึก) โดยไม่ซ้ำกัน

เรียนรู้เกี่ยวกับคีย์เพิ่มเติมที่ใช้ในฐานข้อมูลที่ประเภทต่าง ๆ ของคีย์ในฐานข้อมูล

เรียนรู้พื้นฐานของฐานข้อมูล SQL จากวิดีโอด้านล่างนี้


ตอบ 2:

ลองดูตัวอย่างตารางพนักงาน: พนักงาน (รหัสพนักงาน, ชื่อเต็ม, SSN, ฝ่าย)

Key Candidate ที่นี่: เป็นคอลัมน์แต่ละคอลัมน์ในตารางที่มีคุณสมบัติสำหรับความเป็นเอกลักษณ์ของแถวทั้งหมด ที่นี่ในตารางพนักงาน EmployeeID และ SSN เป็นกุญแจผู้สมัคร

และ Super Key: ถ้าคุณเพิ่มคอลัมน์ / คุณสมบัติอื่น ๆ ให้กับ Primary Key มันจะกลายเป็น super key เช่น EmployeeID + FullName คือ Super Key

มีคีย์ประเภทอื่นเช่นกัน:

3. คีย์หลัก: เป็นคอลัมน์ที่คุณเลือกเพื่อรักษาเอกลักษณ์ในตาราง ที่นี่ในตารางพนักงานคุณสามารถเลือกคอลัมน์ EmployeeID หรือ SSN ได้ EmployeeID เป็นตัวเลือกที่ดีกว่าเนื่องจาก SSN เป็นค่าที่ปลอดภัย

4. Alternate Key: คอลัมน์ผู้สมัครอื่น ๆ คอลัมน์หลักเช่นถ้า EmployeeID เป็น PK ดังนั้น SSN จะเป็นคีย์สำรอง

5. Composite Key: หากตารางไม่มีคอลัมน์เดี่ยวใด ๆ ที่มีคุณสมบัติสำหรับคีย์ Candidate คุณจะต้องเลือกคอลัมน์ 2 คอลัมน์ขึ้นไปเพื่อสร้างแถวที่ไม่ซ้ำกัน เช่นเดียวกับถ้าไม่มีคอลัมน์ EmployeeID หรือ SSN คุณสามารถสร้าง FullName + DateOfBirth ให้เป็นคีย์หลักแบบรวม แต่ยังคงมีโอกาสที่แคบในการทำซ้ำแถว

ตรวจสอบที่นี่: ข้อมูลพื้นฐานเกี่ยวกับ DB - อะไรคือผู้สมัคร, หลัก, คอมโพสิตและ Super Keys และความแตกต่างระหว่างพวกเขา?

~ SQL กับ Manoj


ตอบ 3:

ลองดูตัวอย่างตารางพนักงาน: พนักงาน (รหัสพนักงาน, ชื่อเต็ม, SSN, ฝ่าย)

Key Candidate ที่นี่: เป็นคอลัมน์แต่ละคอลัมน์ในตารางที่มีคุณสมบัติสำหรับความเป็นเอกลักษณ์ของแถวทั้งหมด ที่นี่ในตารางพนักงาน EmployeeID และ SSN เป็นกุญแจผู้สมัคร

และ Super Key: ถ้าคุณเพิ่มคอลัมน์ / คุณสมบัติอื่น ๆ ให้กับ Primary Key มันจะกลายเป็น super key เช่น EmployeeID + FullName คือ Super Key

มีคีย์ประเภทอื่นเช่นกัน:

3. คีย์หลัก: เป็นคอลัมน์ที่คุณเลือกเพื่อรักษาเอกลักษณ์ในตาราง ที่นี่ในตารางพนักงานคุณสามารถเลือกคอลัมน์ EmployeeID หรือ SSN ได้ EmployeeID เป็นตัวเลือกที่ดีกว่าเนื่องจาก SSN เป็นค่าที่ปลอดภัย

4. Alternate Key: คอลัมน์ผู้สมัครอื่น ๆ คอลัมน์หลักเช่นถ้า EmployeeID เป็น PK ดังนั้น SSN จะเป็นคีย์สำรอง

5. Composite Key: หากตารางไม่มีคอลัมน์เดี่ยวใด ๆ ที่มีคุณสมบัติสำหรับคีย์ Candidate คุณจะต้องเลือกคอลัมน์ 2 คอลัมน์ขึ้นไปเพื่อสร้างแถวที่ไม่ซ้ำกัน เช่นเดียวกับถ้าไม่มีคอลัมน์ EmployeeID หรือ SSN คุณสามารถสร้าง FullName + DateOfBirth ให้เป็นคีย์หลักแบบรวม แต่ยังคงมีโอกาสที่แคบในการทำซ้ำแถว

ตรวจสอบที่นี่: ข้อมูลพื้นฐานเกี่ยวกับ DB - อะไรคือผู้สมัคร, หลัก, คอมโพสิตและ Super Keys และความแตกต่างระหว่างพวกเขา?

~ SQL กับ Manoj


ตอบ 4:

ลองดูตัวอย่างตารางพนักงาน: พนักงาน (รหัสพนักงาน, ชื่อเต็ม, SSN, ฝ่าย)

Key Candidate ที่นี่: เป็นคอลัมน์แต่ละคอลัมน์ในตารางที่มีคุณสมบัติสำหรับความเป็นเอกลักษณ์ของแถวทั้งหมด ที่นี่ในตารางพนักงาน EmployeeID และ SSN เป็นกุญแจผู้สมัคร

และ Super Key: ถ้าคุณเพิ่มคอลัมน์ / คุณสมบัติอื่น ๆ ให้กับ Primary Key มันจะกลายเป็น super key เช่น EmployeeID + FullName คือ Super Key

มีคีย์ประเภทอื่นเช่นกัน:

3. คีย์หลัก: เป็นคอลัมน์ที่คุณเลือกเพื่อรักษาเอกลักษณ์ในตาราง ที่นี่ในตารางพนักงานคุณสามารถเลือกคอลัมน์ EmployeeID หรือ SSN ได้ EmployeeID เป็นตัวเลือกที่ดีกว่าเนื่องจาก SSN เป็นค่าที่ปลอดภัย

4. Alternate Key: คอลัมน์ผู้สมัครอื่น ๆ คอลัมน์หลักเช่นถ้า EmployeeID เป็น PK ดังนั้น SSN จะเป็นคีย์สำรอง

5. Composite Key: หากตารางไม่มีคอลัมน์เดี่ยวใด ๆ ที่มีคุณสมบัติสำหรับคีย์ Candidate คุณจะต้องเลือกคอลัมน์ 2 คอลัมน์ขึ้นไปเพื่อสร้างแถวที่ไม่ซ้ำกัน เช่นเดียวกับถ้าไม่มีคอลัมน์ EmployeeID หรือ SSN คุณสามารถสร้าง FullName + DateOfBirth ให้เป็นคีย์หลักแบบรวม แต่ยังคงมีโอกาสที่แคบในการทำซ้ำแถว

ตรวจสอบที่นี่: ข้อมูลพื้นฐานเกี่ยวกับ DB - อะไรคือผู้สมัคร, หลัก, คอมโพสิตและ Super Keys และความแตกต่างระหว่างพวกเขา?

~ SQL กับ Manoj