Skip to main content

Síla cizích klíčů v relačních databázích

J'SUIS PAS CONTENT ! #236 : Vive les Vacances ! [Feat. JR Lombard, Eddy Pero & Arielle Lecomte] (Smět 2025)

J'SUIS PAS CONTENT ! #236 : Vive les Vacances ! [Feat. JR Lombard, Eddy Pero & Arielle Lecomte] (Smět 2025)
Anonim

Návrháři databáze vytvářejí při vytváření relačních databází široké využití klíčů. Mezi nejčastější z těchto klíčů patří primární klíče a cizí klíče. Cizí klíč v databázi je pole relační tabulky, které odpovídá sloupci primárního klíče jiné tabulky. Abychom pochopili, jak funguje cizí klíč, podívejme se blíže na myšlenku relační databáze.

Některé základy relačních databází

V relační databázi jsou data uložena v tabulkách obsahujících řádky a sloupce, což usnadňuje vyhledávání a manipulaci. Existuje nějaká vážná matematika za koncepcí relační databáze (relační algebra, navržená E.F.

Codd v IBM v roce 1970), ale to není téma tohoto článku.

Pro praktické účely (a pro matematiky) relační databáze ukládá související data do řádků a sloupců. Dále - a tady je to zajímavé - většina databází je navržena tak, aby data v jedné tabulce měly přístup k datům v jiné tabulce. Tato schopnost vytvářet vztahy mezi tabulkami je skutečnou silou relační databáze.

Použití cizích klíčů

Většina tabulek, zejména ve velkých, složitých databázích, má primární klíče. Tabulky, které jsou určeny pro přístup k jiným tabulkám, musí mít také cizí klíč.

Chcete-li použít běžně citovanou databázi Northwinds, je zde výňatek z produktové tabulky:

Produktová tabulka databáze Northwind
ProductIDJméno výrobkuID kategorieQuantityPerUJednotková cena
1Chai110 krabiček x 20 sáčků18.00
2Chang124 - 12 oz lahví19.00
3Anýzový sirup212 - 550 ml lahví10.00
4Šéfkuchař Anton Cajun koření248 - 6 oz džbánů22.00
5Šéfkuchař Anton's Gumbo Mix236 krabic21.35
6Grandma Boysenberry Spread212 - 8 oz džbánů25.00
7Strýc Bob je organické sušené hrušky712 - 1 lb pkgs.30.00

The ProductID sloupec je primární klíč této tabulky. Každému produktu přidělí jedinečné ID.

Tato tabulka obsahuje také sloupec cizího klíče, ID kategorie. Každý produkt v tabulce Produkt odkazuje na položku v tabulce Kategorie, která definuje kategorii produktu.

Poznamenejte si tento výňatek z tabulky kategorií databáze:

Tabulka výňatků z kategorií Northwind
ID kategorieNázev KategoriePopis
1NápojeNealkoholické nápoje, kávy, čaje, piva a chobotnice
2KořeníSladké a slané omáčky, koření, nádivky a koření
3KonfekceDezerty, bonbóny a sladké pečivo
5Mléčné výrobkySýry

Sloupec ID kategorie je primární klíč tohoto sloupce. (Nemá žádný cizí klíč, protože není třeba přistupovat k jiné tabulce.) Každý cizí klíč v tabulce Produkt odkazuje na primární klíč v tabulce Kategorie. Například produkt Chai je přiřazen kategorii "nápoje", zatímco sirup z anýzu je v kategorii "Koření".

Tento druh propojení vytváří nesčetné množství způsobů využití a opětovného použití dat v relační databázi.