Transcript P3 - HomeL

Databázové systémy

Přednáška č. 3 Normalizace dat, Datová a funkční analýza

Normalizace dat

 Je to úprava struktury dat podle určitých pravidel  Používá tzv. Normální formy (1., 2., …)  Zabraňuje redundantním záznamům  Pomáhá zvýšit konzistenci dat  Zajišťuje možnost jednoznačných odpovědí na otázky  Eliminuje vznik aktualizačních anomálií

Normalizace dat

1. normální forma (1. NF)

 Relace je v atribut první normální formě, pokud každý její obsahuje jen atomické hodnoty. Tedy hodnoty z pohledu databáze již dále nedělitelné.

Viz příklad:

Normalizace dat

1. normální forma (1. NF)

Řešení:  Rozdělení atributu na větší množství  Dodržení 1. normální formy je pro správnou funkci databáze povinné!!!!

Normalizace dat

1. normální forma (1. NF)

2 řešení:  Oddělení atributu a vytvoření nové tabulky

Normalizace dat

2. normální forma (2. NF)

 Relace se nachází v druhé normální formě, jestliže je v první normální formě a každý neklíčový atribut je plně závislý na primárním klíči, a to na celém klíči a nejen na nějaké jeho podmnožině.

Viz příklad:

Normalizace dat

2. normální forma (2. NF)

Řešení:  Rozklad na dvě tabulky

Normalizace dat

3. normální forma (3. NF)

   Relace se nachází ve třetí normální formě, je-li ve 2.

NF a žádný z jejich atributů nevykazuje tranzitivní závislost, tzn., že všechny neklíčové atributy jsou navzájem nezávislé.

Tranzitivní závislost je závislost mezi minimálně dvěma atributy a klíčem, kde jeden atribut je funkčně závislý na klíči a druhý atribut je funkčně závislý na prvním atributu.

Dodržování 3. normální formy není automaticky nutné, pokud jej nevyžaduje zadavatel projektu.

Normalizace dat

3. normální forma (3. NF)

Viz příklad:

Normalizace dat

3. normální forma (3. NF)

Řešení:  Rozklad na větší množství relací

Je to všechno?

Normalizace dat

3. normální forma (3. NF)

Ternární vztahy

 Jsou to vztahy, kterých se účastní 3 tabulky vzájemně propojené vazbami M:N  Běžným rozepsáním vazeb získáme:

Ternární vztahy

 Správně rozepsaný ternární vztah mění směr pouze jednou a to v tabulce „prospěch“.

Datová analýza

     Definuje datové toky související s vybraným systémovým procesem Jde o základní komunikaci uživatele s programátorem Provádí se na konceptuální úrovni Zabývá se: • vstupními a výstupními daty (okolím procesu) • Transformací dat na výstupní (vnitřní informační toky) Výsledek dává přehled o potřebných datech a vazbách mezi nimi a vyjadřuje ji např. E-R diagram.

Funkční analýza

    Funkční analýza provádí návrh činnosti DBS Je to seznam a popis akcí prováděných nad konceptuálním schématem či externími schématy Vyjadřuje popis stavů datových struktur a přechodů mezi nimi.

Vytváří se srozumitelné a dostatečně přesné modely, pro které je nutné definovat: • Seznam funkčních požadavků • • Seznam událostí a reakcí (jako model vnějšího chování) Požadované vstupy a výstupy

Funkční analýza

   Definuje obsah a rozsah • výstupních sestav (elektronické soubory, tiskové sestavy, výstupy na obrazovku) • nutných vstupních dat (interní a externí data, číselníky). Součástí analýzy je i popis transformace vstupních dat na výstupní, včetně logických i formálních kontrol těchto dat. Vyjádření pomocí Diagramu toků dat, Stavového diagramu nebo Vývojového grafu.

Funkční analýza

Diagram toků dat (Data Flow Diagram - DFD)

  Zobrazuje procesy a toky dat mezi nimi Popisuje vnitřní funkcionalitu systému z analýzy toků dat mezi interními funkcemi navzájem a mezi okolím Základní stavební prvky:  Proces  Sklad – data store  Tok dat  Terminátor

Funkční analýza

Diagram toků dat

 U složitých systémů se DFD kreslí v několika úrovních  Jako první úroveň se vytváří tzv. Kontextový diagram, který se pak dále rozpracovává Základní pravidla DFD:     Každá funkce, data store a tok dat musí mít svůj název Nic se nemůže ztratit – co vstupuje do funkce (procesu) na vyšší úrovni, musí vstupovat i na nižší úrovni a naopak, nic nemůže přibýt.

Jeden data store typům.

odpovídá jednomu nebo několika entitním Funkce na nejvyšší úrovni mohou odpovídat jednotlivým hlavním formulářům aplikace.

Funkční analýza

Diagram toků dat

Funkční analýza

Diagram toků dat

Funkční analýza

Diagram toků dat – Kontextový diagram

    Popisuje vnější chování systému a tedy vztah systému k jeho okolí. Odpovídá tomu, co chce od systému uživatel. Získáme ho studiem událostí, které mohou nastat mezi systémem a subjekty v jeho okolí: • jiní uživatelé navazujících nebo spolupracujících systémů, nebo nadřazený informační systém.

Celý systém je zobrazován jako celek.

Funkční analýza

Diagram toků dat – Kontextový diagram

Funkční analýza

Stavový diagram (State Transition Diagram)

  Používá se pro popis dynamiky objektu, popis metody, či pro popis protokolu (včetně protokolu o styku uživatele se systémem). Tento diagram definuje: • možné stavy • • • • možné přechody mezi stavy události, které přechody iniciují podmínky přechodů akce, které s přechody souvisí

Funkční analýza

Stavový diagram