Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Pochopenie cudzích kľúčov
* Účel: Zahraničné kľúče presadzujú vzťahy medzi tabuľkami v relačnej databáze. Zabezpečujú integritu údajov tým, že zabraňujú neplatným údajom.
* Ako to funguje: Stĺpec cudzích kľúčov v jednej tabuľke odkazuje na stĺpec primárneho kľúča inej tabuľky. Tým sa vytvára odkaz, ktorý zaisťuje, že hodnoty v stĺpci cudzieho kľúča existujú ako platné hodnoty primárneho kľúča v odkazovanej tabuľke.
Kroky na použitie cudzieho kľúča
1. Definujte tabuľky:
* rodičovská tabuľka: Tabuľka, ktorá obsahuje primárny kľúč (odkaz na tabuľku).
* DRUČNÁ TABUĽKA: Tabuľka, ktorá obsahuje cudzí kľúč (tabuľka odkazujúca na rodičovskú tabuľku).
2. Zadajte stĺpce:
* Primárny kľúč: Stĺpec v rodičovskej tabuľke, ktorý pôsobí ako primárny kľúč.
* cudzí kľúč: Stĺpec v detskej tabuľke, ktorý odkazuje na primárny kľúč.
3. Vytvorte obmedzenie: Syntax sa mierne líši v závislosti od vášho databázového systému (MySQL, PostgreSQL, SQL Server atď.). Tu je všeobecný prístup:
`` sql
Zmeniť tabuľku ChildAbleName
Pridajte názov obmedzenia
Cudzí kľúč (cudzinecKeyColumn)
Referencie ParentTableName (PrimaryKeyColumn);
`` `
* ConstraintName: Jedinečný identifikátor pre obmedzenie.
* ChildtableName: Názov tabuľky obsahujúcej cudzí kľúč.
* cudzí keycolumn: Názov stĺpca v detskej tabuľke, ktorý pôsobí ako cudzí kľúč.
* ParentTableName: Názov tabuľky obsahujúcej primárny kľúč.
* PrimaryKeyColumn: Názov stĺpca v rodičovskej tabuľke, ktorý pôsobí ako primárny kľúč.
príklady
scenár: Vytvorenie databázy pre knižnicu. Máme stôl pre „knihy“ a stôl pre „dlžníkov“.
Tabuľky:
* Knihy:
* `Book_id` (primárny kľúč)
* `názov`
* Autor`
* dlžníci:
* `Borrower_id` (primárny kľúč)
* `meno`
* `Adresa`
* `Book_id` (cudzí kľúč, odkazuje na` Book_id` v tabuľke knihy)
SQL Code:
`` sql
- Vytvorte tabuľku kníh
Vytvorte knihy o stole (
book_id int primárny kľúč,
názov Varchar (255),
Autor Varchar (255)
);
- Vytvorte tabuľku dlžníkov s obmedzením zahraničného kľúča
Vytvorte dlžníkov tabuľky (
primárny kľúč dlžníka_id int,
Názov Varchar (255),
Adresa Varchar (255),
book_id int,
Cudzí kľúč (book_id) referencie knihy (book_id)
);
`` `
Kľúčové úvahy
* Integrita údajov: Zahraničné kľúče pomáhajú zabezpečiť, aby údaje v súvisiacich tabuľkách zostali konzistentné. Napríklad nemôžete vložiť záznam dlžníka s `book_id`, ktorý neexistuje v tabuľke„ Books “.
* Cascade Options: Môžete definovať, ako by sa mali obmedzenia cudzích kľúčov správať, keď sú údaje upravené alebo odstránené v rodičovskej tabuľke.
* Cascade Delete: Vymaže riadky v detskej tabuľke, keď sa odstráni zodpovedajúci riadok v rodičovskej tabuľke.
* Kaskádová aktualizácia: Aktualizuje súvisiace riadky v detskej tabuľke, keď sa aktualizuje zodpovedajúci riadok v rodičovskej tabuľke.
* Výkon: Zahraničné kľúče môžu mať vplyv na výkon, najmä pri veľkých tabuľkách. Zvážte použitie indexov na zlepšenie rýchlosti dopytu.
* Databázový systém špecifický pre systém: Nezabudnite sa poradiť s dokumentáciou pre svoj konkrétny systém správy databáz (DBMS), kde nájdete presnú syntax.
Dajte mi vedieť, či by ste chceli vidieť príklady v konkrétnom databázovom systéme. Som rád, že môžem poskytnúť konkrétnejšie pokyny!