Shrnutí na Úvod do relačních databází a ER modelů
Úvod do relačních databází a ER modelů: Průvodce pro studenty
Úvod
Relační databáze a ER model jsou základy návrhu, ukládání a správy dat v informačních systémech. Tento materiál vysvětluje základní pojmy, ukazuje praktické příklady a pomůže vám porozumět tomu, jak navrhnout jednoduchou databázi a převést ER diagram do relačních tabulek.
Základní pojmy
Relační databáze: Databáze, ve které jsou data ukládána do tabulek a vztahy mezi tabulkami se tvoří pomocí klíčů.
ER model (Entity-Relationship model): Grafický způsob popisu entit, jejich atributů a vztahů mezi nimi pro návrh databáze.
Tabulka: základní struktura
- Řádky = záznamy (records)
- Sloupce = atributy (fields)
Příklad tabulky studentů:
| ID | Jméno | Třída |
|---|---|---|
| 1 | Jan Novák | 4.A |
| 2 | Petr Svoboda | 4.B |
Primární klíč (Primary Key): Sloupec nebo kombinace sloupců, která jednoznačně identifikuje každý záznam a nesmí obsahovat NULL.
Cizí klíč (Foreign Key): Atribut v jedné tabulce, který odkazuje na primární klíč jiné tabulky a tím vytváří vazbu mezi tabulkami.
Základní principy relačních databází
- Tabulky: data jsou ukládána do tabulek.
- Relace mezi tabulkami: pomocí klíčů se propojují tabulky.
- Minimalizace redundance: stejné údaje by se neměly zbytečně opakovat.
- Integrita dat: databáze musí zachovávat správnost a konzistenci dat.
Příklad použití primárního a cizího klíče
Tabulka STUDENTI
| ID_studenta | Jméno |
|---|---|
| 1 | Jan |
| 2 | Petr |
Tabulka ZNAMKY
| ID_známky | Předmět | ID_studenta |
|---|---|---|
| 1 | MAT | 1 |
| 2 | INF | 2 |
Zde je sloupec ID_studenta v tabulce ZNAMKY cizím klíčem odkazujícím na STUDENTI.ID_studenta.
Kardinalita vztahů
Kardinalita popisuje počet vazeb mezi záznamy dvou entit:
| Typ | Význam | Příklad |
|---|---|---|
| 1 : 1 | jeden k jednomu | osoba ↔ rodný list |
| 1 : N | jeden k mnoha | učitel → mnoho studentů |
| M : N | mnoho k mnoha | studenti ↔ předměty (řeší se pomocnou tabulkou) |
Poznámka: Vztah M : N se v relační databázi obvykle realizuje pomocnou (join) tabulkou, která obsahuje cizí klíče obou stran.
Normalizace a normální formy
Cíl normalizace: snížit duplicitu dat, zjednodušit údržbu a zvýšit konzistenci.
-
- normální forma (1NF)
- Každá buňka obsahuje pouze jednu hodnotu.
- Nesmí existovat opakující se skupiny.
-
- normální forma (2NF)
- Databáze je v 1NF.
- Všechny neklíčové atributy jsou plně závislé na celém primárním klíči.
-
- normální forma (3NF)
- Databáze je ve 2NF.
- Neexistují tranzitivní závislosti mezi neklíčovými atributy.
Praktický příklad: Pokud máme tabulku objednávek s informacemi o zákazníkovi, oddělíme zákazníka do vlastní tabulky, aby se neduplicovala adresa nebo telefon.
ER model: návrh databáze
Základní prvky ER modelu
- Entita: objekt nebo pojem, o kterém ukládáme data (např. Student, Učitel, Předmět).
- Atribut: vlastnost entity (např. jméno, datum narození).
- Vztah: spojení mezi entitami (např. student navštěvuje předmět).
Entita: Objekt nebo pojem, o kterém ukládáme informace.
Atribut: Vlastnost entity, například pro Student: ID, jméno, datum narození.
Jednoduchý ER příklad
Entity:
- Student (ID_studenta, jméno, třída)
- Předmět (ID_předmětu, název)
Vztah:
- Student navštěvuje Předmět — kardinalita M : N (jeden student může mít více předmětů a jeden předmět může být navštěvován více studenty).
Řešení v relačním modelu: vytvoříme pomocnou tabulku STUDENT_PREDMETY s atributy (ID_studenta, ID_predmetu), kde oba jsou cizí klíče.
Praktické příklady a aplikace
- Školní systém: tabulky Student, Učitel, Předmět, Známky, Rozvrh
- E-shop: tabulky Zákazník, Produkt, Objednávka, PoložkaObjednávky (pomocná tabulka pro položky objednávky)
- Systém rezervací: tabulky Uživatel, Rezervace, Zdroj (např. místnost nebo let)
Krátký příklad SQL dotazů
- Vyhledání všech studentů v třídě 4.A: SELECT * FROM
Už máš účet? Přihlásit se
Relační databáze a ER model
Klíčová slova: Relační databáze a ER model
Klíčové pojmy: Data se ukládají do tabulek řízených klíči, Primární klíč jednoznačně identifikuje záznam a nesmí být NULL, Cizí klíč odkazuje na primární klíč jiné tabulky, Kardinalita popisuje počet vazeb: 1:1, 1:N, M:N, Vztah M:N se řeší pomocnou tabulkou s oběma cizími klíči, 1NF: atomické hodnoty v buňkách, 2NF: plná závislost na celém primárním klíči, 3NF: žádné tranzitivní závislosti, ER diagram zobrazuje entity, atributy a vztahy, Relační schéma je implementace ER modelu v tabulkách, Použijte JOIN pro spojování tabulek přes cizí klíče, Normalizace snižuje duplicitu a zvyšuje konzistenci