ในกรณีของคุณฟิลด์เหล่านี้เป็นรหัสธรรมชาติ
รหัสตัวแทน:
กุญแจตัวแทนเป็นกุญแจที่ไม่มีความหมาย "ธุรกิจ" และใช้เพื่อระบุบันทึกในตารางเท่านั้น คีย์ดังกล่าวเป็นฐานข้อมูลที่สร้างขึ้น (ตัวอย่าง: Identity ใน SQL Server, Sequence ใน Oracle, Sequence / Identity ใน DB2 UDB เป็นต้น) หรือค่าที่ระบบสร้างขึ้น (เช่นสร้างผ่านตารางใน schema)
คีย์ธรรมชาติ:
คีย์เป็นธรรมชาติถ้าแอตทริบิวต์ที่ใช้แทนถูกใช้เพื่อระบุตัวตนโดยอิสระจากสคีมาฐานข้อมูล สิ่งนี้โดยทั่วไปหมายถึงคือกุญแจเป็นธรรมชาติถ้าคนใช้พวกเขาตัวอย่างเช่น: หมายเลขใบแจ้งหนี้, รหัสภาษี, SSN ฯลฯ
คีย์ตัวแทนเทียบกับคีย์ธรรมชาติสำหรับคีย์หลัก
ฉันชอบที่จะเพิ่มกุญแจตัวแทนเพื่อแยกการจัดการรูปแบบธุรกิจและฐานข้อมูล คำถามอื่น ๆ คือการใช้ดัชนีแบบคลัสเตอร์และแบบไม่รวมกลุ่มบนคีย์หลัก .. หากคุณเปลี่ยนตาราง (ไม่ใช่ตารางแบบสแตติกจะมีส่วนแทรกหรืออัพเดตที่มีความเข้มข้นสูง) คุณจะพบปัญหาเกี่ยวกับประสิทธิภาพในกรณีที่ใช้ดัชนีแบบกลุ่ม