Formát: 30 min praktická úloha, 15 min obhajoba + teorie. Praktika je kreslení ER modelu na papír podle textového zadání (žádný počítač). Pokrývá rekurzivní vazbu, vazbu 1:1 a M:N (databáze je "trošku vypečená" podle informací z minulých let).
💡 Tip k notaci: Pro maturitu kresli notaci. Mermaid diagramy v tomhle souboru jsou jen pro čitelnost, na zkoušku potřebuješ umět to nakreslit rukou.
Databáze je organizovaný soubor dat, který umožňuje informace ukládat, vyhledávat, upravovat a bezpečně spravovat. Používá se v e-shopech, školních systémech, bankách, nemocnicích.
O správu se stará DBMS (Database Management System): MySQL, PostgreSQL, MS SQL Server, Oracle, SQLite, MariaDB.
| Plochá data (Excel) | Relační databáze |
|---|---|
| Redundance (opakování) | Normalizovaná, žádné opakování |
| Nekonzistence (2 hodnoty si odporují) | Integritní omezení (FK, UNIQUE, CHECK) |
| Špatné vazby, obtížně se hlídají | FK constraints, referenční integrita |
| Konflikty (víc lidí přepíše současně) | Transakce, locking, MVCC |
| Žádná typová kontrola | Datové typy (INT, VARCHAR, DATE...) |
| Úroveň | Co řeší | Výstup |
|---|---|---|
| Konceptuální model | Co chceme ukládat. Objekty a vztahy z reálného světa | ER diagram (entity + relace) |
| Logický model | Překlápí koncept do tabulek. Definuje PK, FK, propojení | Relační schéma |
| Fyzický model | Technické detaily pro konkrétní DBMS. Datové typy, indexy | CREATE TABLE skripty |
Konceptuální: "Studenti mají třídu" (kreslíme entity)
▼
Logický: Tabulka Student s FK trida_id → tabulka Trida.id
▼
Fyzický: CREATE TABLE Student (
id INT AUTO_INCREMENT PRIMARY KEY,
trida_id INT NOT NULL,
INDEX idx_trida (trida_id),
FOREIGN KEY (trida_id) REFERENCES Trida(id)
);
| Pojem | Význam | Příklad |
|---|---|---|
| Data | Jednotlivé hodnoty | "Anna", "25", "2026-05-11" |
| Informace | Data v souvislostech | "Zákaznice Anna, 25 let, registrovaná 2026-05-11" |
| Entita | Typ objektu reálného světa, o kterém vedeme záznamy | Zakaznik, Produkt, Objednavka |
| Atribut | Vlastnost entity | jmeno, email, cena |
| Klíč | Atribut(y), které jednoznačně identifikují záznam | id_zakaznika |
| Relace (vazba) | Vztah mezi entitami | Zákazník → Objednávka |
| Kardinalita | Kolik výskytů jedné entity souvisí s druhou | 1:1, 1:N, M:N |
Pozor na terminologii: "Entita" je typ objektu (Student obecně), ne konkrétní záznam ("Karel Novák"). Konkrétnímu výskytu se říká instance entity. V ER diagramu kreslíš entity, ne instance.
| Konceptuální (ER) | Logický (relační DB) |
|---|---|
| Entita | Tabulka |
| Atribut | Sloupec (column) |
| Relace (čára) | Propojení přes klíče (FK) |
| Instance | Řádek (row) |