ตอนนี้จะกล่าวถึงคีย์ต่าง ๆ ที่ใช้ในการทำฐานข้อมูลนะครับ เอาเรื่องทฤษฎีก่อนละกัน
Keys หมายถึง
– คอลัมน์(column) [แอตทริบิวต์(attribute)] 1 คอลัมน์ หรืออาจเป็นหลายๆคอลัมน์มาประกอบกันก็ได้
– มีค่าไม่ซ้ำกันในแต่ละแถว [มีคุณสมบัติที่เป็นเอกลักษณ์ (unique)]
– สามารถใช้คอลัมนั้นในการระบุคอลัมน์อื่นๆในแถว(row) [เรคอร์ด(record) หรือทูเพิล(tuple)] นั้นได้
ประเภทของคีย์ มีหลายแบบ ดังนี้
- Super Keys หมายถึง คอลัมน์หรือกลุ่มของคอลัมน์ ที่สามารถใช้จำแนกความแตกต่างของแต่ละแถวได้
หากมีคอลัมน์หรือกลุ่มของคอลัมน์ใด ที่ไม่มีโอกาสมีค่าซ้ำกันเลยในแต่ละแถว(unique) ก็จัดได้ว่าคอลัมน์นั้นหรือกลุ่มของคอลัมน์นั้น เป็น Super Key - Composite Key หมายถึง Key ที่ประกอบกัน หรือมีมากกว่า 1 Key
- Candidate Keys หมายถึง Super Key ที่มีคอลัมน์เดียว หรือ Super Key ที่มีหลายคอลัมน์ แต่ไม่มีบางส่วนของ Key เป็น Unique Subset คือ มีค่าไม่ซ้ำกันในแต่ละแถว
- Primary Keys หมายถึง Key ที่ถูกเลือกมาจาก Candidate Key โดยมีหลักเกณฑ์ดังนี้
- ต้องไม่มีค่าซ้ำกันในแต่ละแถว
- ต้องไม่มีค่าเป็น NULL(ค่าว่าง)
- Primary Key จะถูกเปลี่ยนแปลงค่าไม่ได้
- พิจารณา Candidate Key ที่เรามีอยู่
- Alternate Keys หมายถึง Key ที่ไม่ได้ถูกเลือกให้เป็น Primary Key
- Foreign Keys หมายถึง Key ที่อ้างไปยัง Primary Key ของอีกเทเบิลหนึ่ง
จบทฤษฎีเพียงแค่นี้ครับ จะเห็นว่าผมไม่ค่อยอธิบายอะไรมาก เพราะว่าเวลาเราทำงานจริง ๆ ก็ไม่ได้ใช้ทุกคีย์ที่กล่าวมาหรอกครับ ถ้าเชื่อผม ผมให้จำแค่ 2 คีย์ก็พอ คือ Primary Keys กับ Foreign keys เฉพาะฉะนั้นผมจะอธิบายแบบเข้าใจง่าย ๆ แบบนี้นะครับ
Primary Key คือคีย์หลัก จำง่าย ๆ คือ มันเป็นคอลัมป์ ที่ใช้แทนข้อมูลของทั้งแถว พูดง่าย ๆ คือรหัสต่าง ๆ นั่นแหล่ะครับ เช่น รหัสนักเรียน รหัสสินค้า รหัสบัตรประชาชน(เลขบัตรประชาชน) เป็นตัน
ยังไม่หมดแค่นี้ครับ บางตาราง เราสามารถ นำ 2 คอลัมป์ขึ้นไป มารวมกันเพื่อให้เป็นตัวแทนของทั้งแถวได้ เช่น ตารางรายละเอียดการสั่งซื้อ ด้านล่างนี้ครับ เราต้องใช้ เลขที่ใบสั่งซื้อ และ รหัสสินค้า เพื่อสามารถระบุรายละเอียดการสั่งซื้อครับ
Foreign Keys นี่ยิ่งจำง่ายเข้าไปใหญ่ มันคือคอลัมป์ที่เอาคีย์หลักของอีกตารางนึงมาใช้เพื่อลิงค์กลับไปหาตารางหลักได้ จากรูปด้านบน ตารางรายละเอียดใบสั่งซื้อ ถ้ารหัสสินค้ารวมกับเลขที่ใบสั่งซื้อเราเรียกว่า Primary key แต่ถ้าเป็นคอลัมป์ รหัสสินค้า อย่างเดียวเนี้ยแหล่ะครับ เราเรียกว่า Foreign Keys เพราะว่า รหัสสินค้านี้สามารถลิงค์ย้อนกลับไปตารางสินค้าได้
จบเรื่องคีย์ไว้เท่านี้ครับ ตามมาตรฐานเว็บเรา ไม่เน้นเอาข้อมูลเอาไปทำข้อสอบนะครับ เน้นเอาไปใช้งานจริง เพราะฉะนั้นจำแค่ 2 คีย์พอครับผม มีข้อสงสัยอะไรคอมเมนต์ถามได้เลยครับ หรือจะไปโพสที่เฟสบุคก็ได้เน้อ
จบเรื่องคีย์แล้วเราจะไปลองทำ workshop แรกกันครับ คือการเขียน e-r diagram จากรายงานที่เราต้องการ โปรดติดตามตอนต่อไป