1.9.5 การระบุคีย์หลัก

1.9.5 การระบุคีย์หลัก



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

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

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

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

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

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

 
รูปที่ 1-14 การกำหนดคีย์หลัก

จากรูป มีอยู่บ่อยครั้งที่คอลัมน์ที่ตั้งค่าเป็นชนิดข้อมูล AutoNumber มักจะสามารถใช้ เป็นคีย์หลักที่ดีได้ เนื่องจากไม่มีหมายเลขผลิตภัณฑ์ที่ตรงกันสองรายการ

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

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


รูปที่ 1-15 สร้างคอลัมน์ AutoNumber สำหรับแต่ละตารางเพื่อใช้เป็นคีย์หลักได้

0 ความคิดเห็น:

แสดงความคิดเห็น