ในตลาดปัจจุบันที่ บริษัท ข้ามชาติจำนวนมากใช้ฐานข้อมูลเชิงสัมพันธ์ในการจัดการกับข้อมูลเป็นสิ่งสำคัญมากที่จะต้องเข้าใจว่าแต่ละตารางสามารถเกี่ยวข้องกันได้อย่างไร ดังนั้นในบทความนี้เกี่ยวกับ Foreign Key ฉันจะพูดถึงคีย์ต่างประเทศในตารางเพื่อให้คุณเข้าใจความสัมพันธ์ระหว่างตาราง
หัวข้อต่อไปนี้จะกล่าวถึงในบทความนี้:
Foreign Key constraint คืออะไร?
Foreign Key คือคีย์ชนิดหนึ่งที่ใช้เชื่อมตารางสองตารางในฐานข้อมูล ดังนั้น Foreign Key คือแอตทริบิวต์หรือชุดของแอตทริบิวต์ในตารางหนึ่งที่อ้างถึงคีย์หลักในตารางอื่น
บทเรียนเซิร์ฟเวอร์ sql สำหรับผู้เริ่มต้น
ตัวอย่างเช่นถ้าตาราง A และตาราง B มีความสัมพันธ์กันดังนั้นหากตาราง A ประกอบด้วยคีย์หลักตารางนี้จะเรียกว่าตารางอ้างอิงหรือตารางหลัก ในทำนองเดียวกันถ้าตาราง B ประกอบด้วยคีย์ต่างประเทศตารางนั้นจะเรียกว่าตารางอ้างอิงหรือตารางลูกดูภาพด้านล่าง:
ตอนนี้คุณรู้แล้วว่าคีย์ต่างประเทศคืออะไรต่อไปในบทความเรื่อง Foreign key SQL ให้เราเข้าใจกฎของคีย์ต่างประเทศ
กฎสำหรับคีย์ต่างประเทศ
กฎของ Foreign Key มีดังต่อไปนี้:
- ตารางที่มีคีย์ต่างประเทศเรียกว่าตารางลูกและตารางที่อ้างอิงโดยคีย์ต่างประเทศเรียกว่าตารางหลัก
- อนุญาตให้ใช้ค่า Null ในคีย์ต่างประเทศ
- คีย์ต่างประเทศสามารถทำซ้ำได้
- สามารถมีคีย์ต่างประเทศมากกว่าหนึ่งคีย์ในตาราง
- ความสัมพันธ์ที่สร้างขึ้นระหว่างตารางเรียกว่า referential Integrity
ตอนนี้คุณรู้แล้วว่ากฎของคีย์ต่างประเทศคืออะไรต่อไปในบทความเกี่ยวกับ Foreign key SQL ให้เราดูการทำงานของคีย์ต่างประเทศ
การดำเนินการคีย์ต่างประเทศ:
เพื่อทำความเข้าใจการดำเนินการต่างๆที่มีอยู่ใน Foreign key ให้พิจารณาสองตารางต่อไปนี้:
โต๊ะลูกค้า:
รหัสลูกค้า | ชื่อลูกค้า | หมายเลขโทรศัพท์ |
หนึ่ง | โรฮัน | 9876543210 |
2 | Sonali | 9876567864 |
3 | อาจาย์ | 9966448811 |
4 | Geeta | 9765432786 |
5 | ชูบัม | 9944888756 |
ตารางหลักสูตร:
CourseID | ชื่อหลักสูตร | รหัสลูกค้า |
ค 01 | DevOps | 2 |
c02 | การเรียนรู้ของเครื่อง br tag ใน html คืออะไร | 4 |
c03 | RPA | หนึ่ง |
c04 | คณะกรรมการ | 3 |
c05 | AWS | 2 |
ตอนนี้ถ้าคุณสังเกตคอลัมน์รหัสลูกค้าในตารางหลักสูตรหมายถึงคอลัมน์รหัสลูกค้าในตารางของลูกค้าคอลัมน์รหัสลูกค้าจากตารางลูกค้าคือคีย์หลักและคอลัมน์รหัสลูกค้าจากตารางหลักสูตรคือ Foreign Key ของตารางนั้น
เริ่มต้นด้วยการดำเนินการแรก:
Foreign Key บน Create Table
คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อสร้างคีย์นอกในคอลัมน์ 'รหัสลูกค้า' เมื่อคุณสร้างตาราง 'หลักสูตร':
# สำหรับ SQL Server / MS Access / Oracle CREATE TABLE หลักสูตร (courseID varchar not NULL PRIMARY KEY, courseName varchar NOT NULL, customerID int FOREIGN KEY REFERENCES customers (customerID)) #For MySQL CREATE TABLE Course (courseID varchar not NULL PRIMARY KEY, courseName varchar ไม่เป็นโมฆะ, customerID int คีย์หลัก (รหัสหลักสูตร), คีย์ต่างประเทศ (รหัสลูกค้า) อ้างอิงลูกค้า (customerID))
ใช้ Foreign Key ในหลายคอลัมน์
หากต้องการใช้คีย์นอกในหลายคอลัมน์ในขณะที่ การสร้างตาราง โปรดดูตัวอย่างต่อไปนี้:
สร้างหลักสูตรตาราง (courseID varchar not NULL, courseName varchar not NULL, customerID int, PRIMARY KEY (courseID), CONSTRAINT FK_CustomerCourse FOREIGN KEY (customerID) REFERENCES customers (customerID))
ต่อไปในบทความนี้เกี่ยวกับ Foreign Key SQL ให้เราดูวิธีการใช้ Foreign Key ใน Alter Table
อัลกอริทึม java และโครงสร้างข้อมูล
คีย์ต่างประเทศบนตารางแก้ไข
คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อสร้างคีย์นอกในคอลัมน์“ รหัสลูกค้า” เมื่อสร้างตาราง“ หลักสูตร” ไว้แล้วและคุณเพียงแค่ต้องการแก้ไขตาราง:
แก้ไขหลักสูตรตารางเพิ่มคีย์ต่างประเทศ (รหัสลูกค้า) ลูกค้าอ้างอิง (customerID)
หากคุณต้องการเพิ่มชื่อในข้อ จำกัด Foreign Key และกำหนดไว้ในหลายคอลัมน์ให้ใช้ไวยากรณ์ SQL ต่อไปนี้:
แก้ไขหลักสูตรตารางเพิ่มข้อ จำกัด FK_CustomerCourse FOREIGN KEY (customerID) ลูกค้าอ้างอิง (customerID)
ต่อไปในบทความนี้เกี่ยวกับ Foreign Key SQL ให้เราเข้าใจวิธีการวางคีย์ต่างประเทศ
วาง Foreign Key
หากต้องการวาง Foreign Key คุณสามารถอ้างถึงตัวอย่างต่อไปนี้:
# สำหรับ SQL Server / MS Access / Oracle ALTER TABLE หลักสูตร DROP CONSTRAINT FK_CustomerCourse For MYSQL ALTER TABLE หลักสูตร DROP FOREIGN KEY FK_CustomerCourse
ด้วยเหตุนี้เราจึงมาจบบทความนี้ ฉันหวังว่าคุณจะเข้าใจวิธีใช้ Foreign Key ใน SQL หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ MySQL และทำความรู้จักกับฐานข้อมูลเชิงสัมพันธ์แบบโอเพนซอร์สนี้จากนั้นตรวจสอบไฟล์ ซึ่งมาพร้อมกับการฝึกอบรมสดที่นำโดยผู้สอนและประสบการณ์โครงการในชีวิตจริง การฝึกอบรมนี้จะช่วยให้คุณเข้าใจ MySQL ในเชิงลึกและช่วยให้คุณบรรลุความเชี่ยวชาญในเรื่องนั้น ๆ
มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบทความนี้เกี่ยวกับ“ Foreign Key SQL” แล้วเราจะติดต่อกลับไป