Základní pojmy
🔍 Základní pojmy relačních databází
Průvodce světem dat pro začínající databázové nadšence
🧱 Co je to databáze?
Databáze je organizovaná sbírka dat, která je uložena a spravována elektronicky v počítačovém systému. Představte si ji jako digitální kartotéku, ve které místo papírových šanonů používáme tabulky propojené vzájemnými vazbami.
💡 Přirovnání: Databáze je jako knihovna — místo knih na policích uchováváme data v tabulkách, místo regálů máme databázové schéma a místo knihovníka se o správu stará systém řízení báze dat (SŘBD / DBMS).
📊 Relační model — srdce moderních databází
Základem relačních databází (např. PostgreSQL, MySQL, MariaDB, Oracle) je relační model, který v roce 1970 navrhl Edgar F. Codd.

Jeho hlavní myšlenka je geniálně jednoduchá:
- Data organizujeme do tabulek
- Tabulky mezi sebou mají vztahy (relace)
- S daty pracujeme pomocí množinových operací

📋 Tabulka — základní stavební kámen
Každá tabulka se skládá ze tří úrovní:
| Prvek | Odborný název | Popis |
|---|---|---|
| Sloupec | Atribut / Pole | Určuje, jaký typ informace ukládáme (např. jméno, datum, cena) |
| Řádek | Záznam / Tuple | Jeden konkrétní výskyt dat (např. jeden student, jedna objednávka) |
| Buňka | Hodnota | Konkrétní údaj na průsečíku řádku a sloupce |

Relační databáze
Relační databáze ukládá data především do tabulek. Každá tabulka představuje určitý druh objektu – například tabulka zak obsahuje žáky, tabulka trida třídy a tabulka predmet předměty.
Tabulky mohou být mezi sebou propojené. Těmto propojením říkáme relace.
1. Tabulka
Tabulku si můžeme představit podobně jako tabulku v Excelu. Skládá se ze sloupců a řádků.
|
zak_id |
jmeno |
prijmeni |
|
1 |
Jan |
Novák |
|
2 |
Petra |
Malá |
|
3 |
Tomáš |
Veselý |
2. Sloupec neboli pole
Sloupec určuje, jaký druh informace v něm bude uložen. V tabulce zak můžeme mít například pole zak_id, jmeno a prijmeni. Sloupci se někdy říká také pole.
3. Řádek neboli záznam
Jeden řádek představuje jeden konkrétní záznam. Řádek „1 | Jan | Novák“ tedy představuje jednoho konkrétního žáka.
|
Jednoduše: Sloupec říká, jaký údaj ukládáme. Řádek představuje jeden konkrétní objekt. |
5. Hodnota
Jednotlivý údaj uložený v tabulce nazýváme hodnota. V řádku „1 | Jan | Novák“ jsou hodnotami například 1, Jan a Novák.
6. Datový typ
Každý sloupec má datový typ. Datový typ určuje, jaký druh hodnot může být ve sloupci uložen.
|
Datový typ |
Co ukládá |
Příklad |
|
INT |
celé číslo |
zak_id = 1 |
|
VARCHAR |
text |
jmeno = Jan |
|
DATE |
datum |
platnost_do = 30. 6. 2027 |
Zápis VARCHAR(60) znamená, že pole může obsahovat text do určené maximální délky. Pro začátek stačí vědět, že datový typ určuje, jaký druh hodnot do pole patří.
7. ID
V databázi potřebujeme jednotlivé záznamy spolehlivě rozeznat. K tomu se často používá ID. Dva žáci se mohou jmenovat stejně, ale jejich ID bude odlišné – například zak_id = 1 a zak_id = 2.
8. Primární klíč
Primární klíč jednoznačně identifikuje každý záznam v tabulce. Velmi často je primárním klíčem právě ID – například zak_id, trida_id nebo predmet_id. V databázových diagramech bývá označen symbolem klíče.
|
Zapamatuj si: Primární klíč = jednoznačná identifikace záznamu. |
9. Cizí klíč
Cizí klíč slouží k propojení tabulek. Například tabulka trida může obsahovat třídu s trida_id = 1 a v tabulce zak bude mít Jan hodnotu trida_id = 1. Databáze tak pozná, že Jan patří do této třídy.
|
Zapamatuj si: Primární klíč identifikuje záznam. Cizí klíč propojuje tabulky. |
10. Relace
Relace je vztah mezi záznamy ve dvou tabulkách. Základní typy jsou 1 : 1, 1 : N a M : N. Písmena M a N znamenají „více“.
11. Relace 1 : 1
Čteme „jeden ku jednomu“. Jeden záznam v jedné tabulce souvisí právě s jedním záznamem ve druhé tabulce.
V našem příkladu platí: jeden student má jednu studentskou kartu a jedna studentská karta patří jednomu studentovi.
STUDENT 1 : 1 STUDENTSKÁ KARTA
Obr. 1 – Relace 1 : 1. Jeden student má jednu studentskou kartu a jedna karta patří jednomu studentovi.
V tabulce student je student_id. V tabulce studentska_karta se student_id používá k určení, kterému studentovi karta patří. Tabulka karty dále obsahuje například karta_id, cislo_karty a platnost_do.
12. Relace 1 : N
Čteme „jeden ku více“. Jeden záznam v první tabulce může souviset s více záznamy ve druhé tabulce.
Příklad: jedna třída může obsahovat mnoho žáků, ale každý žák v našem jednoduchém modelu patří do jedné třídy.
TŘÍDA 1 : N ŽÁK
Obr. 2 – Relace 1 : N. Jedna třída může obsahovat více žáků, jeden žák patří do jedné třídy.
Tabulka trida obsahuje například trida_id, nazev a obor. Tabulka zak obsahuje zak_id, jmeno, prijmeni, email a trida_id. Právě trida_id v tabulce zak říká, do které třídy žák patří.
13. Jak číst značky 1 a N
V databázových diagramech číslo 1 znamená jeden záznam a N (nebo malé n) znamená více záznamů. Spojení „trida 1 — N zak“ tedy čteme: jedna třída může mít více žáků.
14. Relace M : N
Čteme „více ku více“. Více záznamů z jedné tabulky může souviset s více záznamy ve druhé tabulce.
Příklad: jeden žák může mít zapsáno několik předmětů a zároveň jeden předmět může studovat více žáků. Mezi žákem a předmětem tedy existuje vztah M : N.|
zapis_id |
zak_id |
predmet_id |
|
1 |
10 |
2 |
|
2 |
10 |
5 |
|
3 |
11 |
2 |
Žák 10 může mít více předmětů a předmět 2 může mít více žáků.

