Databáze teorie
POJMY 1 databáze (DB) databázové systémy (DBS) informační systém (IS) kolekce dat (strukturovaná množina dat) obsahuje data uložená na vnějších paměťových médiích databázové systémy (DBS) systémy tj. soubory prvků ve vzájemných informačních a procesních vztazích, které zpracovávají data a zabezpečují komunikaci informací mezi prvky informační systém (IS) soubor lidí, prostředků (HW, SW) a metod zabezpečující sběr, přenos, uchování a zpracování dat za účelem tvorby a prezentace informací
POJMY 2 IS = DBS = DB + SŘBD Systém řízení báze dat (SŘBD) softwarové vybavení, které zajišťuje práci s DB umožňuje definovat a udržovat data v DB mimo programy, které tato data využívají 3 funkce: definice DB konstrukce DB manipulace s DB
POJMY 3 tabulka sloupec = atribut = pole = rozlišovací rys je jedním ze základních DB objektů slouží k přímému uložení dat do DB je to struktura záznamů s pevně stanovenými položkami (počet sloupců, řádků, …) sloupec = atribut = pole = rozlišovací rys (jméno, příjmení, věk, cena, ….) řádek = záznam = prvek relace = jakákoliv data v DB (Novák)
VLASTNOSTI POLÍ 1 velikost pole počet desetinných míst u typu TEXT určuje počet písmen u typu ČÍSLO určuje počet číslic počet desetinných míst možný rozsah je 0 – 15 často tuto volbu neřešíme a necháme ji nastavenou na „Automaticky“ formát určuje, v jakém tvaru se budou data zobrazovat a tisknout
VLASTNOSTI POLÍ 2 vstupní maska použijeme pro zadávání např. maska rodného čísla by vypadala následovně _ _ _ _ _ _ / _ _ _ _
POUŽITÍ DB malé DB se běžně používají na webových stránkách (e-shopy), dále je používáme ve všech institucích (počet PC na škole, stav skladu) velké DB nalezneme u velkých společností – miliony a miliardy záznamů – např. rezervační systémy leteckých společností, DB státní správy (kolik PC je ve školství), banky (přesuny peněz na účtech), nemocnice (kdy byl který pacient ošetřen, jaké bere léky, jak dlouho byl v nemocnici, apod.)
VLASTNOSTI DB jeden atribut tabulky by měl vždy obsahovat POUZE JEDEN typ záznamu (Příjmení = Novák) každá tabulka databáze by měla obsahovat data týkající se pouze jednoho typu (např. osobní data = jméno, příjmení, věk !!! nikoliv jací jsou členové jeho rodiny) obsah pole v tabulce musí VŽDY mít odpovídající datový typ (text, číslo, A/N, čas/datum)
POJMY 4 Primární klíč (PK) je pole, které JEDNOZNAČNĚ identifikuje každý záznam v tabulce žádné pole nesmí obsahovat NULLovou hodnotu každá tabulka má POUZE JEDEN Primární Klíč v MS Access lze za PK považovat i AUTOMATICKÉ ČÍSLO
POJMY 5 cizí klíč (FK, CK) vytvoří spojení sloupce z jedné tabulky se sloupcem z jiné (cizí) tabulky definuje co se bude dít při jeho smazání s daty v cizí tabulce
INDEXY 1 index slouží pro zrychlení vyhledávání v DB zjednodušeně: Představ si rejstřík v knize, na každém řádku je informace která kapitola je na jaké stránce přidáním indexu se DB zvětší (MegaByty)
INDEXY 2 použití indexů je vhodné pro pole, podle kterých se budou data v databázi řadit pole Primárního Klíče je indexováno automaticky, říkáme, že PK je hlavním indexem tabulky u indexu lze nastavit zda hodnota „0“ je platný údaj nebo jestli se má ignorovat
POJMY 6 relace databázové tabulky obsahující záhlaví (Osoby, Psi) a tělo (data v tabulce) Relace spojuje tabulky s jinými databázovými tabulkami (pomocí PK, FK) pomocí logických vazeb účelem Relačních databází je zamezení výskytu redundantních (opakujících se/nadbytečných) dat „Páté kolo u vozu je redundatní“ :-) Co se stane s relací, když vymažu FK a PK?
TYPY RELACÍ v DB rozlišujeme tyto typy relací (vzájemných vztahů): 1) tabulky nejsou v relaci 2) mezi tabulkami je relace 1:1 3) mezi tabulkami je relace 1:N 4) mezi tabulkami je relace N:M
TABULKY NEJSOU V RELACI v tabulkách jsou nesouvisející údaje, mezi tabulkami není definován žádný vztah
RELACE 1:1 relace 1:1 se používá tehdy, když jednomu záznamu v jedné tabulce odpovídá přesně jeden záznam v tabulce druhé tato relace není příliš používaná a v mnoha případech ukazuje na nevhodně tvořenou DB představme si dvě tabulky s podobnými daty, jednodušší je tabulky sloučit a relaci nepoužívat
RELACE 1:N jeden údaj z první tabulky odpovídá několika údajům z druhé tabulky nejpoužívanější relace, jejím použitím zajistíme, že každý údaj je umístěn pouze na jednom místě např.: jeden zákazník si může koupit více zboží
RELACE M:N více záznamů z jedné tabulky odpovídá více záznamům z druhé tabulky v běžných databázových systémech nelze M:N přímo vytvořit použijeme na to jednoduchý trik
RELACE M:N Typickým příkladem relace M:N je vazba mezi tabulkou spisovatelů a tabulkou knih. Jeden autor může napsat více knih a naopak jedna kniha může mít více autorů. Abyste mohli mezi tabulkou autorů a knih vytvořit relaci M:N, musíte nejprve vytvořit pomocnou (spojovací) tabulku, ve které budou pouze dvě pole: primární klíč z jedné a z druhé tabulky. Pak vytvoříte dvě relace 1:N. První mezi tabulkou autorů a spojovací tabulkou a druhou mezi tabulkou knih a spojovací tabulkou. Tím zajistíte, že tabulky autorů a knih budou v relaci M:N.
VLASTNOSTI DB databázi vytváří IT specialista data do ní zadává uživatel (kdokoliv, kdo umí psát na klávesnici) správce databáze přiděluje uživatelům práva (mazání v databázi, apod.), stará se také o obnovu DB po závažné chybě