Výpis shrnutí

Relační databáze

« Zpět na procvičování

Podtémata

Aby se daly databáze snadno prohledávat a rozšiřovat, používají se různé databázové architektury, které nám toto umožní.

Relační databáze

Nejrozšířenějším typem jsou relační databáze. Data se zde ukládají v tabulkách. Jednotlivé záznamy jsou uloženy v řádcích tabulky a každý záznam odpovídá jedné entitě (například konkrétní osobě, věci apod.). Sloupce tabulky odpovídají atributům, tedy jednotlivým vlastnostem záznamů (například věk osob, cena zboží apod.). V hlavičce tabulky najdeme názvy jednotlivých atributů a někdy i jejich datové typy, tedy omezení na hodnoty, které je možné do daného pole ukládat. Příkladem datového typu je int, který značí celé číslo, nebo char[20], který značí textový řetězec z maximálně 20 znaků.

Klíče

Vyhledávání v tabulce nám zjednodušují superklíče a kandidátní klíče — skupiny atributů, které jednoznačně identifikují a odlišují každý záznam v tabulce. Kandidátní klíče jsou superklíče, které by odebráním jednoho atributu ztratily schopnost identifikovat nějaký záznam od ostatních. Z kandidátních klíčů se pro každou tabulku vybírá jeden primární klíč. Jedna relační databáze se obvykle skládá z většího množství tabulek, které mezi sebou můžeme propojovat pomocí primárních klíčů a vyhledávat tak odpovědi na složitější dotazy o našich datech. Primární klíč jedné tabulky použitý v jiné tabulce se v jejím kontextu nazývá cizí klíč.

Příklad klíčů v databázi e‑shopu

V tabulce person jsou superklíče všechny, které obsahují person_ID nebo email, tedy {person_ID}, {email}, {person_ID, email}, {person_ID, name}, {person_ID, surname}, {person_ID, name, surname}, {email, name}, {email, surname}, {email, name, surname}, {person_ID, email, name}, {person_ID, email, surname}, {person_ID, email, name, surname}. Kandidátní klíče v tabulce person jsou pak klíče {person_ID} a {email}.

V tabulce buying je jediný superklíč i kandidátní klíč kombinace všech atributů, tedy {product_code, person_ID, date}. Tabulka vychází z předpokladu, že si každý zákazník může koupit daný produkt jen jednou za den. Kdybychom předpokládali, že může každý zákazník koupit produkt jen jednou za život, získali bychom i superklíč {product_code, person_ID}, který by byl i jediným kandidátním klíčem.

Jako primární klíč můžeme zvolit libovolný z kandidátních klíčů, tedy například {person_ID} pro tabulku person a {product_code, person_ID, date} pro tabulku buying. Kdybychom chtěli, mohli bychom místo toho za primární klíč zvolit pro tabulku person například {email}.

Primární klíč person_ID z tabulky person je použit i v tabulce buying, a proto je v tabulce buying cizím klíčem vedoucím do tabulky person.

Další typy databází

Existují i další hojně používané typy databází. V posledních letech se rozšiřují možnosti ukládat nestrukturovaná data, například do NoSQL databází.

Nahoru
NAPIŠTE NÁM

Děkujeme za vaši zprávu, byla úspěšně odeslána.

Napište nám

Nevíte si rady?

Před položením dotazu si prosím projděte návody:

Prosíme, nezasílejte dotazy na prozrazení řešení úloh či vysvětlení postupu. Pokud hlásíte chybu, upřesněte prosím, v čem přesně spočívá a připojte snímek obrazovky.

Čeho se zpráva týká?

Vzkaz Hlášení chyby Obsah Ovládání Přihlášení Licence