© Yurich/Shutterstock.com
เมื่อใช้ฐานข้อมูลเชิงสัมพันธ์กับระบบต่างๆ เช่น MySQL คีย์เป็นส่วนสำคัญในการดำเนินการของคุณ โดยทั่วไปแล้ว คีย์จะใช้เพื่อระบุแถวในฐานข้อมูลและเพื่อแสดงความสัมพันธ์ระหว่างค่าข้อมูล มีคีย์หลายประเภทที่ใช้ในฐานข้อมูลเหล่านี้ แต่โดยทั่วไปและจำเป็นที่สุดคือคีย์หลักและคีย์ตัวเลือก ค้นหาความหมายของคำเหล่านี้และวิธีใช้ในบทความนี้
Candidate Key Vs. คีย์หลัก: การเปรียบเทียบแบบเคียงข้างกัน
ในฐานข้อมูลนี้ Customer_id เป็นคีย์หลักของตาราง Customer
©Joe Techapanupreeda/Shutterstock.com
ผู้สมัครเทียบกับ คีย์หลัก: ความแตกต่างคืออะไร
สรุปความแตกต่างหลักๆ ไว้ในตารางด้านบนแล้ว แต่ลองมาดูกันดีกว่า
ความหมาย
ในแง่ง่ายๆ คีย์ตัวเลือกคือเขตข้อมูลหรือการรวมกันของเขตข้อมูลที่สามารถใช้ระบุแต่ละระเบียนในตารางโดยไม่ซ้ำกัน ดังนั้น คุณสามารถมีคีย์ตัวเลือกที่เป็นไปได้หลายคีย์ในตาราง ตัวอย่างเช่น ลองพิจารณาตารางที่มีคอลัมน์”ID””ชื่อ””อายุ””วันเกิด””น้ำหนัก””ส่วนสูง”และ”ที่อยู่”ในกรณีนี้ เราสามารถระบุแต่ละระเบียนโดยไม่ซ้ำกันด้วยฟิลด์”ID”หรืออาจเป็นฟิลด์”ชื่อ”และ”วันเกิด”เนื่องจากฟิลด์เหล่านี้มักจะไม่ซ้ำกัน
ในทางกลับกัน มี สามารถเป็นคีย์หลักได้เพียงหนึ่งคีย์ต่อตารางเท่านั้น เนื่องจากเป็นคีย์เฉพาะที่เลือกจากคีย์ตัวเลือกเพื่อแสดงตาราง ต่อจากตัวอย่างที่แล้ว เราจะเห็นว่า “ID” เป็นตัวเลือกที่ดีสำหรับคีย์หลัก เนื่องจากคีย์นี้จะไม่ซ้ำกันสำหรับแต่ละคนในตาราง ในขณะที่ฟิลด์อื่น ๆ ทุกฟิลด์อาจมีค่าที่ซ้ำกัน
สถานะ NULL
นี่เป็นอีกส่วนที่คีย์ต่างกัน คีย์ผู้สมัครอาจมีค่า Null ได้ แต่เฉพาะในกรณีที่เป็นไปตามเกณฑ์สำหรับคีย์ตัวเลือก นั่นคือเกณฑ์ความเป็นเอกลักษณ์และความเล็กที่สุด ซึ่งหมายความว่า สำหรับฟิลด์ที่จะเป็นคีย์ตัวเลือกที่มีศักยภาพ จะต้องสามารถระบุตารางโดยไม่ซ้ำกันโดยใช้แอตทริบิวต์ขั้นต่ำ อย่างน้อยที่สุด เราหมายความว่าหากเราลบแอตทริบิวต์ออกจากคีย์ มันจะสูญเสียเอกลักษณ์ไป ดังนั้นจึงมีจำนวนแอตทริบิวต์ขั้นต่ำที่จะเป็นตัวระบุเฉพาะ หากเราดูตัวอย่างก่อนหน้านี้ เราสามารถใช้ฟิลด์”ชื่อ”และ”วันเกิด”เป็นคีย์ตัวเลือก และฟิลด์”ID”ด้วย เนื่องจากแม้ว่าแอตทริบิวต์อื่นๆ จะถูกลบออก ก็ยังสามารถใช้ระบุตารางได้โดยไม่ซ้ำกัน ด้วยเหตุนี้ ฟิลด์เหล่านี้จึงมีค่า Null ในทางทฤษฎีได้
อย่างไรก็ตาม คีย์หลักไม่สามารถมีค่า Null ได้ เนื่องจากหากฟิลด์มีค่า Null ค่าเหล่านี้จะไม่ซ้ำกัน ดังนั้นคีย์หลักจะไม่ประสบความสำเร็จในการระบุตารางโดยไม่ซ้ำกัน
เอกลักษณ์
คีย์ทั้งสองประเภทไม่ซ้ำกัน แต่มีความแตกต่างบางประการในความเป็นเอกลักษณ์ อาจมีคีย์ตัวเลือกที่เป็นไปได้หลายคีย์ ตราบใดที่แต่ละคีย์สามารถใช้เพื่อระบุตารางโดยไม่ซ้ำกัน ดังนั้น ด้วยวิธีนี้ คีย์ตัวเลือกจะไม่ซ้ำกันโดยเด็ดขาด เนื่องจากสามารถมีได้มากกว่าหนึ่งคีย์
ใน ตรงกันข้าม สามารถระบุคีย์หลักได้เพียงหนึ่งคีย์ต่อตาราง หนึ่งคอลัมน์หรือชุดค่าผสม ดังนั้น คีย์หลักจึงไม่ซ้ำกันและจะใช้เดี่ยวๆ สำหรับแต่ละตาราง
การใช้งาน
คีย์ทั้งสองประเภทอาจใช้เพื่อระบุตารางโดยไม่ซ้ำกัน แต่การใช้งานจะไม่เหมือนกัน ต่างกันไป. คีย์ผู้สมัครสามารถใช้สำหรับวัตถุประสงค์ของฐานข้อมูลอื่นๆ ซึ่งรวมถึง:
การจัดทำดัชนีเพื่อเพิ่มความเร็วในการเรียกค้นและการดำเนินการค้นหา การบังคับใช้ข้อจำกัด เช่น ข้อจำกัดเฉพาะ ซึ่งหมายความว่าไม่มีสองแถวในตารางที่มีค่าเดียวกันสำหรับคอลัมน์ที่ระบุด้วยคีย์นี้ การเพิ่มประสิทธิภาพการสืบค้นเพื่อให้การสืบค้นที่ซับซ้อนสามารถทำได้มีประสิทธิภาพมากขึ้น การสร้างแบบจำลองข้อมูล เช่น การระบุแอตทริบิวต์ของคีย์และการเพิ่มประสิทธิภาพของฐานข้อมูล
คีย์หลักมีการใช้งานทั่วไปบางอย่าง เช่น การจัดทำดัชนี การสร้างแบบจำลองข้อมูล และการบังคับใช้เอกลักษณ์ แต่ก็สามารถใช้เพื่อความสมบูรณ์ของการอ้างอิงได้เช่นกัน พูดง่ายๆ ก็คือ คีย์หลักสามารถใช้ในตารางอื่นๆ ได้ เป็นสิ่งที่เรียกว่าคีย์นอก นี่คือคีย์ในตารางอื่นที่อ้างอิงถึงคีย์หลัก เพื่อให้แน่ใจว่าค่าในคอลัมน์นี้สอดคล้องกับค่าในคอลัมน์คีย์หลัก ด้วยวิธีนี้ คีย์หลักสามารถใช้เพื่อรักษาความสอดคล้องของฐานข้อมูล
เค้าโครงที่ถูกต้องพร้อมคีย์หลักมีความสำคัญมากในการวางแผนฐานข้อมูล
©Wichy/Shutterstock.com
Candidate Key Vs. คีย์หลัก: บทสรุป
โดยสรุป คีย์ตัวเลือกคือคีย์หลักที่เป็นไปได้ซึ่งใช้สำหรับวัตถุประสงค์ในการจัดทำดัชนี การเพิ่มประสิทธิภาพการสืบค้น การสร้างแบบจำลองข้อมูล และการบังคับใช้ข้อจำกัด คีย์หลักถูกใช้ในทำนองเดียวกัน แต่ยังใช้เพื่อความสมบูรณ์ของการอ้างอิงและการรักษาเอกลักษณ์ของตาราง แม้ว่าคุณจะมีคีย์ตัวเลือกได้หลายคีย์ต่อตาราง แต่คุณสามารถมีคีย์หลักได้เพียงคีย์เดียวเท่านั้น คุณยังสามารถมีค่า Null ในช่องคีย์ตัวเลือก แต่ไม่สามารถมีค่าในช่องคีย์หลักได้
คีย์ผู้สมัครเทียบกับ คีย์หลัก: เมื่อใดที่คุณควรใช้แต่ละอัน คำถามที่พบบ่อย (คำถามที่พบบ่อย)
ปุ่มตัวเลือกคืออะไร
ปุ่มตัวเลือกคือหนึ่งคอลัมน์ขึ้นไปในตารางที่สามารถระบุตารางได้โดยไม่ซ้ำกัน แถว พวกเขาเป็นคีย์หลักที่เป็นไปได้ และอาจมีหนึ่งคีย์ขึ้นไปต่อตาราง
คีย์ตัวเลือกใช้สำหรับอะไร
คีย์เหล่านี้ใช้เพื่อไม่ซ้ำกัน ระบุแถว เช่นเดียวกับการจัดทำดัชนี การเพิ่มประสิทธิภาพการค้นหา การสร้างแบบจำลองข้อมูล และการบังคับใช้ข้อจำกัด
คีย์หลักคืออะไร
คีย์หลักคือหนึ่ง หรือมากกว่าในตารางที่ระบุแถวโดยไม่ซ้ำกัน และถูกเลือกจากคีย์ตัวเลือก คุณสามารถมีได้หนึ่งรายการต่อตารางเท่านั้น
คีย์หลักใช้สำหรับอะไร
คีย์หลักเหล่านี้ใช้เพื่อระบุตารางโดยไม่ซ้ำกันและบังคับใช้ Referential Integrity ระหว่าง ตาราง รวมทั้งเพื่อวัตถุประสงค์เดียวกันกับคีย์ตัวเลือก
คีย์นอกคืออะไร
คีย์นอกคือหนึ่งคอลัมน์ขึ้นไปใน ตารางแยกต่างหากที่อ้างอิงคีย์หลักของตารางแรก ซึ่งช่วยในการบังคับใช้ Referential Integrity และสร้างความสัมพันธ์ระหว่างตาราง เมื่อมีการอัปเดตค่าของคีย์หลัก การเปลี่ยนแปลงเหล่านี้จะแสดงในคีย์นอก