แคนดิเดตคีย์ (Candidate Key)

Download Report

Transcript แคนดิเดตคีย์ (Candidate Key)

ความหมายของคีย(์ keys)ในฐานข้อมูล
คีย ์ หมายถึง แอตทริ บิวต์ (attribute : ข้อมูลมีลกั ษณะเฉพาะที่ใช้แบ่ง
หมวดหมู่ของข้อมูล หรื อที่เราคุน้ เคยกันในคาว่า field หรื อ column นัน่ เอง)
หรื อกลุ่มของแอตทริ บิวต์ ที่สามารถใช้ในการบ่งบอกความแตกต่างของแต่ละ
ทัปเพิล (tupple: กลุ่มของ attribute ที่รวมกันเป็ นหนึ่งแถว หรื อที่เรา
คุน้ เคยกันในชื่อว่า record หรื อ row) ในรี เลชัน (relation: กลุ่มของ
ข้อมูลที่มีความสัมพันธ์กนั หรื อที่เราคุน้ เคยกันในชื่อว่า table หรื อ file) ได้ แอ
ตทริ บิวต์ที่เป็ นส่ วนหนึ่ งของคียเ์ รี ยกว่า คียแ์ อตทริ บิวต์ (Key Attribute) และ
คียแ์ อตทริ บิวต์ที่เกิดจากการนาเอาหลายแอตทริ บิวต์มารวมกันเรี ยกว่าคอมโพ สิ ต
คีย ์ (Composite Key) คียต์ ่าง ๆ ที่ใช้ในฐานข้อมูลมีดว้ ยกันหลาย
ชนิด ดังต่อไปนี้
ซู เปอร์ คยี ์ (Superkey)
ซูเปอร์คีย ์ คือแอตทริ บิวต์หรื อกลุ่มของแอตทริ บิวต์ที่เป็ นไปได้ท้ งั หมด
และสามารถ บ่งบอกความแตกต่างของแต่ละทัปเพิลในรี เลชัน
ได้ ดังนั้นในหนึ่งรี เลชันสามารถมีซูเปอร์คียไ์ ด้หลายซูเปอร์คีย ์ เช่น
• นักศึกษา(รหัสนักศึกษา, ชื่อ ,ที่อยู่ ,วันเดือนปี เกิด, เลขบัตรประชาชน)
• มีซูเปอร์คียไ์ ด้หลายตัว เช่น
• รหัสนักศึกษา
• รหัสนักศึกษา, ชื่อ
• รหัสนักศึกษา, ชื่อ ,ที่อยู่
• เลขบัตรประชาชน
แคนดิเดตคีย์ (Candidate Key)
แคนดิเดตคีย ์ คือ ซูเปอร์คียท์ ี่มีขนาดเล็กที่สุด ที่ยงั สามารถบ่งบอกความแตกต่าง
ของแต่ละทัปเพิลในรี เลชันได้ หรื อกล่าวอีกอย่างหนึ่งก็คือซูเปอร์คียท์ ี่ไม่มี
สับเซตของตนเองเป็ นซูเปอร์ คียน์ นั่ เอง ในหนึ่งรี เลชัน อาจจะมีแคนดิเดต
คียไ์ ด้หลายตัว จากตัวอย่างที่แล้วมีแคนดิเดตคียอ์ ยู่ 2 ตัว คือ
• รหัสนักศึกษาและเลขบัตรประชาชน
• ส่ วนกลุ่มแอตทริ บิวต์ (รหัสนักศึกษา, ชื่อ) และ (รหัสนักศึกษา, ชื่อ ,ที่อยู)่
ไม่เป็ นแคนดิเดตคีย ์ เพราะเนื่องจากมีสบั เซ็ตเป็ นแคนดิเดตคีย ์ คือรหัส
นักศึกษาเป็ นซูเปอร์คีย ์
• คีย์หลัก (Primary Key)
คียห์ ลัก คือแคนดิเดตคียท์ ี่ถูกเลือกเพื่อใช้บอกความแตกต่างของแต่ละทัปเพิล
ในรี เลชัน และต้องไม่มีค่าเป็ นค่าว่าง (Null) ในตัวอย่างมีคียห์ ลัก ได้ 2 ตัวคือ รหัส
นักศึกษาและ เลขบัตรประชาชน แต่ในรี เลชัน่ หนึ่งจะมีคียห์ ลักได้ 1 ตัวเท่านั้น
• คีย์รอง (Secondary Key)
คียร์ อง คือแอตทริ บิวต์หรื อกลุ่มของแอตทริ บิวต์ ที่ใช้ในการเข้าถึงหรื อค้นคืน
ในฐานข้อมูล คียร์ องไม่มีความจาเป็ นต้องเป็ นเอกลัษณ์ คือสามารถมีค่าซ้ ากันได้เช่น
ในการเข้าถึงข้อมูลของพนักงาน โดยต้องการเลือกเฉพาะพนักงานที่ขอ้ มูลที่อยู่ มี
รหัสไปรษณี ยต์ ามที่กาหนดให้ เท่านั้น ในกรณี น้ ี รี เลชันพนักงาน มีรหัสพนักงานเป็ น
คียห์ ลัก และสามารถใช้รหัสไปรษณี ยเ์ ป็ นคียร์ องได้ เช่น ชื่อ
• คีย์นอก (Foreign Key)
คียน์ อก คือแอตทริ บิวต์ที่ใช้ในการเชื่อมต่อกับรี เลชันอื่น หรื อกับตัวมันเองเพื่อ
แสดงความสัมพันธ์ระหว่างรี เลชัน โดยที่คียน์ อกสามารถมีค่าซ้ ากันหรื อมีที่เป็ นค่า
ว่างได้ และถ้าค่าไม่เป็ นค่าว่าง จะเป็ นค่าที่ใช้ช้ ีไปที่คียห์ ลักของรี เลชันที่มนั มี
ความสัมพันธ์อยู่