Modul 12 · Databáze srozumitelně

Tabulky a vztahy

Jak z datového modelu vzniknou skutečné tabulky. Sloupce, klíče, povinnost a to, co se stane při mazání.

14 minlekce 69/107

Po lekci umíš

  • Rozumíš tomu, co je sloupec, klíč a cizí klíč
  • Umíš zadat vytvoření tabulky včetně pravidel
  • Víš, co se stane s navázanými daty při mazání
Obsah lekce (5)

Datový model z minulého modulu je popis. Tabulka je jeho skutečná podoba v databázi.

Anatomie tabulky

idjmenoemailtelefonvytvoreno
1Jana Novákovájana@example.com7771234562026-03-01
2Petr Svobodapetr@example.com2026-03-04
  1. Sloupec

    Jedna vlastnost. Má název a typ – text, číslo, datum, ano/ne.

  2. Řádek

    Jeden konkrétní zákazník.

  3. Primární klíč

    Sloupec id. Jednoznačně určuje řádek. Nikdy se nemění a nikdy se nepoužívá znovu.

  4. Povinnost

    jmeno a email musí být vyplněné. telefon může chybět – u Petra chybí.

Vztahy pomocí cizího klíče

Rezervace patří zákazníkovi. V databázi to znamená, že rezervace má sloupec s id zákazníka.

idzakaznik_iddatumsluzbastav
1012026-03-12 10:00Střihpotvrzeno
1112026-04-02 14:00Barvenínové
1222026-03-15 09:00Střihzrušeno

Sloupci zakaznik_id se říká cizí klíč. Databáze díky němu hlídá, že rezervace nemůže odkazovat na zákazníka, který neexistuje.

Mnoho ku mnoha

Když může mít rezervace víc služeb a služba víc rezervací, vzniká tabulka navíc, která jen spojuje:

rezervace_idsluzba_id
103
105
113

Rezervace 10 obsahuje služby 3 a 5. Nic víc v té tabulce není potřeba.

Co se stane při mazání

Tohle je rozhodnutí, které databáze udělá za tebe, když jí ho nezadáš – a její výchozí volba obvykle není ta, kterou chceš.

  1. Zakázat mazání

    Zákazníka nejde smazat, dokud má rezervace. Bezpečné, občas otravné.

  2. Smazat i navázané

    Smazáním zákazníka zmizí i jeho rezervace. Nebezpečné – a nevratné.

  3. Vyprázdnit odkaz

    Rezervace zůstanou, ale bez zákazníka. Hodí se zřídka.

  4. Nemazat vůbec

    Nejčastější správná odpověď. Řádek se jen označí jako smazaný a aplikace ho přestane zobrazovat.

Jak to zadat

Prompt pro Claude Code

Vytvoř tabulky podle modelu

Když máš hotový datový model a chceš z něj tabulky.

Vytvoř databázové schéma podle DATA.md.

Pravidla:
- Primární klíč je vždy bezvýznamný identifikátor, nikdy e-mail
nebo jiná měnitelná hodnota.
- U každé tabulky sloupce s časem vytvoření a poslední změny.
- Peníze ukládej v celých jednotkách (haléře), ne v desetinných číslech.
- Časy ukládej v UTC.
- U mazání používej měkké mazání (příznak), ne skutečné odstranění,
všude, kde jsou navázaná data.
- Povinnost sloupců nastav podle toho, co je v DATA.md.

Než to provedeš:
1. Ukaž mi navrhované schéma a vysvětli mi ho česky, tabulku po tabulce.
2. U každého vztahu napiš, co se stane při mazání.
3. Řekni mi, kde ses musel rozhodnout a jaká byla druhá možnost.
Cvičení30 minut

Podle svého DATA.md nech vytvořit schéma databáze.

Pak si nech každou tabulku vysvětlit česky a u každého vztahu se zeptej: „Co se stane, když smažu tuhle věc?“

Odpovědi, které se ti nelíbí, nech změnit teď – potom to bude dražší.

Co si odnést

  • Tabulka má sloupce, řádky a primární klíč, který se nikdy nemění.
  • Vztah se dělá cizím klíčem: jedna informace na jednom místě.
  • Mnoho ku mnoha potřebuje spojovací tabulku.
  • U mazání navázaných dat obvykle chceš měkké mazání, ne skutečné odstranění.

Máš to za sebou?

Označ lekci jako hotovou, ať víš, kde jsi skončil. Nic se tím neuzamkne.

Obsah aktualizován: 21. srpna 2026