Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL

Surrogate Key ใน RDBMS


Surrogate Key มีวัตถุประสงค์เพียงอย่างเดียวคือเป็นตัวระบุเฉพาะตัว (unique identifier) ในฐานข้อมูล เช่น คีย์เพิ่มทีละ 1 (incremental key), GUID เป็นต้น ไม่มีความหมายทางธุรกิจ ใช้แทนการมีอยู่จริงของข้อมูลเท่านั้น มีความหมายเฉพาะในการวิเคราะห์ข้อมูล

ตัวอย่าง

<ProductPrice>

Key ProductID Price
505_92 1987 200
698_56 1256 170
304_57 1898 250
458_66 1666 110

ในตาราง <ProductPrice> คอลัมน์ Key คือ Surrogate Key

ตัวอย่างอื่นๆ

  • ตัวนับ (Counter) ก็สามารถเป็น Surrogate Key ได้
  • System date/time stamp
  • Random alphanumeric string

คุณสมบัติสำคัญ

  • ไม่มีความหมายทางธุรกิจ (business meaning)
  • สร้างขึ้นโดยระบบ (system-generated)
  • ไม่เปลี่ยนแปลงตลอดชีวิตของแถว (immutable)
  • มักใช้เป็น Primary Key แทน Natural Key