Úvod do databázových systémů Cvičení 12 Ing. Martin Zwierzyna
Základní pojmy Redundance Stejná data jsou uložena v databázi na více místech, zbytečně se opakují Řešení: Minimalizace redundance
Základní pojmy Konzistence Pří výskytu redundance je nutné zajistit, aby byla všude uložena stejná data Řešení: Zajištění konzistence dat
Základní pojmy Integrita Data jsou aktuální a představují skutečný svět Řešení: Zajištění integrity dat
Normální formy 1. Normální forma Relační schéma musí obsahovat pouze atomické atributy Rodné číslo Jméno Datum narození Adresa 9999 Alena Nová 1. 1. 1947 Slezská 36, Český Těšín, 73701 4444 Petr Starý 21. 4. 1957 Ostravská 1, Ostrava-Poruba, 77147
Normální formy 1. Normální forma Relační schéma musí obsahovat pouze atomické atributy Rodné číslo Jméno Datum narození Adresa 9999 Alena Nová 1. 1. 1947 Slezská 36, Český Těšín, 73701 4444 Petr Starý 21. 4. 1957 Ostravská 1, Ostrava-Poruba, 77147 NE!!!
Normální formy 1. Normální forma Relační schéma musí obsahovat pouze atomické atributy Rodné číslo Jméno Příjmení Datum narození Ulice Město PSČ 9999 Alena Nová 1. 1. 1947 Slezská 36 Český Těšín 73701 4444 Petr Starý 21. 4. 1957 Ostravská 1 Ostrava-Poruba 77147
Normální formy 1. Normální forma Relační schéma musí obsahovat pouze atomické atributy Rodné číslo Jméno Příjmení Datum narození Ulice Město PSČ 9999 Alena Nová 1. 1. 1947 Slezská 36 Český Těšín 73701 4444 Petr Starý 21. 4. 1957 Ostravská 1 Ostrava-Poruba 77147 ANO!!!
Normální formy 2. Normální forma Relační schéma musí být v 1. NF a každý sekundární atribut je plně závislý na každém klíči schématu Rodn é číslo Jmén o Příjmen í ID Oddělení Název Ulice Město PSČ 9999 Alena Nová 1 Středisko Slezská 36 Český Těšín 73701 4444 Petr Starý 2 Pobočka Ostravská 1 Ostrava- ANO!!! Poruba 77147
Normální formy 2. Normální forma Relační schéma musí být v 1. NF a každý sekundární atribut je plně závislý na každém klíči schématu Rodn é číslo Jmén o Příjmen í ID Oddělení Název Ulice Město PSČ 9999 Alena Nová 1 Středisko Slezská 36 Český Těšín 73701 4444 Petr Starý 2 Pobočka Ostravská 1 Ostrava- ANO!!! Poruba NE!!! 77147
Normální formy 2. Normální forma Relační schéma musí být v 1. NF a každý sekundární atribut je plně závislý na každém klíči schématu ID Oddělení Název Ulice Město PSČ 1 Středisko Slezská 36 Český Těšín 73701 2 Pobočka Ostravská 1 Ostrava- Poruba Rodné číslo Jméno Příjmení ID Oddělení 9999 Alena Nová 1 4444 Petr Starý 2 77147
Normální formy 2. Normální forma Relační schéma musí být v 1. NF a každý sekundární atribut je plně závislý na každém klíči schématu ID Oddělení Název Ulice Město PSČ 1 Středisko Slezská 36 Český Těšín 73701 2 Pobočka Ostravská 1 Ostrava- Poruba Rodné číslo Jméno Příjmení ID Oddělení 9999 Alena Nová 1 4444 Petr Starý 2 ANO!!! 77147
Normální formy 3. Normální forma Relační schéma musí být v 2. NF a žádný sekundární atribut není tranzitivně závislý na žádném klíči schématu ID Zaměstnance Pozice Plat 1 Svářeč 12000 2 Svářeč 12000 3 Účetní 23000
Normální formy 3. Normální forma Relační schéma musí být v 2. NF a žádný sekundární atribut není tranzitivně závislý na žádném klíči schématu ID Zaměstnance Pozice Plat 1 Svářeč 12000 2 Svářeč 12000 3 Účetní 23000 NE!!!
Normální formy 3. Normální forma Relační schéma musí být v 2. NF a žádný sekundární atribut není tranzitivně závislý na žádném klíči schématu ID Zaměstnance Pozice 1 Svářeč 2 Svářeč 3 Účetní Pozice Plat Svářeč 12000 Účetní 23000
Normální formy Boyce-Coddova normální forma Relační schéma je v BCNF, pokud existují závislosti pouze na klíčích Nesmí být AB CD a zároveň C A
Dekompozice Hledání schématu začíná dekompozicí originálního velkého schématu Jeden krok dekompozice rozděluje původní schéma na dvě Pokud R (A) -> B C = A R1(B) a R2(C), pak
Dekompozice Zákon zachování množiny FZ Zákon zachování informace
Dekompozice do BCNF R(A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G}
Dekompozice do BCNF R(A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G} ABCDEFG AB C
Dekompozice do BCNF R(A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G} ABCDEFG AB C ABC ABDEFG
Dekompozice do BCNF R(A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G} ABCDEFG AB C ABDEFG ABC C D
Dekompozice do BCNF R(A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G} ABCDEFG AB C ABC ABDEFG C D??
Dekompozice do BCNF R(A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G} ABCDEFG C D
Dekompozice do BCNF R(A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G} ABCDEFG C D CD ABCEFG
Dekompozice do BCNF R(A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G} ABCDEFG C D ABCEFG CD E F
Dekompozice do BCNF R(A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G} ABCDEFG C D CD ABCEFG E F EF ABCEG
Dekompozice do BCNF R(A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G} ABCDEFG C D CD ABCEFG E F ABCEG EF B E
Dekompozice do BCNF R(A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G} ABCDEFG C D CD ABCEFG E F EF ABCEG B E BE ABCG
Dekompozice do BCNF R(A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G} ABCDEFG C D CD ABCEFG E F EF ABCEG B E ABCG BE C G
Dekompozice do BCNF R(A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G} ABCDEFG C D CD ABCEFG E F EF ABCEG B E BE ABCG C G CG ABC
Dekompozice do BCNF R(A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G} ABCDEFG C D CD ABCEFG E F EF ABCEG B E BE ABCG C G ABC CG AB C
Dekompozice do BCNF R(A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G} ABCDEFG C D CD ABCEFG E F EF ABCEG B E BE ABCG C G ABC CG AB C ABC
Dekompozice do BCNF Dekompozicí jsme získali tento rozklad: R1(CD), R2(EF), R3(BE), R4(CG), R5(ABC)
Dekompozice do 3.NF 1. Spojení levých a pravých stran FZ 2. Spojení relací se stejnými levými stranami 3. Spojení relací se stejnými klíči 4. Přidání nezpracovaného atributu do kterékoliv relace 5. Není-li klíč obsažen v žádné z relací, pak vytvoříme novou relaci obsahující atributy klíče
Dekompozice do 3.NF R(A, B, C, D, E, F, G) F: {AB C, C D, B E, E F, C G} 1. RO1={R1(ABC), R2(CD), R3(BE), R4(EF), R5(CG)} 2. RO2 = RO1 3. RO3 = RO2 4. RO4 = RO3 5. RO5 = RO4
Děkuji za pozornost