พลังของคีย์ต่างประเทศในฐานข้อมูลเชิงสัมพันธ์

คีย์ต่างประเทศจะเปิดประตูสู่โลกทั้งโลกของข้อมูล

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

พื้นฐานบางอย่างของฐานข้อมูลเชิงสัมพันธ์

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

Codd ที่ IBM ในปี 1970) แต่นั่นไม่ใช่หัวข้อของบทความนี้

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

การใช้คีย์ต่างประเทศ

คีย์บอร์ดส่วนใหญ่ ตารางที่ออกแบบมาเพื่อเข้าถึงตารางอื่นต้องมีคีย์ต่างประเทศ

หากต้องการใช้ฐานข้อมูล Northwinds ที่อ้างถึงทั่วไปนี่เป็นข้อความที่ตัดตอนมาจากตารางผลิตภัณฑ์:

ตารางข้อมูลผลิตภัณฑ์ของฐานข้อมูล Northwind
ProductID ชื่อผลิตภัณฑ์ CategoryID QuantityPerU ราคาต่อหน่วย
1 ชัย 1 10 กล่อง x 20 ถุง 18.00
2 ช้าง 1 ขวด 24 - 12 ออนซ์ 19.00
3 น้ำเชื่อมอะเกรัปชัน 2 ขวด 12 - 550 มล 10.00
4 เครื่องปรุงรส Cajun ของ Chef Anton 2 48 - 6 ออนซ์ขวด 22.00
5 Chef Anton's Gumbo Mix 2 กล่อง 36 ชิ้น 21.35
6 การแพร่กระจาย Boysenberry ของยาย 2 12 - 8 ออนซ์ขวด 25.00
7 หมูแห้งอินทรีย์ของลุงบ๊อบ 7 12 - 1 ปอนด์ pkgs 30.00

คอลัมน์ ProductID คือคีย์หลักของตารางนี้ กำหนดรหัสเฉพาะสำหรับแต่ละผลิตภัณฑ์

ตารางนี้มีคอลัมน์คีย์ต่างประเทศ CategoryID ทุกผลิตภัณฑ์ในตารางผลิตภัณฑ์เชื่อมโยงกับรายการในตารางหมวดหมู่ที่กำหนดหมวดหมู่ของผลิตภัณฑ์นั้น

โปรดทราบข้อความที่ตัดตอนมานี้จากตารางหมวดหมู่ของฐานข้อมูล:

ตารางฐานข้อมูล Northwind
CategoryID ชื่อหมวดหมู่ ลักษณะ
1 เครื่องดื่ม เครื่องดื่มไม่มีแอลกอฮอล์ชากาแฟเบียร์และเบียร์
2 เครื่องปรุงรส ซอสหวานและเผ็ด, relishes กระจายและเครื่องปรุงรส
3 ฝาชี ของหวานขนมหวานและขนมหวาน
5 ผลิตภัณฑ์นม ชีส

คอลัมน์ CategoryID เป็นคีย์หลักของคอลัมน์นี้ (ไม่มีคีย์ต่างประเทศเนื่องจากไม่จำเป็นต้องเข้าถึงตารางอื่น) คีย์ต่างประเทศทั้งหมดในตารางผลิตภัณฑ์เชื่อมโยงกับคีย์หลักในตาราง Categories ตัวอย่างเช่นผลิตภัณฑ์ Chai ได้รับการจัดหมวดหมู่เป็น "เครื่องดื่ม" ในขณะที่ Aniseed Syrup อยู่ในหมวด Condiments

การเชื่อมโยงแบบนี้จะสร้างวิธีการมากมายในการใช้และใช้ข้อมูลซ้ำในฐานข้อมูลเชิงสัมพันธ์