Úvod do relačních databází a ER modelů: Průvodce pro studenty
Délka: 3 minut
Zkoušková otázka
Databáze není jen Excel
Kouzlo klíčů a vztahů
Plánování s ER modelem
Shrnutí na závěr
Karolína: Představ si to. Sedíš u maturity z informatiky a přistane před tebou úkol: Navrhněte databázi pro školní informační systém. Spousta studentů tady zamrzne. Ale ty nemusíš, protože tohle je přesně ta věc, která odlišuje průměrnou známku od té nejlepší.
Adam: Přesně tak. Nejde jen o to něco vytvořit, ale vytvořit to správně a efektivně.
Karolína: Posloucháte Studyfi Podcast. Tak Adame, kde začít? Co je to vlastně ta relační databáze?
Adam: Super otázka! Představ si relační databázi jako sérii propojených Excel tabulek na steroidech. Data jsou úhledně uspořádaná v tabulkách. Každá tabulka má řádky – to jsou jednotlivé záznamy, třeba jeden konkrétní student – a sloupce, což jsou jeho vlastnosti, neboli atributy.
Karolína: Takže třeba tabulka Studenti bude mít sloupce jako Jméno, Příjmení, Třída…
Adam: Přesně tak! A pak bude třeba další tabulka Známky nebo Předměty. Klíčové je, že se data zbytečně neopakují. Tomu se říká minimalizace redundance. Nechceš mít jméno studenta napsané u každé jeho známky.
Karolína: A jak tedy propojím studenta s jeho známkami, když jeho jméno není v tabulce Známky?
Adam: Skvělý dotaz! K tomu slouží klíče. Každý student v tabulce Studenti má unikátní ID_studenta. To je jeho primární klíč. Je to jako rodné číslo, nikdo jiný ho nemá.
Karolína: Ahaa, takže v tabulce Známky bude jen sloupec s tímhle ID?
Adam: Přesně! A tam se tomu říká cizí klíč. Je to odkaz, který říká: „tahle známka patří studentovi s tímto ID“. Tím propojíme dvě tabulky. Těmto spojením říkáme relace a jejich počet určuje takzvaná kardinalita.
Karolína: Kardinalita. To zní jako zaklínadlo.
Adam: Trochu. Ale je to jen počet vazeb. Třeba jeden učitel učí mnoho studentů. To je vztah jedna ku mnoha, neboli 1:N.
Karolína: Dobře, chápu. Než ale začnu psát nějaký SQL kód, musím si to celé nějak naplánovat, že?
Adam: Bingo! Nikdo nezačíná stavět dům bez plánku. A v databázích je tím plánkem ER model – Entity Relationship model. Je to vizuální nákres celé struktury.
Karolína: Takže entita je třeba Student nebo Předmět?
Adam: Ano. Atributy jsou jejich vlastnosti – jméno, datum_narození. A vztahy jsou ty čáry mezi nimi, které říkají, jak spolu souvisí. Třeba „Student navštěvuje Předmět“. To je vše.
Karolína: Takže abychom to shrnuli: Relační databáze organizují data do tabulek. Ty jsou propojené pomocí primárních a cizích klíčů, abychom se vyhnuli chaosu a duplicitě dat.
Adam: A než začneme kódovat, vždycky si nejdřív nakreslíme ER model jako plánek. Entity, atributy, vztahy. S tímhle přístupem tu maturitní otázku nejen zvládneš, ale budeš v tom excelovat.
Karolína: Super! Děkujeme, že jste poslouchali.
Adam: Mějte se a studiu zdar!