คีย์หลัก (Primary Key) คือ แอททริบิวท์ที่สามารถใช้เจาะจงแถวใดแถวหนึ่งในรีเลชัน โดยข้อมูลแต่ละแถวจะไม่ซ้ำซ้อนกัน บางครั้งอาจเรียกสั้น ๆ ว่า คีย์
คุณสมบัติของคีย์หลัก
1. ข้อมูลของแอททริบิวท์ที่เป็นคีย์หลัก จะมีความเป็นหนึ่งเดียว (uniqueness) กล่าวคือทุกๆ แถวของตารางจะต้องไม่มีข้อมูลของแอททริบิวท์ที่เป็นคีย์หลักนี้ซ้ำกัน
2. ต้องประกอบด้วยจำนวนแอททริบิวท์ที่น้อยที่สุด (minimality) แต่สามารถใช้เป็นตัวชี้เฉพาะเจาะจงหรืออ้างอิงถึงแถวใดแถวหนึ่งในรีเลชันได้
3. ค่าแอททริบิวท์คีย์หลักต้องไม่เป็นค่าว่าง (Not Null)
คีย์ร่วม (Composite Key) คือ คีย์หลักที่ประกอบด้วยแอททริบิวท์มากกว่าหนึ่งแอททริบิวท์
นัลคีย์แอททริบิวท์ คือ แอททริบิวท์อื่น ๆ ในรีเลชันที่ไม่ใช่ส่วนใดส่วนหนึ่งของคีย์หลัก เช่น ถ้ากำหนดให้คีย์หลักคือแอททริบิวท์รหัสนักศึกษา ดังนั้น แอททริบิวท์ชื่อนักศึกษา สาขาวิชา และหมายเลขบัตรประชาชน เป็นนัลคีย์แอททริบิวท์
คีย์นอก หรือ คีย์อ้างอิง เป็นแอททริบิวท์หรือกลุ่มแอททริบิวท์ในรีเลชันหนึ่ง ซึ่งจะไปปรากฏเป็นคีย์หลักกับอีกรีเลชันหนึ่ง ดังนั้นค่าคีย์นอกจะมีค่าเท่ากับค่าคีย์หลักในแถวในแถวหนึ่งของอีกรีเลชัน หรือค่าในคีย์นอกจะต้องมีค่าอยู่ในโดเมนเดียวกับคีย์หลัก
คุณสมบัติของคีย์นอก
1. คีย์นอกจะเป็นแอททริบิวท์ หรือกลุ่มของแอททริบิวท์ที่อยู่ในรีเลชัน หนึ่งๆ ที่ค่าของแอททริบิวท์นั้นไปปรากฏเป็นคีย์หลักในอีกรีเลชัน (หรืออาจเป็นรีเลชันเดิมก็ได้)
2. คีย์นอกเปรียบเสมือนกาวเชื่อมข้อมูลในรีเลชันหนึ่งกับอีกรีเลชันหนึ่ง ซึ่งเป็นการสร้างความสัมพันธ์ระหว่างรีเลชัน
3. คีย์นอกและคีย์หลักของอีกรีเลชันที่มีความสัมพันธ์กัน จะต้องอยู่ภายใต้โดเมนเดียวกัน และคีย์นอกไม่จำเป็นต้องมีชื่อเหมือนกับคีย์หลักของอีกรีเลชันที่มีความสัมพันธ์กัน
4. รีเลชันหนึ่งๆ อาจจะมีคีย์นอกอยู่หรือจะไม่มีก็ได้ แต่ทุกรีเลชันจะต้องมีคีย์หลักเสมอ |