คีย์หลักคือเขตข้อมูลหรือชุดของเขตข้อมูลที่มีค่าที่ไม่ซ้ํากันตลอดทั้งตาราง ค่าของคีย์สามารถใช้เพื่ออ้างอิงถึงระเบียนทั้งหมดได้ เนื่องจากแต่ละระเบียนมีค่าที่แตกต่างกันสําหรับคีย์ แต่ละตารางสามารถมีคีย์หลักได้เพียงคีย์เดียวเท่านั้น Access สามารถสร้างเขตข้อมูลคีย์หลักให้คุณโดยอัตโนมัติเมื่อคุณสร้างตาราง หรือคุณสามารถระบุเขตข้อมูลที่คุณต้องการใช้เป็นคีย์หลักได้ บทความนี้อธิบายวิธีการและเหตุผลในการใช้คีย์หลัก
เมื่อต้องการตั้งค่าคีย์หลักของตาราง ให้เปิดตารางในมุมมองออกแบบ เลือกเขตข้อมูล (หรือหลายเขตข้อมูล) ที่คุณต้องการใช้ จากนั้นบน Ribbon ให้คลิก คีย์หลัก
หมายเหตุ: บทความนี้มีไว้สําหรับใช้กับฐานข้อมูล Access บนเดสก์ท็อปเท่านั้น Access จะจัดการคีย์หลักสําหรับตารางใหม่ในเว็บแอป Access และฐานข้อมูลบนเว็บโดยอัตโนมัติ ถึงแม้ว่าคุณจะสามารถแทนที่คีย์หลักอัตโนมัติเหล่านี้ได้ แต่เราไม่แนะนําให้คุณทํา
ในบทความนี้
ภาพรวมของคีย์หลักใน 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
ถ้าคุณตัดสินใจที่จะเปลี่ยนคีย์หลักของตาราง คุณสามารถทำได้โดยทำตามขั้นตอนต่อไปนี้:
-
เอาคีย์หลักที่มีอยู่แล้วออกโดยทำตามคำแนะนำในส่วน เอาคีย์หลักออก
-
ตั้งค่าคีย์หลักโดยทำตามคำแนะนำในส่วน ตั้งค่าคีย์หลัก
ข้อมูลเพิ่มเติม
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการออกแบบฐานข้อมูลและการเลือกคีย์หลักที่เหมาะสม ให้ดูบทความ: