ความแตกต่างระหว่างคีย์หลักและคีย์ต่างประเทศ (พร้อมตาราง)

สารบัญ:

Anonim

ระบบการจัดการฐานข้อมูล (DBMS) มีความสำคัญในด้านต่างๆ เช่น ธุรกิจ การธนาคาร สายการบิน โทรคมนาคม และมหาวิทยาลัย เนื่องจากเป็นวิธีการที่มีประสิทธิภาพและเชื่อถือได้ในการสร้าง จัดเก็บ และจัดการข้อมูลในฐานข้อมูล ระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) เป็นรูปแบบขั้นสูงของ DMBS ที่มีโครงสร้างโดยเฉพาะสำหรับฐานข้อมูลเชิงสัมพันธ์ ฐานข้อมูลเหล่านี้จะเก็บรักษาข้อมูลในตารางที่มีแถวและคอลัมน์ที่เป็นสัญลักษณ์ของรายการและแอตทริบิวต์ตามลำดับ

คีย์เป็นองค์ประกอบที่สำคัญของสคีมาฐานข้อมูลเชิงสัมพันธ์ เนื่องจากสร้างลิงก์ระหว่างตารางสองตารางที่แตกต่างกัน และทำให้แน่ใจว่าได้ระบุแถวของข้อมูลภายในตารางโดยไม่ซ้ำกัน อย่างไรก็ตาม คีย์มีความสำคัญเฉพาะมากกว่าการรักษาลิงก์

ช่วยในการรวบรวมข้อมูลเฉพาะจากแถวจำนวนมากที่อาจซับซ้อนหรือเป็นไปไม่ได้ในบางครั้งหากไม่ใช่สำหรับคีย์ คีย์พื้นฐานสองคีย์ที่ช่วยในการสร้างและระบุลิงก์ระหว่างฐานข้อมูลเชิงสัมพันธ์อย่างมีประสิทธิภาพ ได้แก่ คีย์หลักและคีย์ต่างประเทศ

คีย์หลัก vs คีย์ต่างประเทศ

ความแตกต่างระหว่างคีย์หลักและคีย์นอกคือคีย์หลักใช้ข้อมูลที่มีอยู่ในหนึ่งคอลัมน์หรือหลายคอลัมน์ในตารางเพื่อระบุแต่ละแถวโดยไม่ซ้ำกัน ในขณะที่คีย์ภายนอกคือคอลัมน์หรือหลายคอลัมน์ในฐานข้อมูลที่ชี้ไปที่คีย์หลักของ บันทึกฐานข้อมูลในตารางอื่น

หากไม่มีคีย์หลัก ตารางจะไม่สามารถนับเป็นตารางฐานข้อมูลเชิงสัมพันธ์ได้ เนื่องจากคีย์หลักใช้เพื่อระบุแถวข้อมูลเฉพาะ แถวสองแถวขึ้นไปจึงไม่มีคีย์หลักที่เหมือนกัน ในทางตรงกันข้าม คีย์ภายนอกถูกใช้เพื่อสร้างความสัมพันธ์ระหว่างระเบียนของตารางสองตารางที่แตกต่างกัน ต่างจากคีย์หลัก อย่างไรก็ตาม เราสามารถมีคีย์ต่างประเทศจำนวนมากในฐานข้อมูลได้

ตารางเปรียบเทียบระหว่างคีย์หลักและคีย์ต่างประเทศ (ในรูปแบบตาราง)

พารามิเตอร์ของการเปรียบเทียบ คีย์หลัก กุญแจต่างประเทศ
ค่าที่ซ้ำกัน คีย์หลักไม่อนุญาตให้สองแถวมีค่าเหมือนกัน Foreign Key อนุญาตให้ทั้งสองแถวมีค่าเท่ากัน
การแทรก ในคีย์หลัก เราสามารถแทรกค่าได้แม้ว่าคีย์นอกจะไม่มีค่านั้นก็ตาม ในคีย์ภายนอก เราไม่สามารถแทรกค่าได้หากไม่มีค่าในคีย์หลัก
พิสัย แต่ละแถวในตารางฐานข้อมูลเชิงสัมพันธ์สามารถมีคีย์หลักได้เพียงคีย์เดียว ตารางฐานข้อมูลเชิงสัมพันธ์สามารถมีคีย์ต่างประเทศได้มากมาย
ดัชนีคลัสเตอร์ โดยค่าเริ่มต้น คีย์หลักจะมีดัชนีแบบคลัสเตอร์ คีย์ต่างประเทศไม่มีดัชนีคลัสเตอร์
การลบ เมื่อมีการลบค่า ควรทำให้ค่านั้นยังไม่มีอยู่ในตารางอ้างอิงของ Foreign Key เมื่อค่าจะถูกลบสามารถทำได้จากคีย์ต่างประเทศอย่างง่ายดาย
ตารางชั่วคราว คีย์หลักสามารถกำหนดได้บนตารางชั่วคราว ไม่สามารถกำหนดคีย์ต่างประเทศบนตารางชั่วคราว

คีย์หลักคืออะไร?

คีย์หลักหมายถึงตัวเลือกเฉพาะของคอลัมน์ที่กำหนดชุดของแถวในตารางโดยเฉพาะ คีย์หลักเป็นแอตทริบิวต์เดียวที่มี ID ที่ไม่ซ้ำกันและถือเป็นคีย์ตัวเลือกด้วย คีย์หลักมีสองประเภท ได้แก่ คีย์หลักแบบง่าย และคีย์หลักแบบผสม คีย์หลักอย่างง่ายคือตารางฐานข้อมูลที่สร้างจากคอลัมน์เดียว ในขณะที่คีย์หลักแบบรวมในตารางฐานข้อมูลที่มีมากกว่าหนึ่งคอลัมน์

