คีย์ต่างประเทศจะเปิดประตูสู่โลกทั้งโลกของข้อมูล
นักออกแบบฐานข้อมูลใช้คีย์ต่างๆในการพัฒนาฐานข้อมูลเชิงสัมพันธ์ คีย์ที่พบมากที่สุดของคีย์เหล่านี้คือคีย์หลักและคีย์ต่างประเทศ ฐานข้อมูล foreign key เป็นฟิลด์ในตารางเชิงสัมพันธ์ที่ตรงกับคีย์หลักของคอลัมน์ในตารางอื่น เพื่อให้เข้าใจถึงการทำงานของคีย์ต่างประเทศลองมาดูที่แนวคิดเกี่ยวกับฐานข้อมูลเชิงสัมพันธ์
พื้นฐานบางอย่างของฐานข้อมูลเชิงสัมพันธ์
ในฐานข้อมูลเชิงสัมพันธ์ ข้อมูลจะถูกเก็บไว้ในตาราง ที่มีแถวและคอลัมน์ช่วยให้สามารถค้นหาและจัดการได้ง่ายมีบางวิชาคณิตศาสตร์ที่อยู่เบื้องหลังแนวคิดของฐานข้อมูลเชิงสัมพันธ์ (พีชคณิตเชิงสัมพันธ์ซึ่งเสนอโดย EF
Codd ที่ IBM ในปี 1970) แต่นั่นไม่ใช่หัวข้อของบทความนี้
สำหรับวัตถุประสงค์เชิงปฏิบัติ (และไม่ใช่นักคณิตศาสตร์) ฐานข้อมูลเชิงสัมพันธ์จะจัดเก็บข้อมูล "related" ไว้ในแถวและคอลัมน์ ต่อไปนี้เป็นที่ที่ฐานข้อมูลส่วนใหญ่ที่น่าสนใจได้รับการออกแบบมาเพื่อให้ข้อมูลในตารางหนึ่งสามารถเข้าถึงข้อมูลในตารางอื่นได้ ความสามารถในการสร้างความสัมพันธ์ระหว่างตารางนี้คือพลังที่แท้จริงของฐานข้อมูลเชิงสัมพันธ์
การใช้คีย์ต่างประเทศ
คีย์บอร์ดส่วนใหญ่ ตารางที่ออกแบบมาเพื่อเข้าถึงตารางอื่นต้องมีคีย์ต่างประเทศ
หากต้องการใช้ฐานข้อมูล Northwinds ที่อ้างถึงทั่วไปนี่เป็นข้อความที่ตัดตอนมาจากตารางผลิตภัณฑ์:
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 ทุกผลิตภัณฑ์ในตารางผลิตภัณฑ์เชื่อมโยงกับรายการในตารางหมวดหมู่ที่กำหนดหมวดหมู่ของผลิตภัณฑ์นั้น
โปรดทราบข้อความที่ตัดตอนมานี้จากตารางหมวดหมู่ของฐานข้อมูล:
CategoryID | ชื่อหมวดหมู่ | ลักษณะ |
---|---|---|
1 | เครื่องดื่ม | เครื่องดื่มไม่มีแอลกอฮอล์ชากาแฟเบียร์และเบียร์ |
2 | เครื่องปรุงรส | ซอสหวานและเผ็ด, relishes กระจายและเครื่องปรุงรส |
3 | ฝาชี | ของหวานขนมหวานและขนมหวาน |
5 | ผลิตภัณฑ์นม | ชีส |
คอลัมน์ CategoryID เป็นคีย์หลักของคอลัมน์นี้ (ไม่มีคีย์ต่างประเทศเนื่องจากไม่จำเป็นต้องเข้าถึงตารางอื่น) คีย์ต่างประเทศทั้งหมดในตารางผลิตภัณฑ์เชื่อมโยงกับคีย์หลักในตาราง Categories ตัวอย่างเช่นผลิตภัณฑ์ Chai ได้รับการจัดหมวดหมู่เป็น "เครื่องดื่ม" ในขณะที่ Aniseed Syrup อยู่ในหมวด Condiments
การเชื่อมโยงแบบนี้จะสร้างวิธีการมากมายในการใช้และใช้ข้อมูลซ้ำในฐานข้อมูลเชิงสัมพันธ์