Úvod do databází zkrácená verze
Databáze Databáze je určitá uspořádaná množina informací (dat) uložená na paměťovém médiu. Paměťové medium může být počítač nebo server, kde databáze běží. Databázi si lze představit jako soubor dat, který slouží pro popis reálného světa (např. evidence školní knihovny, sklad chemikálií, evidence studentů, zaměstnanců).
Relační databáze Relační databáze je databázový systém, který je založen na relačním modelu dat. Data jsou uložena v několika různých tabulkách podle předmětu nebo úlohy a jsou u nich definovány určité vztahy (relace).
Tabulky Tabulka je základním stavebním kamenem pro budování celé databáze.stavebním Jeden řádek bývá často nazýván databázovým záznamem. Soubor tabulek (relací) pak tvoří celou databázi (relační schéma). Slouží k uložení dat v řádcích a sloupcích. Každá databáze obsahuje nejméně jednu tabulku. Sloupce (atributy-vlastnosti) odpovídají jednotlivým vlastnostem prvku Řádky (entity-prvky) tabulky zobrazují aktuální stav světa
Tabulka příklad
Výhody databáze Tabulky lze propojovat dohromady, tedy vytvářet mezi nimi relace (vztahy): data z jedné tabulky jsou v jiné tabulce doplněna o další informace
Základní pojmy Vlastnost Prvek Integrita Primární klíč Cizí klíč Hodnota a datový typ Funkční závislost Indexy
Prvek a vlastnost Prvek je část reálného světa (např. člověk, stroj, vyučovaný předmět, město), který je popsán svými charakteristikami (vlastnostmi). Vlastností popisujeme nějaký prvek reálného světa (např. jméno, příjmení, stav, plat, hmotnost).
Primární klíč (PRIMARY KEY) Primární klíč - jeden nebo více sloupců (polí), jejichž hodnota nebo kombinace hodnot jednoznačně identifikuje každý záznam. Primární klíč má v každé řádku jinou hodnotu, tím je každý záznam jednoznačně odlišen od ostatních Databáze bez primárních klíčů nebude správně fungovat!!!
Cizí klíč (FOREIGN KEY) V případě vytvoření relace (vztahu) mezi tabulkami se primární klíč jedné tabulky stává cizím klíčem druhé tabulky.
Propojování tabulek Mezi tabulkami definujeme vztahy - označované jako relace. Obecně rozlišujeme tři druhy relací: Jedna k jedné 1 : 1 - s každým záznamem jedné tabulky je vždy svázán pouze jeden záznam druhé tabulky. Jedna k více 1 : N - s každým záznamem jedné tabulky může být svázáno více záznamů druhé tabulky. Více k více M : N - u této relace se může na obou stranách nacházet více odpovídajících záznamů. Tyto základní relace jsou dále děleny podle toho, je-li jedna z jejich stran nepovinná (obsahuje prázdnou hodnotu) 1:1 – odborně kardinalita (stupeň vazby)
Relace 1:1 V relaci 1:1 může řádku tabulky A odpovídat jediný řádek tabulky B a naopak. Relace 1:1 je vytvořena v případě, že oba sloupce v relaci jsou primárními klíči nebo jsou pro ně definována omezení jedinečnosti.
Relace 1:1 Tento typ relace není obvyklý, protože stejné informace by ve většině takových případů bylo možné uložit do jediné tabulky. Relaci 1:1 lze použít k následujícím účelům: rozdělení tabulky obsahující velké množství sloupců izolace části tabulky z bezpečnostních důvodů ukládání krátkodobých dat, která lze snadno odstranit prostým odstraněním celé tabulky ukládání informací, které se vztahují pouze k části hlavní tabulky
Relace 1:N Relace 1:N je nejobvyklejším typem relace. V tomto typu relace může řádku v tabulce A odpovídat libovolný počet řádků tabulky B, ale řádku v tabulce B smí odpovídat pouze jediný řádek tabulky A. Příkladem relace 1:N je relace mezi tabulkami VYDAVATELE a KNIHY. Jak to funguje můžeme dobře vidět i v praxi. Jeden nakladatel obvykle vydává více knih, ale jednu knihu většinou vydá pouze jedno vydavatelství.
Relace 1:N
Relace M:N V relaci M:N může řádku tabulky A odpovídat více řádků tabulky B a naopak. Tento typ relace se vytváří prostřednictvím třetí tabulky nazývané spojená tabulka, jejíž primární klíč se skládá z cizích klíčů tabulek A i B. Pro pochopení tohoto typu relace si uvedeme trochu jiný příklad. Představte si, že máte v databázi zaměstnance a chcete evidovat jejich služební cesty. Zároveň ještě předpokládejme, že na jednu služební cestu může jet více zaměstnanců a jeden zaměstnanec může jet na více služebních cest.
Relace M:N
Příklady relací Student – předmět Manžel – manželka (ČR) Autor – kniha Vstupenka(konkrétní akce) - návštěvník Faktura – odběratel Stavba – stavební firma Občan ČR – rodné číslo M:N 1:1 M:N 1:N M:N 1:1
Přístupová práva Pracuje-li s databází více uživatelů, není žádoucí, aby všichni mohli provádět v databázi provádět změny nebo měli přístup ke všem informacím. Přístupová práva se týkají pokaždé jednoho objektu (tabulky, pohledu) a konkrétního uživatele. Dva druhy práv: Právo pro čtení Právo na zápis (aktualizaci) Přidělování práv (GRANT, REVOKE)
Organizace dat v databázi datové soubory (obsahující veškerá data tabulek) indexové soubory systémový katalog – obsahuje pomocná data schémata tabulek jména indexů integritní omezení, klíče, atd.