Shrnutí
Relační databáze ukládá data do tabulek a každou věc zapíše jen jednou. Tabulky propojuje klíči a vazby mezi nimi kreslí datový model.
- Tabulka má pevné schéma: dané sloupce, každý s datovým typem, a v buňce jednu hodnotu.
- Primární klíč jednoznačně určuje řádek. Obvykle je to číslo
id, které nic dalšího neznamená. - Cizí klíč ukazuje na primární klíč jiné tabulky. Referenční integrita hlídá, aby nikdy neukazoval do prázdna, a při mazání rozhoduje, jestli smazání odmítnout, smazat i závislé řádky, nebo vymazat odkaz.
- Vazba 1:N je nejčastější a cizí klíč leží na straně „mnoha“. Vazba 1:1 je cizí klíč s podmínkou
UNIQUE. Vazba M:N potřebuje spojovací tabulku se dvěma cizími klíči. - Index zrychlí hledání podle sloupce, ale zpomalí zápis a zabírá místo.
- Mezi známé relační databáze patří PostgreSQL, MySQL a MariaDB, SQLite, Microsoft SQL Server a Oracle. Slabinou relačních databází je pevné schéma a obtížné rozložení na víc serverů.
Umím?
- Vysvětlím, jaké problémy přináší jedna velká tabulka a jak je řeší rozdělení do více tabulek.
- Řeknu, co je primární a cizí klíč a proč se jako klíč nehodí jméno.
- Vysvětlím referenční integritu a tři možnosti, co se stane při smazání odkazovaného řádku.
- Rozliším vazby 1:1, 1:N a M:N a navrhnu spojovací tabulku.
- Přečtu a popíšu datový model na obrázku.
- Řeknu, k čemu je index a kdy ho na sloupec nedávat.
- Vyjmenuji několik relačních databází a jejich nevýhody.