เพิ่มหรือเปลี่ยนคีย์หลักของตารางใน Access

นำไปใช้กับ
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

เมื่อต้องการตั้งค่าคีย์หลักของตาราง ให้เปิดตารางในมุมมองออกแบบ เลือกเขตข้อมูล (หรือหลายเขตข้อมูล) ที่คุณต้องการใช้ จากนั้นบน Ribbon ให้เลือก คีย์หลัก

ในบทความนี้

ภาพรวมของคีย์หลักใน Access

Access ใช้เขตข้อมูลคีย์หลักเพื่อเชื่อมโยงข้อมูลจากหลายตารางและรวมข้อมูลนั้นด้วยวิธีที่สื่อความหมายได้อย่างรวดเร็ว คุณสามารถรวมเขตข้อมูลคีย์หลักในตารางอื่นเพื่ออ้างอิงกลับไปยังตารางที่เป็นแหล่งของคีย์หลักได้ เขตข้อมูลจะเรียกว่าคีย์นอก ตัวอย่างเช่น เขตข้อมูล ID ลูกค้าในตารางลูกค้าอาจปรากฏในตารางใบสั่งซื้อด้วย ในตารางลูกค้า จะเป็นคีย์หลัก ในตารางใบสั่งซื้อ จะเรียกว่า Foreign Key คีย์นอกที่กล่าวมาแล้วคือคีย์หลักของอีกตารางหนึ่ง สําหรับข้อมูลเพิ่มเติม ให้ดู พื้นฐานการออกแบบฐานข้อมูล

คีย์หลักและคีย์นอกแสดงแผ่นข้อมูล Access สองรายการ

1. คีย์หลัก

2. คีย์นอก

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

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

เมื่อคุณสร้างตารางใหม่ในมุมมองแผ่นข้อมูล Access จะสร้างคีย์หลักให้คุณและกำหนดชื่อเขตข้อมูลของ "ID" และชนิดข้อมูล AutoNumber ให้โดยอัตโนมัติ

คีย์หลักที่ดีมีลักษณะอย่างไร

เขตข้อมูลที่ดีที่เหมาะจะเป็นคีย์หลักจะมีคุณลักษณะหลายประการดังนี้

  • ซึ่งจะระบุแถวแต่ละแถวโดยไม่ซ้ํากัน
  • ค่านี้ไม่เคยเป็นค่าว่างหรือ Null กล่าวคือมีค่าอยู่ตลอดเวลา
  • ค่าที่อยู่ภายในจะไม่ค่อยเปลี่ยนแปลง (ตามอุดมคติ คือ ไม่เปลี่ยนแปลง)

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

คีย์หลัก AutoNumber แสดงเป็น ID ในมุมมอง ออกแบบ ของตาราง Access

เขตข้อมูล AutoNumber สร้างคีย์หลักที่ดีได้

ตัวอย่างของคีย์หลักที่ไม่ดี

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

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

คีย์ผสม กล่าวคือใช้หลายเขตข้อมูลรวมกันเป็นคีย์หลัก

ในบางกรณี คุณต้องการใช้เขตข้อมูลอย่างน้อยสองเขตข้อมูลในตารางเป็นคีย์หลัก ตัวอย่างเช่น ตารางรายละเอียดคําสั่งซื้อที่จัดเก็บรายการสินค้าสําหรับคําสั่งซื้ออาจใช้สองเขตข้อมูลในคีย์หลัก: ID คําสั่งซื้อและรหัสผลิตภัณฑ์ คีย์ที่มีมากกว่าหนึ่งเขตข้อมูลจะเรียกว่าคีย์ผสม

ตั้งค่าคีย์หลักโดยใช้เขตข้อมูลที่คุณมีอยู่แล้วใน Access

