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

สารบัญ:

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

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

วีดีโอ: ความแตกต่างระหว่างคีย์ต่างประเทศและคีย์หลัก
วีดีโอ: Primary Key and Foreign Key Concept | Difference between Primary key and Foreign Key 2024, กรกฎาคม
Anonim

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

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

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

กุญแจต่างประเทศคืออะไร

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

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

รูปที่ 01: Foreign Key Mapping

ในมาตรฐาน ANSI SQL ข้อจำกัดของ FOREIGN KEY กำหนดคีย์ต่างประเทศ นอกจากนี้ยังสามารถกำหนดคีย์ต่างประเทศเมื่อสร้างตารางเอง ตารางสามารถมีคีย์ต่างประเทศได้หลายคีย์ และสามารถอ้างอิงตารางต่างๆ ได้

รหัสหลักคืออะไร

คีย์หลักคือคอลัมน์หรือชุดค่าผสมของคอลัมน์ที่กำหนดแถวในตารางของฐานข้อมูลเชิงสัมพันธ์โดยไม่ซ้ำกัน ตารางสามารถมีคีย์หลักได้ไม่เกินหนึ่งคีย์ คีย์หลักบังคับใช้ข้อจำกัด NOT NULL โดยปริยาย ดังนั้น คอลัมน์ที่มีคีย์หลักไม่สามารถมีค่า NULL ได้ คีย์หลักอาจเป็นแอตทริบิวต์ปกติในตารางที่รับประกันว่าจะไม่ซ้ำกัน เช่น หมายเลขประกันสังคม หรืออาจเป็นค่าเฉพาะที่สร้างโดยระบบจัดการฐานข้อมูล เช่น Globally Unique Identifier (GUID) ใน Microsoft SQL Server

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

รูปที่ 02: กุญแจหลัก

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

กุญแจต่างประเทศและรหัสหลักต่างกันอย่างไร

กุญแจต่างประเทศ vs กุญแจหลัก

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

สรุป – คีย์ต่างประเทศกับคีย์หลัก

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