วันอังคารที่ 8 พฤศจิกายน พ.ศ. 2559

ชนิดของคีย์ในฐานข้อมูล

คีย์ (key) เพื่อเพิ่มประสิทธิภาพให้กับตาราง เราควรกำหนด คีย์ ให้กับตาราง เพื่อจำแนกเรคอร์ดและใช้ในการกำหนดความสัมพันธ์ ระหว่างตาราง คีย์มีดังนี้

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

       จากตารางจะเห็นว่าไม่สามารถใช้ฟิลด์ใดเป็น primary key ได้เลย เพราะรหัสนักเรียนซ้ำกันได้เนื่องจาก นักเรียน1 สามารถที่จะชอบผักได้หลายอย่าง ส่วนรหัสผักก็มีซ้ำกันได้อีก เพราะผัก 1 อย่างก็ถูกนักเรียนชอบได้หลายคน 
        ดังนั้นเราจึงต้องจับรหัสนักเรียน และรหัสผักรวมกันเป็น primary key แบบร่วม เพราะ 2 ฟิลด์นี้จะไม่มีทางเหมือนกันทั้ง 2 ฟิลด์ ในต่างเรคอร์ดแน่นอน

คีย์คู่แข่ง (Candidate key) ตารางบางตารางจะมีฟิลด์ให้เลือกใช้เป็น primary key ได้มากกว่า 1 ฟิลด์ ถ้าจะเลือกทั้งสองฟิลด์เป็น primary key ก็จะเกินความจำเป็น อาจจะสร้างความสับสนเพิ่มให้กับเราอีกก็ได้ คีย์ประเภทนี้ฟิลด์สามารถที่จะเป็น คีย์หลักได้

คีย์นอก (Foreign key) 

  • คีย์ชนิดนี้เป็นฟิลด์ที่มีอยู่ใน 2 ตาราง
  • ในตารางหนึ่งจะทำหน้าที่เป็น primary key
  • ส่วนอีกตารางอาจจะเป็น compound key หรือไม่ได้เป็นคีย์ใดๆเลย (Non key) ก็ได้ เป็นฟิลด์ที่สามารถมีข้อมูลซ้ำกันได้
หน้าที่ของ foreign key คือ เชื่อมความสัมพันธ์ระหว่าง 2 ตารางเข้าหากัน ทำให้เกิดเป็นฐานข้อมูลเชิงสัมพันธ์

 

การจัดการฐานข้อมูล ACCESS 2010 Template by Ipietoon Cute Blog Design

Blogger Templates