เพื่อให้คีย์หลักทํางานได้ดี เขตข้อมูลต้องระบุแถวแต่ละแถวโดยไม่ซ้ํากัน ไม่มีค่าว่างหรือค่า Null และไม่ค่อยเปลี่ยนแปลง (โดยหลักคือไม่เปลี่ยนแปลงเลย) เมื่อต้องการตั้งค่าคีย์หลัก:

  1. เปิดฐานข้อมูลที่คุณต้องการปรับเปลี่ยน

  2. ในบานหน้าต่างนําทาง ให้คลิกขวาที่ตารางที่คุณต้องการตั้งค่าคีย์หลัก และบนเมนูทางลัด ให้เลือก มุมมองออกแบบ

    เคล็ดลับ

    ถ้าคุณไม่เห็นบานหน้าต่างนำทาง ให้กด F11 เพื่อแสดง

  3. เลือกหนึ่งเขตข้อมูลหรือหลายเขตข้อมูลที่คุณต้องการใช้เป็นคีย์หลัก
    เมื่อต้องการเลือกหนึ่งเขตข้อมูล ให้เลือกตัวเลือกแถวสําหรับเขตข้อมูลที่คุณต้องการ
    เมื่อต้องการเลือกมากกว่าหนึ่งเขตข้อมูลเพื่อสร้างคีย์ผสม ให้กด CTRL ค้างไว้ แล้วเลือกตัวเลือกแถวสําหรับแต่ละเขตข้อมูล

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

เอาคีย์หลักใน Access ออก

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

การเอาคีย์หลักออกไม่ได้เป็นการลบเขตข้อมูลออกจากตารางของคุณ แต่จะเอาดัชนีที่สร้างขึ้นสําหรับคีย์หลักออก

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

    เมื่อต้องการลบความสัมพันธ์ของตาราง ให้ทําตามขั้นตอนต่อไปนี้:

    1. ถ้าตารางที่มีส่วนร่วมในความสัมพันธ์ของตารางเปิดอยู่ ให้ปิดตารางเหล่านั้น คุณไม่สามารถลบความสัมพันธ์ของตารางระหว่างตารางที่เปิดอยู่ได้
    2. บนแท็บ เครื่องมือฐานข้อมูล ในกลุ่ม ความสัมพันธ์ ให้เลือก ความสัมพันธ์
      รูป Ribbon ของ Access
    3. เลือก เพิ่มตาราง
    4. เลือกเส้นความสัมพันธ์ของตารางสําหรับความสัมพันธ์ของตารางที่คุณต้องการลบ (เส้นนั้นจะกลายเป็นเส้นหนาเมื่อถูกเลือก) แล้วกดแป้น DELETE
    5. บนแท็บ ออกแบบความสัมพันธ์ ในกลุ่ม ความสัมพันธ์ ให้คลิก ปิด
  2. หลังจากที่คุณลบความสัมพันธ์แล้ว ในบานหน้าต่างนําทาง ให้คลิกขวาที่ตารางที่คุณต้องการเอาคีย์หลักออก แล้วเลือก มุมมองออกแบบ

    เคล็ดลับ

    ถ้าคุณไม่เห็นบานหน้าต่างนำทาง ให้กด F11 เพื่อแสดง

  3. เลือกตัวเลือกแถวสําหรับคีย์หลักปัจจุบัน
    ถ้าคีย์หลักประกอบด้วยเขตข้อมูลเดียว ให้เลือกตัวเลือกแถวสําหรับเขตข้อมูลนั้น
    ถ้าคีย์หลักประกอบด้วยหลายเขตข้อมูล ให้เลือกตัวเลือกแถวสําหรับเขตข้อมูลใดๆ ในคีย์หลัก

  4. บนแท็บ ออกแบบตาราง ในกลุ่ม เครื่องมือ ให้เลือก คีย์หลัก
    ตัวบ่งชี้คีย์จะถูกเอาออกจากเขตข้อมูลหนึ่งหรือหลายเขตข้อมูลที่ก่อนหน้านี้คุณได้ระบุให้เป็นคีย์หลัก

หมายเหตุ

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

เปลี่ยนคีย์หลักใน Access

ถ้าคุณตัดสินใจที่จะเปลี่ยนคีย์หลักของตาราง คุณสามารถทำได้โดยทำตามขั้นตอนต่อไปนี้:

  1. เอาคีย์หลักที่มีอยู่แล้วออกโดยทำตามคำแนะนำในส่วน เอาคีย์หลักออก
  2. ตั้งค่าคีย์หลักโดยทำตามคำแนะนำในส่วน ตั้งค่าคีย์หลัก

ข้อมูลเพิ่มเติม

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการออกแบบฐานข้อมูลและการเลือกคีย์หลักที่เหมาะสม ให้ดูบทความ:

ด้านบนของหน้า