< Předchozí výpisek Zpět na výpis látekZáklady HTML a CSSInformatika

Databáze - úvod

Co je to databáze

Do databáze ukládáme data o sledovaných jevech. Můžeme si ji představit jako soubor tabulek. V záhlaví tabulky máme názvy sloupců (atributy), další řádky pak jsou jednotlivé záznamy.

Příklad tabulky:
Auta
IDautobarvamotor
1FelicieModráDvouválec
2FerrariŽlutáŠestiválec
15TrabantOprýskanáNefunkční

Datový model databáze

Definice:
Datový model – je myšlenkový popis všech objektů, procesů, atributů a vztahů, které nás zajímají. Vytváříme jakési asociace mezi objekty a procesy.

Vytváříme pro lepší představu výsledné podoby databáze.
Používají se grafické symboly:
Entity - obdélník -> entity budou v databázi představovat názvy tabulek: zboží, zákazníci, dodavatelé, ...
Atributy - ovály -> to jsme nedělali, v databázi to jsou vlastně názvy sloupců
Vztahy - kosočtverce ->říkají, co jednotlivé atributy dělají: zákazníci objednávají zboží, dodavatelé dodávají zboží; ve výsledné databázi budou většinou také tvořit názvy tabulek.

Kardinalita

Vztahy mezi entitami (tabulkami)

1:1 - jedna ku jedné - ke každému řádku jedné tabulky (entitě) můžeme přiřadit právě jeden řádek tabulky (entity) druhé: jeden žák má jen jeden čip na oběd
1:N - jedna ku mnoha - ke každému řádku jedné tabulky můžeme přiřadit několik řádků z druhé tabulky: do jedné třídy chodí více žáků, ale jeden žák může chodit jen do jedné třídy
N:M - mnoho k mnoha - ke každému řádku tabulky můžeme přiřadit více řádků jiné tabulky a naopak: jeden učitel učí více předmětů a více učitelů učí jeden předmět

Relace

Představme si relace jako vztahy mezi jednotlivými tabulkami

Primární klíč - je důležitý pro jasné určení konkrétního záznamu (řádku), musí být jedinečný (nesmí se opakovat), musí být vyplněn, nesmí se měnit. Může to být jeden, nebo více sloupců.

Normalizace

Úprava do podoby co nejefektivnější.

Jedná se o zamezení redundace (zbytečného opakování) dat.

V praxi se jedná především o rozdělení do více tabulek.

1. normální forma

Relace je v 1. normální formě, pokud platí, že veškeré hodnoty v relaci jsou skalární (jedinečné).
Každý atribut (sloupec) obsahuje pouze jednu hodnotu - proto nesmí existovat např. tabulka Třida, kde by ve sloupci žáci byli postupně všichni vyjmenováni odděleni čárkou.

Příklad špatné tabulky:
Třídy - špatně
IDNazevtridni_ucitelzaci
16. CMirek DušínOskar Bakaš, Ivana Černéková, Radka Čáhařevá
28. AJiří z Poděbrad Kryštof Jabko, Krystýna Mrazíková, Jakub Jenaga
1516. QJan ParoubekTereza Koplanová, Veronika Kerosková, Klára Klapalová, Anna Mourrisonová
Sloupec žáci obsahuje více hodnot - špatně

Příklad tabulky v 1. normální formě:
Třídy
IDNazevtridni_ucitelzak
16. CMirek DušínOskar Bakaš
26. CMirek DušínIvana Černéková
36. CMirek DušínRadka Čáhařevá
48. AJiří z Poděbrad Kryštof Jabko
58. AJiří z Poděbrad Krystýna Mrazíková
68. AJiří z Poděbrad Jakub Jenaga
1516. QJan ParoubekTereza Koplanová
1616. QJan ParoubekVeronika Kerosková
1716. QJan ParoubekKlára Klapalová
1816. QJan ParoubekAnna Mourrisonová
Zbavili jsme se více hodnot ve sloupci žáci, narostl nám ale počet řádků.

2. normální forma

Relace je v 1. normální formě a zároveň všechny její neklíčové atributy jsou závislé na celém primárním klíči.

V jazyce normálních lidí: pokud se nám začnou data ve sloupcích opakovat musíme vytvořit novou tabulku

Příklad druhé normální formy:
Třídy
IDNazevtridni_ucitel
16. CMirek Dušín
28. AJiří z Poděbrad
1516. QJan Paroubek
Žáci
ID_zakaID_tridyzak
11Oskar Bakaš
21Ivana Černéková
31Radka Čáhařevá
42 Kryštof Jabko
52 Krystýna Mrazíková
62 Jakub Jenaga
1515Tereza Koplanová
1615Veronika Kerosková
1715Klára Klapalová
1815Anna Mourrisonová
Rozdělili jsme tabulku na dvě, čímž jsme zabránili vytváření duplicit (redundaci).

3. normální forma

Relace je ve 2. normální formě a zároveň všechny její neklíčové atributy jsou vzájemně nezávislé.

Česky řečeno: sloupce, které nejsou přímo závislé na primárním klíči dáme do zvláštní tabulky.

V našem případě tu žádný takový sloupec nemáme, ledaže bychom osamostatnili třídního učitele, ale to nemá valný smysl.



Přidal: Tonda 26. 2. 2013
Zobrazit podrobnosti

Podrobnosti

Počet slov: 585
Zhlédnuto: 2463 krát
< Předchozí výpisek Zpět na výpis látekZáklady HTML a CSSInformatika