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

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

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

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

ที่นี่ ฉันได้วิเคราะห์ความแตกต่างระหว่างคีย์หลักและคีย์เฉพาะแล้ว และจะประเมินข้อดีข้อเสียอย่างครอบคลุม

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

ข้อจำกัดคีย์หลักคือคอลัมน์หรือกลุ่มของคอลัมน์ในตารางที่ระบุทุกแถวในตารางนั้นโดยไม่ซ้ำกัน คีย์หลักต้องไม่ซ้ำกัน ซึ่งหมายความว่าค่าเดียวกันไม่สามารถปรากฏในตารางได้มากกว่าหนึ่งครั้ง

ตารางสามารถมีคีย์หลักได้เพียงคีย์เดียวเท่านั้น คีย์หลัก สามารถกำหนดได้ในระดับคอลัมน์หรือตาราง หากคุณสร้างคีย์หลักแบบผสม ควรกำหนดไว้ที่ระดับตาราง

ตัวอย่างการสร้างคีย์หลัก

ตัวอย่างต่อไปนี้จะอธิบายว่ามีตารางชื่อ student ซึ่งมีแอตทริบิวต์ 1 รายการ ได้แก่ 2) StudID, 3) Roll No., 4) First Name, 5) Last Name และ XNUMX) Email

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

ตัวอย่างการสร้างคีย์หลัก
ตัวอย่างคีย์หลัก

คุณสมบัติของคีย์หลัก

จากการสังเกตของฉัน นี่คือคุณสมบัติที่สำคัญของคีย์หลัก:

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

เหตุใดจึงต้องใช้คีย์หลัก

คีย์หลัก

จากความรู้เชิงปฏิบัติของฉัน ต่อไปนี้เป็นเหตุผลสำคัญในการใช้คีย์หลัก:

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

คีย์เฉพาะคืออะไร?

คีย์เฉพาะคือกลุ่มของเขตข้อมูลหรือคอลัมน์ตั้งแต่หนึ่งรายการขึ้นไปในตารางที่ระบุบันทึกฐานข้อมูลโดยไม่ซ้ำกัน

คีย์เฉพาะจะเหมือนกับคีย์หลัก แต่สามารถรับค่า Null หนึ่งค่าสำหรับคอลัมน์ตารางได้ นอกจากนี้ยังไม่สามารถมีค่าที่เหมือนกันได้ ข้อจำกัดเฉพาะมีการอ้างอิงโดยคีย์ต่างประเทศของตารางอื่น

ตัวอย่างการสร้างคีย์เฉพาะ

พิจารณาตารางนักเรียนเดียวกันที่มีแอตทริบิวต์ดังต่อไปนี้: 1) StudID, 2) หมายเลขประจำตัว, 3) ชื่อ, 4) นามสกุล และ 5) อีเมล

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

ตัวอย่างการสร้างคีย์เฉพาะ
ตัวอย่างคีย์ที่ไม่ซ้ำ

คุณสมบัติของคีย์เฉพาะ

ที่นี่ ฉันจะสรุปคุณลักษณะที่สำคัญของคีย์เฉพาะ:

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

เหตุใดจึงต้องใช้คีย์เฉพาะ

ต่อไปนี้เป็นเหตุผลสำคัญที่ฉันแนะนำให้ใช้คีย์เฉพาะ:

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

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

ในการวิเคราะห์ของฉัน นี่คือความแตกต่างที่สำคัญระหว่างคีย์หลักและคีย์เฉพาะ:

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

คีย์หลักสามารถสร้างขึ้นได้โดยใช้ไวยากรณ์:

CREATE TABLE Employee
(
ID int PRIMARY KEY, 
Name varchar(255), 
City varchar(150)
)

คีย์เฉพาะสามารถสร้างขึ้นได้โดยใช้ไวยากรณ์:

CREATE TABLE Employee
(
ID int UNIQUE.
Name varchar(255) NOT NULL. City varchar(150)
)

คุณยังสามารถสำรวจ: ความแตกต่างระหว่างคีย์หลักและคีย์ต่างประเทศ

วิธีเลือกระหว่างคีย์หลักและคีย์เฉพาะ

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