Přejít na téma:
Relační databáze
Na cvičení:
Rozhodovačka
Zpět na modul :
Práce s daty (SŠ)
Zobrazit na celou obrazovku
Sdílet Zobrazit shrnutí tématu Zobrazit nastavení cvičení
Relační databáze

Pro snadné vyhledávání a rozšiřování dat se používají různé databázové architektury.

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, například {person_ID}, {email}, {person_ID, name} či {email, name, surname}. Kandidátní klíče jsou však pouze {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í

Vedle relačních databází se používají také NoSQL databáze, které mohou ukládat i nestrukturovaná data.

Relační databáze (střední)

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