การเลือกคีย์หลักสำหรับฐานข้อมูล

สารบัญ:

การเลือกคีย์หลักสำหรับฐานข้อมูล
การเลือกคีย์หลักสำหรับฐานข้อมูล
Anonim

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

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

Image
Image

ทำไมคีย์หลักถึงสำคัญ

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

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

ตัวเลือกที่ไม่ดีสำหรับคีย์หลัก

สิ่งที่บางคนอาจคิดว่าการเลือกที่ชัดเจนสำหรับคีย์หลักอาจเป็นทางเลือกที่ไม่ดีแทน นี่คือตัวอย่างบางส่วน:

  • รหัสไปรษณีย์ อย่าสร้างคีย์หลักที่ดีสำหรับตารางเมือง หากคุณกำลังสร้างตารางค้นหาเมืองอย่างง่าย รหัสไปรษณีย์ดูเหมือนจะเป็นคีย์หลักที่สมเหตุสมผล อย่างไรก็ตาม จากการตรวจสอบเพิ่มเติม คุณอาจพบว่ามีเมืองมากกว่าหนึ่งเมืองแบ่งปันรหัสไปรษณีย์ ตัวอย่างเช่น เมือง New Jersey ของ Neptune, Neptune City, Tinton Falls และ Wall Township ล้วนใช้รหัสไปรษณีย์ 07753
  • หมายเลขประกันสังคม อย่าสร้างคีย์หลักที่ดีด้วยเหตุผลหลายประการ คนส่วนใหญ่ถือว่า SSN เป็นส่วนตัวและไม่ต้องการให้ผู้ใช้ฐานข้อมูลมองเห็นได้ชัดเจน นอกจากนี้ บางคนไม่มี SSN
  • ที่อยู่อีเมล ก็เป็นทางเลือกที่ไม่ดีสำหรับคีย์หลักเช่นกัน แม้ว่าจะไม่ซ้ำกัน แต่ก็สามารถเปลี่ยนแปลงได้ตลอดเวลา นอกจากนี้ ไม่ใช่ทุกคนที่มีที่อยู่อีเมล

อะไรคือกุญแจหลักที่ดี

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

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

ตัวอย่างเช่น คุณอาจใช้ชนิดข้อมูล Microsoft Access AutoNumber เพื่อสร้างฟิลด์ชื่อ RecordID ชนิดข้อมูล AutoNumber จะเพิ่มฟิลด์โดยอัตโนมัติทุกครั้งที่คุณสร้างเรกคอร์ดแม้ว่าตัวเลขจะไม่มีความหมาย แต่ก็เป็นวิธีที่น่าเชื่อถือในการอ้างอิงบันทึกแต่ละรายการในการสืบค้น

คีย์หลักที่ดีมักจะสั้น ใช้ตัวเลข และหลีกเลี่ยงอักขระพิเศษหรืออักขระตัวพิมพ์ใหญ่และตัวพิมพ์เล็กผสมกันเพื่ออำนวยความสะดวกในการค้นหาและเปรียบเทียบฐานข้อมูลอย่างรวดเร็ว