Skip to main content
0
Database

มาดูความแตกต่างของ Primary Key และ Foreign Key กันเถอะ!!

เคยสงสัยไหมว่า Key ในระบบฐานข้อมูลนั้นมีอะไรบ้าง ? แล้วแต่ละอย่างมันใช้งานต่างกันยังไงนะ วันนี้มาไขข้อสงสัยกันจ้า 

ก่อนอื่นเรามาทำความรู้จักกับ “Key” กันก่อน

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

มาดูกันดีกว่าว่า Key แต่ละอย่างนั้นมันคืออะไร และใช้งานยังไงกันนะ ?? 

Primary Key เป็น Key ที่ใช้กำหนดว่าข้อมูลในคอมลัมน์นั้น ๆ ห้ามซ้ำกัน เช่น เบอร์โทร, E-mail, รหัสบัตร เป็นต้น และในตารางห้ามมีข้อมูลที่เป็น NULL

SQL Syntax :

CREATE TABLE <Table-Name>
(
Column1 datatype,
Column2 datatype, PRIMARY KEY (Column-Name)
);

มาดูตัวอย่างการใช้งานกันเลยย  

ทำการสร้างตาราง CustomerInfo โดยมีคอลัมน์ดังนี้ ID,  FIRST_NAME, LAST_NAME, ID_CARD_NUM, และ EMAIL โดยที่จะกำหนดให้ ID เป็น Primary Key

SQL Script :

CREATE TABLE CustomerInfo
(
ID INT NOT NULL,
FIRST_NAME VARCHAR(255), 
LAST_NAME VARCHAR(255),
ID_CARD_NUM VARCHAR(255),
EMAIL VARCHAR(255),
PRIMARY KEY (ID)
)

ผลลัพธ์

CustomerInfo

IDFIRST_NAMELAST_NAMEID_CARD_NUMEMAIL
1หนูตัวเล็ก1999999999999nongnoo_zaza@hotmail.com
2ไก่ขัน1888888888888Inw_kai555@hotmail.com
3หมูกินเยอะ1777777777777moo_eiei1234@gmail.com

*โดยที่คอลลัมน์ ID ให้เป็น Primary Key เพราะมันจะสามารถทำให้เราสามารถระบุข้อมูลในแถวอื่น ๆ โดยไม่ซ้ำกัน

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

SQL Syntax :

CREATE TABLE <Table Name>( 
column1 datatype,
column2 datatype, 
constraint (name of constraint) 
FOREIGN KEY [column1, column2...] 
REFERENCES [primary key table name] (List of primary key table column) ...);

และตัวอย่างตารางที่มี Foreign Key ดังนี้
มีตาราง SubjectName ซึ่งใช้เก็บข้อมูลของวิชาเรียน, TeacherName ใช้เก็บชื่อและนามสกุลของครู, และตาราง TecherInfo เก็บข้อมูลครูที่สอนแต่ละวิชา ซึ่งทั้ง 3 ตารางนี้จะคอลัมน์ Code, และ TeacherID เป็น Foreign Key ดูง่าย ๆ

สรุป : จำแบบง่ายๆ เลยคือ Primary Key คือ คีย์ที่ห้ามซ้ำ!! ส่วน Foreign Key คีย์ที่ใช้เชื่อมความสัมพันธ์ระหว่างตาราง ทีนี้ก็พอจะรู้ความแตกต่างของเจ้า Key 2 ตัวนี้แล้วเนอะ อย่าไปใช้ผิดกันล่ะ555 หวังว่าบทความนี้จะเป็นประโยชน์กับเพื่อนๆ ไม่มากก็น้อยนะคะ ❤️

Kanthima Muangsen

Author Kanthima Muangsen

More posts by Kanthima Muangsen

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

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • คุกกี้ที่จำเป็น
    เปิดใช้งานตลอด

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

  • คุกกี้สำหรับการติดตามทางการตลาด

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

บันทึกการตั้งค่า