ฐานข้อมูลเชิงสัมพันธ์

ประเภทของคีย์และกฎที่เกี่ยวข้องกับคีย์

 

 

   คีย์หลัก (Primary Key) คือ  แอททริบิวท์ที่สามารถใช้เจาะจงแถวใดแถวหนึ่งในรีเลชัน โดยข้อมูลแต่ละแถวจะไม่ซ้ำซ้อนกัน  บางครั้งอาจเรียกสั้น ๆ  ว่า คีย์ 

 คุณสมบัติของคีย์หลัก

    1. ข้อมูลของแอททริบิวท์ที่เป็นคีย์หลัก  จะมีความเป็นหนึ่งเดียว  (uniqueness)  กล่าวคือทุกๆ แถวของตารางจะต้องไม่มีข้อมูลของแอททริบิวท์ที่เป็นคีย์หลักนี้ซ้ำกัน

    2. ต้องประกอบด้วยจำนวนแอททริบิวท์ที่น้อยที่สุด  (minimality)  แต่สามารถใช้เป็นตัวชี้เฉพาะเจาะจงหรืออ้างอิงถึงแถวใดแถวหนึ่งในรีเลชันได้

    3. ค่าแอททริบิวท์คีย์หลักต้องไม่เป็นค่าว่าง (Not Null)

   คีย์ร่วม (Composite Key)  คือ คีย์หลักที่ประกอบด้วยแอททริบิวท์มากกว่าหนึ่งแอททริบิวท์

    นัลคีย์แอททริบิวท์ คือ แอททริบิวท์อื่น ๆ ในรีเลชันที่ไม่ใช่ส่วนใดส่วนหนึ่งของคีย์หลัก เช่น ถ้ากำหนดให้คีย์หลักคือแอททริบิวท์รหัสนักศึกษา ดังนั้น แอททริบิวท์ชื่อนักศึกษา สาขาวิชา และหมายเลขบัตรประชาชน เป็นนัลคีย์แอททริบิวท์

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

คุณสมบัติของคีย์นอก

     1. คีย์นอกจะเป็นแอททริบิวท์  หรือกลุ่มของแอททริบิวท์ที่อยู่ในรีเลชัน หนึ่งๆ  ที่ค่าของแอททริบิวท์นั้นไปปรากฏเป็นคีย์หลักในอีกรีเลชัน  (หรืออาจเป็นรีเลชันเดิมก็ได้)

     2. คีย์นอกเปรียบเสมือนกาวเชื่อมข้อมูลในรีเลชันหนึ่งกับอีกรีเลชันหนึ่ง  ซึ่งเป็นการสร้างความสัมพันธ์ระหว่างรีเลชัน

     3. คีย์นอกและคีย์หลักของอีกรีเลชันที่มีความสัมพันธ์กัน  จะต้องอยู่ภายใต้โดเมนเดียวกัน  และคีย์นอกไม่จำเป็นต้องมีชื่อเหมือนกับคีย์หลักของอีกรีเลชันที่มีความสัมพันธ์กัน

     4. รีเลชันหนึ่งๆ  อาจจะมีคีย์นอกอยู่หรือจะไม่มีก็ได้  แต่ทุกรีเลชันจะต้องมีคีย์หลักเสมอ