Lekce 2.1

Relační databáze a datový model

K čemu slouží relační databáze, jak se čte datový model a jeho vazby, co je primární a cizí klíč a k čemu je index.

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.