คำเรียกคอลัมน์ตามลักษณะที่น่าสนใจ
การทำนอมอลไลเซชันจำเป็นต้องมีองค์ความรู้พื้นฐานบางอย่างก่อน ความรู้พื้นฐานด้านล่างนี้คือสิ่งที่จำเป็นในการทำนอมอลไลเซชัน
ตัวอย่างข้อมูล
เพื่อให้เห็นภาพมากขึ้น ผู้เขียนขอสมมติตัวอย่างข้อมูลแบบง่ายเพื่อใช้ประกอบการอธิบาย ดังเทเบิ้ล (Table) ด้านล่าง
| ชื่อจริง | นามสกุล | วันเกิด | เพศ |
|---|---|---|---|
| สมชาย | ใจดี | 2008-09-09 | ชาย |
| วิริยะ | จริงใจ | 2012-11-15 | ชาย |
| สมหญิง | ใจดี | 2008-09-09 | หญิง |
| พรพรรณ | วันดี | 2011-10-25 | หญิง |
| วิริยะ | แดดจ้า | 2000-07-17 | ชาย |
ซุปเปอร์คีย์ (Super Key)
ซุปเปอร์คีย์ คือ คอลัมน์หรือชุดคอลัมน์ ที่เมื่อหยิบเอาสมาชิกใดในคอลัมน์หรือชุดคอลัมน์นั้นมาหนึ่งตัวมาค้นหาแถวที่มีข้อมูลตามนั้น จะต้องได้ผลการค้นหาเป็นแถวข้อมูลเพียงหนึ่งแถวเท่านั้น ตัวอย่างเช่น ชื่อจริง ไม่สามารถเป็นซุปเปอร์คีย์ได้เพราะเมื่อหยิบคำว่า “วิริยะ” จะได้ผลลัพธ์เป็นแถวสองแถว (แถว 2 กับ 5) แต่เมื่อเอาคอลัมน์ชื่อจริงและนามสกุลมารวมกัน ({ชื่อจริง, นามสกุล}) จะจัดเป็นซุปเปอร์คีย์ เพราะไม่ว่าจะหยิบสมาชิกตัวใดมา ก็จะได้ข้อมูลแถวเดียวเสมอ
ตัวอย่างข้อมูลนี้มีซุปเปอร์คีย์ดังนี้ {ชื่อจริง, นามสกุล}, {ชื่อจริง, วันเกิด}, {นามสกุล, เพศ}, {วันเกิด, เพศ}, {ชื่อจริง. นามสกุล วันเกิด}, {ชื่อจริง, นามสกุล, เพศ}, {ชื่อจริง, วันเกิด, เพศ}, {นามสกุล, วันเกิด, เพศ}, {ชื่อจริง. นามสกุล. วันเกิด. เพศ}
เคนดิเดทคีย์ (Candidate Key)
เคนดิเดทคีย์คือซุปเปอร์คีย์ที่มีจำนวนคอลัมน์น้อยที่สุด ซึ่งจากตัวอย่างนี้จะได้แก่ {ชื่อจริง, นามสกุล}, {ชื่อจริง, วันเกิด}, {นามสกุล, เพศ}, {วันเกิด, เพศ}
ไพรมารีคีย์ และ อัลทิเนทคีย์ (Primary Key และ Alternate Key)
ไพรมารีคีย์และอัลทิเนทคีย์ คือ เคนดิเดทคีย์ด้วยกันทั้งคู่ ต่างกันตรงที่ ผู้ออกแบบจะเลือกเคนดิเดทคีย์มาหนึ่งตัวเป็นไพรมารีคีย์ ส่วนเคนดิเดทคีย์ตัวอื่นจะถูกเรียกว่าอัลทิเนทคีย์
จุดประสงค์ของไพรมารีคีย์คือการให้ข้อมูลในคอลัมน์หรือชุดคอลัมน์นั้นเป็นตัวแทนของข้อมูลของแถวนั้นๆ ส่วนอันทิเนทคีย์จะถูกใช้ในการค้นหาข้อมูลในกรณีที่ผู้ใช้ไม่สามารถระบุข้อมูลจากไพรมารีคีย์ในการค้นหาข้อมูลได้
ไพรมารีคีย์ที่เกิดจากชุดคอลัมน์ บางครั้งจะเรียกว่า คอมโพสิทคีย์ (Composite Key)
ไพร์มแอตตริบิวต์ (Prime Attribute)
แอตตริบิวต์เป็นอีกคำหนึ่งที่ใช้เรียกแทนคอลัมน์ ไพร์มแอตตริบิวต์ใช้เรียกคอลัมน์ที่สมาชิกในคอลัมน์ไม่ซ้ำกัน โดยพิจารณาเพียงคอลัมน์เดียว ไม่มีชุดคอลัมน์ ในกรณีข้อมูลตัวอย่างนี้ ไม่มีคอลัมน์ใดเลยที่เป็นไพร์มแอตตริบิวต์
คอลัมน์ใดเป็นไพร์มแอตตริบิวต์ จะถือว่าเป็น ซุปเปอร์คีย์และเคนดิเดทคีย์โดยอัตโนมัติ
