ความแตกต่างระหว่างคีย์หลักและคีย์เฉพาะ

Anonim

คีย์หลักและคีย์ที่ไม่ซ้ำ

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

คีย์ที่ไม่ซ้ำคืออะไร?

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

คีย์หลักคืออะไร?

คีย์หลักคือคอลัมน์หรือชุดค่าผสมของคอลัมน์ที่กำหนดแถวในตารางฐานข้อมูลเชิงสัมพันธ์โดยไม่ซ้ำกัน ตารางสามารถมีคีย์หลักได้ไม่เกินหนึ่งรายการ คีย์หลักบังคับใช้ข้อ จำกัด NOT NULL โดยนัย ดังนั้นคอลัมน์ที่กำหนดเป็นคีย์หลักไม่สามารถมีค่า NULL ในฟิลด์นี้ได้ คีย์หลักอาจเป็นแอตทริบิวต์ปกติในตารางที่ได้รับการรับรองว่าเป็นเอกลักษณ์เช่นหมายเลขประกันสังคมหรืออาจเป็นค่าที่ไม่ซ้ำกันซึ่งสร้างขึ้นโดยระบบการจัดการฐานข้อมูลเช่นรหัสประจำตัวแบบเฉพาะทั่วโลก (GUID) ใน Microsoft SQL Server คีย์หลักมีการกำหนดผ่านข้อ จำกัด ของคีย์หลักใน ANSI SQL Standard คีย์หลักสามารถกำหนดได้เมื่อสร้างตาราง SQL ช่วยให้คีย์หลักถูกสร้างขึ้นจากคอลัมน์อย่างน้อยหนึ่งคอลัมน์และแต่ละคอลัมน์ที่รวมอยู่ในคีย์หลักจะถูกกำหนดโดยปริยายให้เป็น NOT NULL แต่บางระบบการจัดการฐานข้อมูลจำเป็นต้องทำให้คอลัมน์คีย์หลักอย่างชัดเจนไม่เป็นโมฆะ

ความแตกต่างระหว่างคีย์หลักและคีย์เฉพาะ

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