Skip to main content

Siła zagranicznych kluczy w relacyjnych bazach danych

Potęga głosu | Tomasz Knapik | TEDxLublin (Czerwiec 2025)

Potęga głosu | Tomasz Knapik | TEDxLublin (Czerwiec 2025)
Anonim

Projektanci baz danych szeroko wykorzystują klucze podczas tworzenia relacyjnych baz danych. Do najpopularniejszych kluczy należą klucze podstawowe i klucze obce. Klucz obcy bazy danych jest polem w tabeli relacyjnej, która pasuje do kolumny klucza głównego innej tabeli. Aby zrozumieć, jak działa klucz obcy, przyjrzyjmy się bliżej idei relacyjnej bazy danych.

Niektóre podstawy relacyjnych baz danych

W relacyjnej bazie danych dane są przechowywane w tabelach zawierających wiersze i kolumny, dzięki czemu można je łatwo przeszukiwać i manipulować. Istnieje pewna poważna matematyka stojąca za koncepcją relacyjnej bazy danych (algebry relacyjne, zaproponowane przez E.F.

Codd w IBM w 1970 roku), ale to nie jest temat tego artykułu.

Ze względów praktycznych (i nie-matematyków) relacyjna baza danych przechowuje powiązane dane w wierszach i kolumnach. Ponadto - i tu jest, gdzie robi się interesujący - większość baz danych zaprojektowano tak, aby dane w jednej tabeli mogły uzyskać dostęp do danych w innej tabeli. Ta zdolność do tworzenia relacji między tabelami jest prawdziwą siłą relacyjnej bazy danych.

Używanie kluczy obcych

Większość tabel, szczególnie tych w dużych, złożonych bazach danych, ma klucze podstawowe. Tabele, które są przeznaczone do uzyskiwania dostępu do innych tabel, muszą również mieć klucz obcy.

Aby skorzystać z powszechnie cytowanej bazy danych Northwinds, poniżej znajduje się fragment tabeli produktów:

Fragment tabeli produktów z bazy danych Northwind
ID produktuNazwa produktuCategoryIDQuantityPerUCena jednostkowa
1Chai110 pudełek x 20 torebek18.00
2Chang1Butelki 24 - 12 oz19.00
3Syrop ananasowy212 - 550 ml butelek10.00
4Przyprawa Cajun szefa kuchni Antona248 - 6 oz słoików22.00
5Gumbo Mix szefa kuchni Antona236 pudełek21.35
6Spread babci dla Boysenberry212 - 8 oz słoików25.00
7Uncle Bob's Organic Suszone Gruszki712 - 1 kg pkg.30.00

The ID produktu kolumna to klucz podstawowy tej tabeli. Przypisuje unikalny identyfikator do każdego produktu.

Ta tabela zawiera również kolumnę klucza obcego, CategoryID. Każdy produkt w tabeli Produkt prowadzi do pozycji w tabeli Kategorie, która definiuje kategorię tego produktu.

Zwróć uwagę na ten fragment z tabeli Kategorie bazy danych:

Wycinek tablicy kategorii bazy danych Northwind
CategoryIDNazwa KategoriiOpis
1NapojeNapoje bezalkoholowe, kawy, herbaty, piwa i piwa
2PrzyprawySłodkie i pikantne sosy, delicje, pasty i przyprawy
3SłodyczeDesery, cukierki i słodkie pieczywo
5NabiałSery

Kolumna CategoryID jest kluczem podstawowym tej kolumny. (Nie ma klucza obcego, ponieważ nie ma potrzeby uzyskiwania dostępu do innej tabeli.) Każdy klucz obcy w tabeli Produkt łączy się z kluczem podstawowym w tabeli Kategorie. Na przykład produkt Chai ma przypisaną kategorię "Napoje", a syrop z anyżu znajduje się w kategorii przyprawy.

Ten rodzaj łączenia tworzy mnóstwo sposobów wykorzystania i ponownego wykorzystania danych w relacyjnej bazie danych.