คีย์หลักคือเขตข้อมูลหรือชุดของเขตข้อมูลที่มีค่าที่ไม่ซ้ํากันตลอดทั้งตาราง คุณสามารถอ้างอิงระเบียนทั้งหมดโดยใช้ค่าของคีย์ เนื่องจากแต่ละระเบียนมีค่าที่แตกต่างกันสําหรับคีย์ แต่ละตารางสามารถมีคีย์หลักได้เพียงคีย์เดียวเท่านั้น Access สามารถสร้างเขตข้อมูลคีย์หลักโดยอัตโนมัติเมื่อคุณสร้างตาราง หรือคุณสามารถระบุเขตข้อมูลที่คุณต้องการใช้เป็นคีย์หลักก็ได้ บทความนี้อธิบายวิธีการและเหตุผลในการใช้คีย์หลัก
เมื่อต้องการตั้งค่าคีย์หลักของตาราง ให้เปิดตารางในมุมมองออกแบบ เลือกเขตข้อมูล (หรือหลายเขตข้อมูล) ที่คุณต้องการใช้ จากนั้นบน Ribbon ให้เลือก คีย์หลัก
ในบทความนี้
ภาพรวมของคีย์หลักใน Access
Access ใช้เขตข้อมูลคีย์หลักเพื่อเชื่อมโยงข้อมูลจากหลายตารางอย่างรวดเร็ว และรวมข้อมูลนั้นด้วยวิธีที่มีความหมาย คุณสามารถรวมเขตข้อมูลคีย์หลักในตารางอื่นเพื่ออ้างอิงกลับไปยังตารางที่เป็นแหล่งของคีย์หลักได้ เขตข้อมูลจะเรียกว่าคีย์นอก ตัวอย่างเช่น เขตข้อมูล ID ลูกค้าในตารางลูกค้าอาจปรากฏในตารางใบสั่งซื้อด้วย ในตารางลูกค้า จะเป็นคีย์หลัก ในตารางใบสั่งซื้อ จะเรียกว่า Foreign Key คีย์นอกที่กล่าวมาแล้วคือคีย์หลักของอีกตารางหนึ่ง สําหรับข้อมูลเพิ่มเติม ให้ดู พื้นฐานการออกแบบฐานข้อมูล
1. คีย์หลัก
2. Foreign Key
ถ้าคุณกําลังย้ายข้อมูลที่มีอยู่ไปยังฐานข้อมูล คุณอาจมีเขตข้อมูลที่คุณสามารถใช้เป็นคีย์หลักอยู่แล้ว บ่อยครั้ง หมายเลขประจําตัวที่ไม่ซ้ํากัน เช่น หมายเลข ID หรือหมายเลขลําดับประจําสินค้าหรือรหัส จะทําหน้าที่เป็นคีย์หลักในตาราง ตัวอย่างเช่น คุณอาจมีตารางลูกค้าที่มีหมายเลข ID ของลูกค้าที่ไม่ซ้ำกันสำหรับลูกค้าแต่ละราย ฟิลด์ ID ลูกค้าเป็นคีย์หลัก
Access จะสร้างดัชนีสําหรับคีย์หลักโดยอัตโนมัติ ซึ่งช่วยให้คิวรีและการดําเนินการอื่นๆ รวดเร็วขึ้น Access ยังทําให้แน่ใจว่าทุกระเบียนมีค่าในเขตข้อมูลคีย์หลัก และระเบียนนั้นไม่ซ้ํากันเสมอ
เมื่อคุณสร้างตารางใหม่ในมุมมองแผ่นข้อมูล Access จะสร้างคีย์หลักให้คุณโดยอัตโนมัติ และกําหนดชื่อเขตข้อมูลเป็น "ID" และชนิดข้อมูล AutoNumber
คีย์หลักที่ดีมีลักษณะอย่างไร
เขตข้อมูลที่ดีที่เหมาะจะเป็นคีย์หลักจะมีคุณลักษณะหลายประการดังนี้
-
ซึ่งจะระบุแถวแต่ละแถวโดยไม่ซ้ํากัน
-
ค่านี้ไม่เคยเป็นค่าว่างหรือ Null กล่าวคือมีค่าอยู่ตลอดเวลา
-
ค่าที่อยู่ภายในจะไม่ค่อยเปลี่ยนแปลง (ตามอุดมคติ คือ ไม่เปลี่ยนแปลง)
ถ้าคุณไม่สามารถระบุคีย์ที่ดีได้ ให้สร้างเขตข้อมูล AutoNumber เพื่อใช้เป็นคีย์ เขตข้อมูล AutoNumber จะสร้างค่าสําหรับตัวเองโดยอัตโนมัติเมื่อบันทึกแต่ละระเบียนเป็นครั้งแรก ดังนั้น เขตข้อมูล AutoNumber จะตรงตามคุณลักษณะทั้งสามของคีย์หลักที่ดี สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการเพิ่มเขตข้อมูล AutoNumber ให้ดูที่ เพิ่มเขตข้อมูล AutoNumber เป็นคีย์หลัก
เขตข้อมูล AutoNumber สร้างคีย์หลักที่ดีได้
ตัวอย่างของคีย์หลักที่ไม่ดี
เขตข้อมูลใดๆ ที่ขาดคุณลักษณะอย่างน้อยหนึ่งอย่างของคีย์ตัวเลือกที่ดีเป็นตัวเลือกที่ไม่ดีสําหรับคีย์หลัก ต่อไปนี้เป็นตัวอย่างบางส่วนของเขตข้อมูลที่ทําให้คีย์หลักที่ไม่ดีสําหรับตารางที่ติดต่อ พร้อมด้วยเหตุผลว่าทําไมเขตข้อมูลจึงเป็นตัวเลือกที่ไม่ดี
|
คีย์หลักที่ไม่ดี |
เหตุผล |
|---|---|
|
ชื่อส่วนบุคคล |
อาจซ้ำกันได้และอาจเปลี่ยนแปลงได้ |
|
หมายเลขโทรศัพท์ |
มีแนวโน้มที่จะเปลี่ยนแปลง |
|
ที่อยู่อีเมล |
มีแนวโน้มที่จะเปลี่ยนแปลง |
|
รหัสไปรษณีย์ |
อาจมีหลายคนใช้รหัสไปรษณีย์เดียวกัน |
|
การรวมข้อเท็จจริงกับตัวเลข |
ส่วนข้อเท็จจริงอาจเปลี่ยนแปลงสร้างภาระการบํารุงรักษา อาจนําไปสู่ความสับสนถ้าส่วนข้อเท็จจริงถูกทําซ้ําเป็นเขตข้อมูลแยกต่างหาก ตัวอย่างเช่น การรวมเมืองและจํานวนที่เพิ่มขึ้น (เช่น NEWYORK0579) จะเป็นตัวเลือกที่ไม่ดีถ้าเมืองถูกจัดเก็บเป็นเขตข้อมูล |
|
หมายเลขประกันสังคม |
|
คีย์ผสม กล่าวคือใช้หลายเขตข้อมูลรวมกันเป็นคีย์หลัก
ในบางกรณี คุณต้องการใช้เขตข้อมูลอย่างน้อยสองเขตข้อมูลในตารางเป็นคีย์หลัก ตัวอย่างเช่น ตารางรายละเอียดคําสั่งซื้อที่จัดเก็บรายการสินค้าสําหรับคําสั่งซื้ออาจใช้สองเขตข้อมูลในคีย์หลัก: ID คําสั่งซื้อและรหัสผลิตภัณฑ์ คีย์ที่มีมากกว่าหนึ่งเขตข้อมูลจะเรียกว่าคีย์ผสม
ตั้งค่าคีย์หลักโดยใช้เขตข้อมูลที่คุณมีอยู่แล้วใน Access
เพื่อให้คีย์หลักทํางานได้ดี เขตข้อมูลต้องระบุแถวแต่ละแถวโดยไม่ซ้ํากัน ไม่มีค่าว่างหรือค่า Null และไม่ค่อยเปลี่ยนแปลง (โดยหลักคือไม่เปลี่ยนแปลงเลย) เมื่อต้องการตั้งค่าคีย์หลัก:
-
เปิดฐานข้อมูลที่คุณต้องการปรับเปลี่ยน
-
ในบานหน้าต่างนําทาง ให้คลิกขวาที่ตารางที่คุณต้องการตั้งค่าคีย์หลัก และบนเมนูทางลัด ให้เลือก มุมมองออกแบบ
เคล็ดลับ: ถ้าคุณไม่เห็นบานหน้าต่างนำทาง ให้กด F11 เพื่อแสดง
-
เลือกหนึ่งเขตข้อมูลหรือหลายเขตข้อมูลที่คุณต้องการใช้เป็นคีย์หลัก
เมื่อต้องการเลือกหนึ่งเขตข้อมูล ให้เลือกตัวเลือกแถวสําหรับเขตข้อมูลที่คุณต้องการ
เมื่อต้องการเลือกมากกว่าหนึ่งเขตข้อมูลเพื่อสร้างคีย์ผสม ให้กด CTRL ค้างไว้ แล้วเลือกตัวเลือกแถวสําหรับแต่ละเขตข้อมูล
-
บนแท็บ ออกแบบตาราง ในกลุ่ม เครื่องมือ ให้เลือก คีย์หลัก
ตัวบ่งชี้คีย์จะถูกเพิ่มลงที่ด้านซ้ายของหนึ่งเขตข้อมูลหรือหลายเขตข้อมูลที่คุณได้ระบุให้เป็นคีย์หลัก
เอาคีย์หลักใน Access ออก
เมื่อคุณเอาคีย์หลักออก เขตข้อมูลหนึ่งหรือหลายเขตข้อมูลที่ใช้เป็นคีย์หลักก่อนหน้าจะไม่ได้เป็นตัวหลักในการระบุระเบียนอีกต่อไป
การเอาคีย์หลักออกไม่ได้เป็นการลบเขตข้อมูลออกจากตารางของคุณ แต่จะเอาดัชนีที่สร้างขึ้นสําหรับคีย์หลักออก
-
ก่อนที่คุณจะสามารถเอาคีย์หลักออกคุณต้องตรวจสอบให้แน่ใจว่าคีย์หลักนั้นไม่ได้มีส่วนร่วมในความสัมพันธ์ของตารางใดๆ ถ้าคุณพยายามเอาคีย์หลักที่เป็นส่วนหนึ่งของความสัมพันธ์อย่างน้อยหนึ่งความสัมพันธ์ออก Access จะเตือนคุณว่าคุณต้องลบความสัมพันธ์ก่อนเมื่อต้องการลบความสัมพันธ์ของตาราง ให้ทําตามขั้นตอนต่อไปนี้:
-
ถ้าตารางที่มีส่วนร่วมในความสัมพันธ์ของตารางเปิดอยู่ ให้ปิดตารางเหล่านั้น คุณไม่สามารถลบความสัมพันธ์ของตารางระหว่างตารางที่เปิดอยู่ได้
-
บนแท็บ เครื่องมือฐานข้อมูล ในกลุ่ม ความสัมพันธ์ ให้เลือก ความสัมพันธ์
-
เลือก เพิ่มตาราง
-
เลือกเส้นความสัมพันธ์ของตารางสําหรับความสัมพันธ์ของตารางที่คุณต้องการลบ (เส้นนั้นจะกลายเป็นเส้นหนาเมื่อถูกเลือก) แล้วกดแป้น DELETE
-
บนแท็บ ออกแบบความสัมพันธ์ ในกลุ่ม ความสัมพันธ์ ให้คลิก ปิด
-
-
หลังจากที่คุณลบความสัมพันธ์แล้ว ในบานหน้าต่างนําทาง ให้คลิกขวาที่ตารางที่คุณต้องการเอาคีย์หลักออก แล้วเลือก มุมมองออกแบบ
เคล็ดลับ: ถ้าคุณไม่เห็นบานหน้าต่างนำทาง ให้กด F11 เพื่อแสดง
-
เลือกตัวเลือกแถวสําหรับคีย์หลักปัจจุบัน
ถ้าคีย์หลักประกอบด้วยเขตข้อมูลเดียว ให้เลือกตัวเลือกแถวสําหรับเขตข้อมูลนั้น
ถ้าคีย์หลักประกอบด้วยหลายเขตข้อมูล ให้เลือกตัวเลือกแถวสําหรับเขตข้อมูลใดๆ ในคีย์หลัก
-
บนแท็บ ออกแบบตาราง ในกลุ่ม เครื่องมือ ให้เลือก คีย์หลัก
ตัวบ่งชี้คีย์จะถูกเอาออกจากเขตข้อมูลหนึ่งหรือหลายเขตข้อมูลที่ก่อนหน้านี้คุณได้ระบุให้เป็นคีย์หลัก
หมายเหตุ: เมื่อคุณบันทึกตารางใหม่โดยไม่ตั้งค่าคีย์หลัก Access พร้อมท์ให้คุณสร้างคีย์หลัก ถ้าคุณเลือก ใช่Access จะสร้างเขตข้อมูล ID ที่ใช้ชนิดข้อมูล AutoNumber เพื่อให้ค่าที่ไม่ซ้ํากันสําหรับแต่ละระเบียน ถ้าตารางของคุณมีเขตข้อมูล AutoNumber อยู่แล้ว Access ใช้เขตข้อมูลนั้นเป็นคีย์หลัก
เปลี่ยนคีย์หลักใน Access
ถ้าคุณตัดสินใจที่จะเปลี่ยนคีย์หลักของตาราง คุณสามารถทำได้โดยทำตามขั้นตอนต่อไปนี้:
-
เอาคีย์หลักที่มีอยู่แล้วออกโดยทำตามคำแนะนำในส่วน เอาคีย์หลักออก
-
ตั้งค่าคีย์หลักโดยทำตามคำแนะนำในส่วน ตั้งค่าคีย์หลัก
ข้อมูลเพิ่มเติม
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการออกแบบฐานข้อมูลและการเลือกคีย์หลักที่เหมาะสม ให้ดูบทความ: