Thaksin University      


คีย์ (key)

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

         ตัวอย่างของข้อมูลที่นำมากำหนดเป็นคีย์หลัก ได้แก่ รหัสนักศึกษา, รหัสสินค้า, หมายเลขห้องพัก, รหัสวิชา ฯลฯ

        

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

 

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

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

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

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

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

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

คีย์รวม (Compound  Key)

จัดทำโดย : กลุ่มภารกิจบริการและพัฒนาสื่อการเรียนการสอน สำนักคอมพิวเตอร์ วิทยาเขตสงขลา