Na diagramu vlastně vidíme dvě relace: ŽÁK 1 : N ZÁPIS a PŘEDMĚT 1 : N ZÁPIS. Dohromady tím vzniká vztah ŽÁK M : N PŘEDMĚT.
15. Spojovací tabulka
U vztahu M : N se v relační databázi obvykle používá další, spojovací tabulka. V našem příkladu se jmenuje zapis.
Obsahuje například zapis_id, zak_id, predmet_id, skolni_rok a datum_zapisu. Každý její řádek znamená: tento žák má zapsaný tento předmět.
|
zapis_id |
zak_id |
predmet_id |
|
1 |
10 |
2 |
|
2 |
10 |
5 |
|
3 |
11 |
2 |
Žák 10 může mít více předmětů a předmět 2 může mít více žáků.
16. Proč nepíšeme všechny údaje do jedné tabulky?
Mohli bychom vytvořit jednu obrovskou tabulku se sloupci Žák, Příjmení, Třída, Obor, Předmět a Školní rok. Stejné informace bychom ale zapisovali stále znovu – například název třídy 3.A u každého žáka.
Relační databáze proto údaje rozděluje do samostatných tabulek a ty následně propojuje pomocí relací.
TŘÍDA → ŽÁK → ZÁPIS ← PŘEDMĚT
17. Jak číst databázový diagram
Název nahoře říká, o jakou tabulku jde. Pod ním jsou její sloupce. Vedle sloupců jsou datové typy, například INT nebo VARCHAR. Symbol klíče označuje primární klíč. Čára mezi tabulkami označuje relaci a značky 1, n nebo N ukazují, kolik záznamů může být na jednotlivých stranách vztahu.
18. Přehled našich tří relací
|
Typ relace |
Příklad |
Význam |
|
1 : 1 |
student – studentská karta |
jeden student má jednu kartu |
|
1 : N |
třída – žák |
jedna třída má více žáků |
|
M : N |
žák – předmět |
více žáků může mít více předmětů |
U vztahu M : N používáme v našem příkladu spojovací tabulku zapis.
19. Nejdůležitější pojmy
|
Databáze: Uspořádaná sbírka dat. |
Primární klíč: Jednoznačně identifikuje záznam v tabulce. |
|
Relační databáze: Databáze založená na tabulkách, které mezi sebou mohou mít vztahy. |
Cizí klíč: Odkazuje na záznam v jiné tabulce a umožňuje propojení tabulek. |
|
Tabulka: Obsahuje data určitého druhu. |
Relace: Vztah mezi tabulkami. |
|
Sloupec / pole: Určuje, jaký údaj ukládáme. |
1 : 1: Jeden záznam souvisí s jedním záznamem. |
|
Řádek / záznam: Představuje jeden konkrétní objekt. |
1 : N: Jeden záznam souvisí s více záznamy. |
|
Hodnota: Konkrétní údaj uložený v jednom poli. |
M : N: Více záznamů souvisí s více záznamy. |
|
Datový typ: Určuje druh uložených dat, například text, číslo nebo datum. |
Spojovací tabulka: Tabulka používaná zejména pro vytvoření vztahu M : N. |
|
ID: Identifikátor záznamu. |
20. Co si z kapitoly zapamatovat
|
Databáze obsahuje TABULKY | Tabulky obsahují SLOUPCE a ŘÁDKY | Záznam má svoje ID | ID může být PRIMÁRNÍ KLÍČ | Tabulky propojujeme pomocí KLÍČŮ | Mezi tabulkami vznikají RELACE | Základní relace 1 : 1 • 1 : N • M : N |
To je základ, na kterém stojí další práce s relačními databázemi.
👉 V následujících lekcích se postupně ponoříme do každého z těchto témat hlouběji.
