Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Databázové systémy Návrh struktury - normalizace.

Podobné prezentace


Prezentace na téma: "Databázové systémy Návrh struktury - normalizace."— Transkript prezentace:

1 Databázové systémy Návrh struktury - normalizace

2 Návrh struktury databáze Proces návrhu databáze založený na teorii závislostí se nazývá normalizace. - dekompozice dat na jednotlivé tabulky a určení vztahů mezi nimi Problémy špatného návrhu databáze Opakující se informace (redundance) Nemožnost reprezentovat určitou informaci Ztráta informace Složitá kontrola integritních omezení

3 Funkční závislost Hodnota atributu relace určuje jednoznačně hodnotu jiného atributu stejné relace X → Y Klient(r_cislo,jmeno,prijmeni,ulice,mesto) Hodnota rodneho cisla jednoznacne určuje hodnoty dalších atributů r_cislo→(jmeno,prijmeni,ulice,mesto) jmeno→(prijmeni,ulice,mesto) Plná funkční závislost Atribut je funkčně závislý na celém složeném atributu a ne jen na některé jeho části.

4 Atribut je funkčně závislý na jiném funkčně závislém atributu Ucet(c_uctu,r_cislo,stav,jmeno) Tranzitivní závislost Hodnota atributu relace určuje jednoznačně množinu hodnot jiného atributu stejné relace nezávisle na hodnotách ostatních atributů. Ucet - r_cislo značí vlastníka účtu, klent ale může mít více adres Vícehodnotová závislost - multizávislost

5 Normalizace - postupná dekompozice dat – transformace tabulky do vhodnějšího tvaru Potřebné vlastnosti dekompozice bezztrátovost při zpětném spojení zachování závislostí odstranění opakování - redundance Bezztrátová dekompozice - spojení tabulek, které vzniknou dekompozicí musí dát přesně původní tabulku

6 - všechny původní závislosti musí být zachovány a snadno kontrolovatelné Zachování závislostí r_cislo c_uctu stav pobockajmeni r_cislo c_uctu stav pobockajmenic_uctu

7 Odstranění opakování ÚČET: POBOČKA: c_uctu stav pobockanazevjmeni Zarámí 4463T.Bati T.Bati 2132Zarámí T.Bati 2132 c_uctu stav pobockajmeni Zarámí T.Bati T.Bati

8 Normální formy - definují požadavky na vlastnosti schématu tabulky z pohledu závislosti mezi atributy Hierarchie normálních forem 1.NF až 3.NF BCNF – (Boyce-Coddova) 4.NF a 5.NF PLATÍ: n-tá normální forma musí splňovat podmínky n-1 normální formy a ještě něco navíc.

9 1. normální forma – 1NF Tabulka je v první normální formě, právě když všechny její atributy jsou atomické, tj. dále již nedělitelné. JMÉNOPŘÍJMENÍBYDLIŠTĚ jannovákOstravská 16, Praha16000 petrnovýSvitavská 8, Brno61400 jannováčekNa bradlech 1147, Ostrava Správný návrh tabulky, který bude respektovat 1NF bude vypadat následovně: JMÉNOPŘÍJMENÍULICEČÍSLOMĚSTOPSČ jannovákOstravská16Praha16000 petrnovýSvitavská8Brno61400 jannováčekNa bradlech1147Ostrava79002 Klient

10 2. normální forma – 2NF Tabulka je ve druhé normální formě, právě když splňuje 1NF a navíc každý její neklíčový atribut, je plně funkčně závislý na každém kandidátním klíči. ( Tzn. problém 2NF se týká jenom tabulek, kde volíme za primární klíč více položek než jednu.) Ucet2 Disponuje c_uctustavpobockajmenir_cisloc_uctu Zarámí / T.Bati / T.Bati / c_uctur_cislostavpobockajmeni Ucet1

11 3. normální forma – 3NF Tabulka je ve třetí normální formě, jestliže je v 2NF a neexistuje žádný neklíčový atribut, který je tranzitivně závislý na některém kandidátním klíči. c_uctustavpobocka jmeni Zarámí 4463 T.Bati T.Bati 2132Zarámí T.Bati 2132 Ucet2 Disponuje c_uctur_cislostavpobockajmeni Ucet1 c_uctustavpobockajmenir_cisloc_uctu Ucet3 Disponuje Pobočka c_uctustavpobockar_cisloc_uctupobockajmeni

12 Boyce-Coddova normální forma Tabulka je v BCNF, jestliže pro každou netriviální funkční závislost X → Y je X superklíčem. - může existovat několik kandidátních klíčů. - kandidátní klíče můžou být složené, - kandidátní klíče se můžou překrývat - 3NF připouší tranzitivní závislosti mezi klíč. atributy Disponuje(r_cislo,c_zakaznika,c_uctu)

13 4. normální forma – 4NF Tabulka je ve čtvrté normální formě, jestliže pro každou netriviální vícehodnotovou závislost X Y je X superklíčem. Čtvrtá normální forma v podstatě říká, že vícehodnotové závislosti musíme vyčlenit do samostatné tabulky. 5. normální forma – 5NF Tabulka je v páté normální formě, jestliže pro každou netriviální netriviální závislost na spojení je každá množina atributů superklíčem.

14 Transformace ER diagramu na tabulky relační databáze Hlavní problémy špatného návrhu: - opakující se informace (redundance) - nemožnost reprezentovat určitou informaci - složitá kontrola integritních omezení

15 Pravidla transformace Odstranění složených a vícehodnotových atributů (převod do 1NF) Vícehodnotový atribut → slabá entitní množina nebo náhrada pevným počtem opakování

16 Pravidla transformace Reprezentace silné entitní množiny Reprezentace slabé entitní množiny

17 Pravidla transformace Reprezentace vztahů

18 Pravidla transformace Reprezentace ternárních vztahů Generalizace -tabulka pro nadtyp + pro podtypy s primárním klíčem nadtypu -pouze tabulky pro podtypy i s atributy nadtypu - všechno v jedné tabulce (rozlišení podle prázdné hodnoty)

19 Př. Spořitelna


Stáhnout ppt "Databázové systémy Návrh struktury - normalizace."

Podobné prezentace


Reklamy Google