ค่าของคีย์หลักไม่ควรผันผวนหรือเปลี่ยนแปลงเนื่องจากคีย์หลักกำหนดลักษณะสำคัญในฐานข้อมูล ดังนั้นการเปลี่ยนค่าจะส่งผลให้เกิดความสับสนอย่างมาก คีย์หลักไม่ควรมีค่า Null ในตอนเริ่มต้น เพื่อที่จะไม่มีใครสามารถระบุค่าในตารางนั้นได้ นอกจากนี้ จะไม่มีแถวสองแถวที่มีคีย์หลักเหมือนกัน เนื่องจากจะไม่ส่งผลให้ฐานข้อมูลไม่ซ้ำกัน ดังนั้นจึงมีคีย์หลักได้เพียงคีย์เดียวสำหรับทุกแถวของข้อมูลในตาราง

คีย์หลักจัดทำดัชนีคลัสเตอร์ ซึ่งหมายความว่าแถวทั้งหมดในตารางได้รับการจัดเรียง คีย์หลักถูกกำหนดไว้เป็นหลักในตารางชั่วคราว เมื่อมีการลบแถวออกจากตาราง จะต้องระมัดระวังว่าค่าที่ถูกลบนั้นไม่มีอยู่ในคอลัมน์ Foreign Key

Foreign Key คืออะไร?

คีย์ภายนอกอ้างอิงถึงคอลัมน์ในตารางฐานข้อมูลที่มีลิงก์ระหว่างสองตาราง เมื่อตารางที่ 1 มีคีย์หลักของตารางที่ 2 แอตทริบิวต์นี้เป็นคีย์ภายนอก ตารางที่ 1 ที่มีคีย์นอกเรียกว่าคีย์อ้างอิงและคีย์หลักของตารางที่ 2 เรียกว่าความสัมพันธ์ที่อ้างอิง

ซึ่งแตกต่างจากคีย์หลัก คีย์ภายนอกสามารถมีค่า Null เนื่องจากไม่ได้ช่วยในการระบุความแตกต่างในความสัมพันธ์ เนื่องจากคีย์หลักได้ทำส่วนนี้ของงานไปแล้ว คีย์นอกยังสามารถยอมรับค่าที่ซ้ำกันซึ่งแตกต่างจากคีย์หลักและสามารถมีคีย์ภายนอกได้หลายคีย์หรือหลายคีย์ในฐานข้อมูล เนื่องจากคีย์ภายนอกสามารถมีแอตทริบิวต์ที่แตกต่างกันได้ อย่างไรก็ตาม คีย์ภายนอกไม่สามารถมีดัชนีคลัสเตอร์ได้

ไม่สามารถกำหนดคีย์ต่างประเทศบนตารางชั่วคราว ขณะเพิ่มค่าลงในคอลัมน์ foreign key ต้องตรวจสอบให้แน่ใจว่าค่านั้นมีอยู่ในคีย์หลัก และไม่มีข้อจำกัดเมื่อลบค่าจาก foreign key ตารางต่างประเทศช่วยในการรักษาความสมบูรณ์ของตารางในฐานข้อมูล ระบบจัดการฐานข้อมูลสามารถป้องกันการลบค่าใดๆ โดยไม่ตั้งใจได้

ความแตกต่างหลักระหว่างคีย์หลักและคีย์ต่างประเทศ

บทสรุป

ในระบบจัดการฐานข้อมูล คีย์มีบทบาทสำคัญในการสร้างความสัมพันธ์ภายในตารางและระหว่างตารางต่างๆ เช่นกัน แต่ในการทำเช่นนั้น เราต้องตรวจสอบให้แน่ใจว่าพื้นที่ที่เราใช้เพื่อรักษาความสัมพันธ์ระหว่างตารางต่างๆ จะต้องมีค่าที่เปรียบเทียบกันได้ และตารางจะต้องประกอบด้วยแถวที่ไม่ซ้ำกัน

บทความนี้กล่าวถึงคีย์ทั่วไปและที่สำคัญสองคีย์ที่สร้างลิงก์ระหว่างตารางและช่วยให้ระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ทำงานได้อย่างมีประสิทธิภาพ คีย์หลักและคีย์นอกได้รับการอธิบายอย่างละเอียดและแยกแยะเพื่อช่วยให้แต่ละบุคคลเข้าใจอย่างชัดเจนว่าคีย์ทั้งสองแตกต่างกันอย่างไร เนื่องจากแม้ว่าคำเหล่านี้อาจคล้ายกันในการออกแบบ แต่ก็มีบทบาทที่หลากหลาย

คีย์หลักใช้ข้อมูลภายในหนึ่งคอลัมน์หรือหลายคอลัมน์เพื่อระบุแถวทั้งหมดในตารางฐานข้อมูลเชิงสัมพันธ์โดยไม่ซ้ำกันเพื่อหลีกเลี่ยงการแทรกแถวข้อมูลที่ซ้ำกันในขณะที่คีย์ภายนอกใช้เพื่อสร้างลิงก์ระหว่างสองตารางในฐานข้อมูล

ความแตกต่างระหว่างคีย์หลักและคีย์ต่างประเทศ (พร้อมตาราง)