บทที่ 1

ความรู้ทั่วไปเกี่ยวกับฐานข้อมูล

คีย์ (KEY)

คีย์ (KEY)

        ในการอ้างอิง  การค้นหา   การแก้ไขเปลี่ยนแปลงข้อมูล หรือการกำหนดความสัมพันธ์ระหว่างข้อมูลจะเกิดขึ้นอย่างมีประสิทธิภาพ  จะต้องกำหนดคีย์ (KEY) ให้กับ Table ก่อน นอกจากนี้การกำหนดคีย์จะทำให้การอ้างอิงและการประมวลผลข้อมูลได้สะดวกขึ้นและยังช่วยประหยัดเนื้อที่ใช้ในการจัดเก็บคีย์ที่ใช้ในระบบฐานข้อมูลแบ่งออกได้หลายประเภท  ดังต่อไปนี้

Primary  Key

        หมายถึง  คีย์หลักที่กำหนดจากฟิลด์ที่ไม่มีข้อมูลซ้ำซ้อน (unique) ใน  Table  เดียวกันโดยเด็ดขาด
และจะต้องมีค่าเสมอจะเป็นค่าว่าง (Null) ไม่ได้  สามารถนำมาจัดเรียงลำดับและแยกแยะข้อมูลแต่ละรายการออกจากกันได้อย่างดี  ตัวอย่างของข้อมูลที่นำมากำหนดเป็นคีย์หลัก  ได้แก่  รหัสนักเรียน  รหัสสินค้า  หมายเลขห้องพัก  รหัสวิชา ฯลฯ


รูปที่  1.7   แสดงตัวอย่างการกำหนดคีย์หลัก (Primary   Key)

Secondary Key

       หมายถึง  คีย์รอง  โดยโปรแกรม  Access  จะเรียกคีย์ชนิดนี้ว่า Index (ดัชนี)  ซึ่งเป็นคุณสมบัติหนึ่งในการกำหนดคีย์หลัก  (Primary  Key)  และยังใช้  Index  ในการค้นหา และจัดเรียงรายการข้อมูลที่มีจำนวนมากได้อย่างรวดเร็ว  ตัวอย่างเช่น  ถ้าต้องการค้นหาฟิลด์ชื่อพนักงาน  ถ้าฟิลด์ดังกล่าวไม่ได้กำหนด Index ไว้  โปรแกรมจะเริ่มค้นตั้งแต่รายการแรกไปเรื่อย ๆ จนกระทั่งพบ  ดังนั้นถ้าชื่อพนักงานที่ต้องการค้นหาอยู่รายการท้าย ๆ จะเสียเวลาในการสืบค้น โดยเฉพาะข้อมูลที่มีจำนวนมาก ๆ ถ้ากำหนด Index  ให้กับฟิลด์ดังกล่าว  ฟิลด์ชื่อพนักงานจะถูกเก็บในแฟ้ม Index  ของ  DBMS และจะจัดเรียงชื่อตามลำดับตัวอักษร  เมื่อมีการสืบค้นก็จะค้นหาที่แฟ้ม Index เพื่อทราบตำแหน่งรายการ ที่ต้องการและเข้าถึงข้อมูลดังกล่าวได้อย่างรวดเร็ว  ฟิลด์ที่กำหนดเป็น Index จะยอมให้ข้อมูลซ้ำกันได้ (Duplicate)

Foreign  Key

       หมายถึง  คีย์นอก  เป็นที่เชื่อม Table ที่เกี่ยวข้องหรือมีความสัมพันธ์กัน เช่น ใน Table หลักสูตร กำหนดให้รหัสวิชาเป็น Primary Key และทำการเชื่อมไปยัง Table ลงทะเบียน เพื่อต้องการทราบชื่อวิชาและหน่วยกิตที่นักเรียนลงทะเบียน โดยกำหนดฟิลด์รหัสวิชาใน Table ลงทะเบียน เป็น Foreign Key ในลักษณะความสัมพันธ์ one to many หมายความว่า รหัสวิชา 1 วิชา สามารถให้นักเรียนลงทะเบียนได้ มากกว่า 1 คน ดังนั้นจึงมีรหัสซ้ำได้ใน Table ลงทะเบียน



รูปที่ 1.8  แสดงตัวอย่างการกำหนดคีย์นอก (Foreign  Key)

Candidate  Key

       หมายถึง  คีย์ที่มีคุณสมบัติใกล้เคียงกับคีย์หลัก (Primary  Key)  หรือสามารถนำมาแทนคีย์หลักได้ เช่น ในตารางพนักงาน กำหนดให้พนักงานเป็นคีย์หลักซึ่งมีค่าไม่ซ้ำกัน  แต่พบว่าหมายเลขบัตรประชาชนของพนักงานก็มีค่าไม่ซ้ำกัน  ดังนั้นหมายเลขบัตรประชาชนมีลักษณะเป็น Candidate  Key  ซึ่งสามารถนำมาเป็นคีย์สำรองแทนคีย์หลักได้


รหัสพนักงาน

ชื่อ-สกุล

หมายเลขบัตรประชาชน

การศึกษา

001
002
003

สมชาย  มีสกุล
สิริวิมล  ชาญฉลาด
สมควร  ชนะชาติ

1-1299-00123-25-8
1-3205-12001-32-4
3-2022-15444-779

ปวส.
ปริญญาตรี
ปวช.


รูปที่ 1.9  แสดงตัวอย่างการกำหนดคีย์สำรองเป็นคีย์หลัก (Candidate  Key)

Compound  Key

       หมายถึง  คีย์ที่เกิดจากการรวมข้อมูลหลายฟิลด์  ให้มีคุณสมบัติเหมือนคีย์หลัก (มีค่าไม่ซ้ำกันและไม่มีค่าว่าง หรือ null  value) เช่น การนำฟิลด์ชื่อพนักงานมารวมกับฟิลด์สกุลของพนักงาน ทำให้เกิดเป็นฟิลด์ข้อมูลที่มีค่าไม่ซ้ำซ้อนกันเราเรียกคีย์ที่เกิดจากการรวมชื่อพนักงาน  และสกุลว่า Compound  Key หรือคีย์รวม


รูปที่ 1.10 แสดงตัวอย่างการกำหนดคีย์รวม (Compound  Key)