Skip to main content

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

Anonim

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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