Úvod do databázových vzťahov

Obsah:

Úvod do databázových vzťahov
Úvod do databázových vzťahov
Anonim

Pojmy databázy relačný a vzťah popisujú spôsob, akým sú údaje v tabuľkách prepojené. Relačná databáza pozostáva zo série dvoch alebo viacerých tabuliek spojených špecifickým kľúčom. Relačná databáza sa líši od neštruktúrovaných databáz, ktoré sú bežné v iniciatívach veľkých dát. Relačné databázy zvyčajne vyžadujú prísne pravidlá o tom, ako sú tabuľky definované a čo predstavuje platný vzťah medzi tabuľkami.

Image
Image

Typy databázových vzťahov

Vzťahy vám umožňujú opísať spojenia medzi databázovými tabuľkami účinnými spôsobmi. Tieto vzťahy sa potom dajú využiť na vykonávanie výkonných dopytov medzi tabuľkami, známych ako JOINs.

Existujú tri typy databázových vzťahov, z ktorých každý je pomenovaný podľa počtu riadkov tabuľky zahrnutých vo vzťahu. Každý z týchto troch typov vzťahov existuje medzi dvoma tabuľkami.

  • Vzťahy jedna ku jednej sa vyskytujú, keď každý záznam v prvej tabuľke má iba jeden náprotivok v druhej tabuľke. Vzťahy typu one-to-one sa zriedka používajú, pretože často je efektívnejšie umiestniť všetky informácie do jednej tabuľky. Niektorí návrhári databáz využívajú tento vzťah tak, že vytvárajú tabuľky, ktoré obsahujú podmnožinu údajov z inej tabuľky.
  • Vzťahy jedna k mnohým sú najbežnejším typom databázových vzťahov. Vyskytujú sa vtedy, keď každý záznam v tabuľke A zodpovedá jednému alebo viacerým záznamom v tabuľke B, ale každý záznam v tabuľke B zodpovedá iba jednému záznamu v tabuľke A. Napríklad vzťah medzi tabuľkou Učitelia a tabuľkou Študenti na základnej škole databáza by pravdepodobne bola vzťahom jedna k mnohým, pretože každý študent má iba jedného učiteľa, ale každý učiteľ má niekoľko študentov. Tento dizajn „one-to-many“pomáha eliminovať duplicitné údaje.
  • Vzťahy veľa k mnohým sa vyskytujú, keď každý záznam v tabuľke A zodpovedá jednému alebo viacerým záznamom v tabuľke B a každý záznam v tabuľke B zodpovedá jednému alebo viacerým záznamom v tabuľke A. Napríklad vzťah medzi tabuľkou učiteľov a tabuľkou kurzov by bol pravdepodobne mnoho k mnohým, pretože každý učiteľ môže viesť viac ako jeden kurz a každý kurz môže mať viac ako jedného inštruktora.

Zrátané podčiarknutie

Vzťahy s vlastným odkazom sa vyskytujú, keď je zahrnutá iba jedna tabuľka. Jedným z bežných príkladov je tabuľka Zamestnanci, ktorá obsahuje informácie o nadriadenom každého zamestnanca. Každý nadriadený je zároveň zamestnancom a má nadriadeného. V tomto prípade ide o vzťah jeden k mnohým, pretože každý zamestnanec má jedného nadriadeného, ale každý nadriadený môže mať viac ako jedného zamestnanca.

Vytváranie vzťahov s cudzími kľúčmi

Vzťahy medzi tabuľkami vytvárate zadaním cudzieho kľúča. Tento kľúč hovorí relačnej databáze, ako spolu tabuľky súvisia. V mnohých prípadoch stĺpec v tabuľke A obsahuje primárne kľúče, na ktoré sa odkazuje v tabuľke B.

Zvážte príklad tabuliek Učitelia a Študenti. Tabuľka Učitelia obsahuje ID, názov a stĺpec kurzu:

ID inštruktora Teacher_Name Kurz
001 John Doe angličtina
002 Jane Schmoe Math

Tabuľka Študenti obsahuje stĺpec ID, meno a cudzí kľúč:

StudentID Student_Name Teacher_FK
0200 Lowell Smith 001
0201 Brian Short 001
0202 Corky Mendez 002
0203 Monica Jones 001

Stĺpec Teacher_FK v tabuľke Študenti odkazuje na hodnotu primárneho kľúča inštruktora v tabuľke Učitelia. Návrhári databáz často používajú PK alebo FK v názve stĺpca na identifikáciu stĺpca primárneho kľúča alebo cudzieho kľúča.

Tieto dve tabuľky ilustrujú vzťah jedna k mnohým medzi učiteľmi a študentmi.

Vzťahy a referenčná integrita

Po pridaní cudzieho kľúča do tabuľky vytvorte databázové obmedzenie, ktoré vynucuje referenčnú integritu medzi týmito dvoma tabuľkami. Tento krok zaisťuje, že vzťahy medzi tabuľkami zostanú konzistentné. Ak má jedna tabuľka cudzí kľúč k inej tabuľke, referenčná integrita vyžaduje, aby každá hodnota cudzieho kľúča v tabuľke B odkazovala na existujúci záznam v tabuľke A.

Implementácia vzťahov

V závislosti od vašej databázy implementujete vzťahy medzi tabuľkami rôznymi spôsobmi. Microsoft Access poskytuje sprievodcu, ktorý vám umožní prepojiť tabuľky a tiež vynútiť referenčnú integritu.

Ak píšete SQL priamo, najprv vytvorte tabuľku Učitelia, pričom stĺpec ID deklarujte ako primárny kľúč:

CREATE TABLE Učitelia (ID inštruktora INT AUTO_INCREMENT PRIMARY KEY, Učiteľ_Meno VARCHAR(100), Kurz VARCHAR(100));

Pri vytváraní tabuľky Študenti deklarujete stĺpec Teacher_FK ako cudzí kľúč odkazujúci na stĺpec InstructorID v tabuľke Učitelia:

CREATE TABLE Študenti (StudentID INT AUTO_INCREMENT PRIMARY KEY, Student_Name VARCHAR(100), Teacher_FK INT, CUDZÍ KĽÚČ (Učiteľ_FK) REFERENCIE);

Používanie vzťahov na pripojenie k stolom

Po vytvorení jedného alebo viacerých vzťahov v databáze využite ich silu pomocou SQL JOIN dotazov na kombinovanie informácií z viacerých tabuliek. Najbežnejším typom spojenia je SQL INNER JOIN, čo je jednoduché spojenie. Tento typ spojenia vráti všetky záznamy, ktoré spĺňajú podmienku spojenia z jednej alebo viacerých tabuliek.

Napríklad táto podmienka JOIN vráti Študent_Meno, Meno_Učiteľa a Kurz, pričom cudzí kľúč v tabuľke Študenti sa zhoduje s primárnym kľúčom v tabuľke Učitelia:

SELECT Students. Student_Name, Teachers. Teacher_Meno, Teachers. Course

FROM Students

INNER JOIN TeachersON Students. Teacher_FK=Učitelia. ID inštruktora;

Tento príkaz vytvorí tabuľku približne takúto:

Meno študenta Teacher_Name Kurz
Lowell Smith John Doe angličtina
Brian Short John Doe angličtina
Corky Mendez Jane Schmoe Math
Monica Jones John Doe angličtina

Odporúča: