คีย์ (key)
ในการอ้างอิง การค้นหา การแก้ไขเปลี่ยนแปลงข้อมูล หรือการกำหนดความสัมพันธ์ระหว่างข้อมูลจะเกิดขึ้นอย่างมีประสิทธิภาพ จะต้องกำหนด คีย์ (Key) ให้กับ Table ก่อน นอกจากนี้การกำหนดคีย์จะทำให้การอ้างอิงและการประมวลผลข้อมูลได้สะดวกขึ้นและยังช่วยประหยัดเนื้อที่ในการจัดเก็บ คีย์ที่ใช้ในระบบฐานข้อมูลแบ่งออกได้หลายประเภท ดังต่อไปนี้
1. Primary Key หมายถึง คีย์หลักที่กำหนดจากฟิลด์ที่ไม่มีข้อมูลซ้ำซ้อน (unique) ใน Table เดียวกันโดยเด็ดขาด และจะต้องมีค่าเสมอ จะเป็นค่าว่าง (Null) ไม่ได้ สามารถนำมาจัดเรียงลำดับและแยกแยะข้อมูลแต่ละรายการออกจากกันได้เป็นอย่างดี
ตัวอย่างของข้อมูลที่นำมากำหนดเป็นคีย์หลัก ได้แก่ รหัสนักศึกษา, รหัสสินค้า, หมายเลขห้องพัก, รหัสวิชา ฯลฯ
แสดงตัวอย่างการกำหนดคีย์หลัก (Primary Key)
2. Secondary Key หมายถึง คีย์รอง โดยโปรแกรม Access จะเรียกคีย์ชนิดนี้ว่า Index (ดัชนี) ซึ่งเป็นคุณสมบิตหนึ่งในการกำหนดคีย์หลัก (Primary Key) และยังใช้ Index ในการค้นหาและจัดเรียงรายการข้อมูลที่มีจำนวนมากได้อย่างรวดเร็ว ตัวอย่างเช่น ถ้าต้องการค้นหาฟิลด์ชื่อพนักงาน ถ้าฟิลด์ดังกล่าวไม่กำหนด Index ไว้โปรแกรมจะเริ่มต้นตั้งแต่รายการแรกไปเรื่อย ๆ จนกระทั่งพบ ดังนั้น ถ้าชื่อพนักงานที่ต้องการค้นหาอยู่รายการท้าย ๆ จะเสียเวลาในการสืบค้น โดยเฉพาะข้อมูลที่มีจำนวนมากๆ ถ้ากำหนด Index ให้กับฟิลด์ดังกล่าว ฟิลด์ชื่อพนักงานจะถูกเก็บในแฟ้ม Index ของ DBMS และ จะจัดเรียงชื่อตามลำดับตัวอักษร เมื่อมีการสืบค้นก็จะค้นหาที่แฟ้ม Index เพื่อทราบตำแหน่งรายการที่ต้องการและเข้าถึงข้อมูลดังกล่าวได้อย่างรวดเร็ว ฟิลด์ที่กำหนดเป็น Index จะยอมให้ข้อมูลซ้ำกันได้ (Duplicate)
3. Foreign Key หมายถึง คีย์นอก เป็นคีย์ที่เชื่อม Table ที่เกี่ยวข้องหรือมีความสัมพันธ์กัน เช่น ใน Table หลักสูตร กำหนดให้รหัสวิชาเป็น Primary Key และทำการเชื่อมโยงไปยัง Table ลงทะเบียนเพื่อต้องการทราบชื่อวิชาและหน่วยกิตที่นักเรียนลงทะเบียน โดยกำหนดฟิลด์ รหัสวิชา ใน Table ลงทะเบียนเป็น Foreign Key ในลักษณะความสัมพันธ์ One to Many หมายความว่า รหัสวิชา 1 วิชา สามารถให้นักเรียนลงทะเบียนได้มากกว่า 1 คน ดังนั้นจึงมีรหัสซ้ำกันได้ใน Table ลงทะเบียน
แสดงตัวอย่างการกำหนดคีย์นอก (Foreign Key)
4. Candidate Key หมายถึง คีย์ที่มีคุณสมบัติใกล้เคียงกับคีย์หลัก (Primary Key) หรือสามารถแทนคีย์หลักได้ เช่น ในตารางพนักงาน กำหนดให้รหัสพนักงานเป็นคีย์หลัก ซึ่งมีค่าไม่ซ้ำกัน แต่พบว่าหมายเลขบัตรประชาชนของพนักงานก็มีค่าไม่ซ้ำกัน ดังนั้น หมายเลขบัตรประชาชนมีลักษณะเป็น Candidate Key ซื่งสามารถนำมาเป็นคีย์สำรองแทนคีย์หลักได้
แสดงตัวอย่างการกำหนดคีย์สำรองคีย์หลัก (Candidate Key)
5. Compound Key หมายถึง คีย์ที่เกิดจากการรวมข้อมูลหลายฟิลด์ให้มีคุณสมบัติเหมือนคีย์หลัก (มีค่าไม่ซ้ำกันและไม่มีค่าว่าง หรือ null value) เช่น การนำฟิลด์ชื่อพนักงาน มารวมกับฟิลด์สกุลของพนักงาน ทำให้เกิดเป็นฟิลด์ข้อมูลที่มีค่าไม่ซ้ำซ้อนกัน เราเรียกคีย์ที่เกิดจากการรวมชื่อพนักงาน และสกุลว่า Compound Key หรือ คีย์รวม
คีย์รวม (Compound Key)
|