Normální formy. Zdeněk Kouba

Podobné dokumenty
Database systems. Normal forms

Relační datový model. Integritní omezení. Normální formy Návrh IS. funkční závislosti multizávislosti inkluzní závislosti

Základní pojmy teorie množin Vektorové prostory

Obsah přednášky. Databázové systémy. Normalizace relací. Normalizace relací. Normalizace relací. Normalizace relací

Databáze. Logický model DB. David Hoksza

Materiál byl vytvořen v rámci projektu Nové výzvy, nové příležitosti, nová škola

Úvod do databázových systémů 10. cvičení

Úvod do databázových systémů

Databázové systémy. Cvičení 3

Databáze I. Přednáška 3

Střední průmyslová škola Zlín

5. Formalizace návrhu databáze

Relace x vztah (relationship)

Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

Databáze I. Přednáška 2

DBS Normální formy, normalizace

Databázové systémy. Normálové formy + kandidátní klíče. 2.přednáška

5. Formalizace návrhu databáze

Analýza a modelování dat 3. přednáška. Helena Palovská

Databázové systémy BIK-DBS

I) Příklady (převeďte následující věty do formulí PL1 a ověřte jejich ekvivalenci pomocí de Morganových zákonů):

Úvod do databázových systémů. Cvičení 12 Ing. Martin Zwierzyna

Relační databázový model. Vladimíra Zádová, KIN, EF, TUL- DBS

UDL 2004/2005 Cvičení č.6 řešení Strana 1/5

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

UDBS Cvičení 10 Funkční závislosti

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.

Terminologie v relačním modelu

Kapitola Základní množinové pojmy Princip rovnosti. Dvě množiny S a T jsou si rovny (píšeme S = T ) prvek T je také prvkem S.

Princip rozšíření a operace s fuzzy čísly

Náhled testu. Přijímací zkouška magisterského studia. konečný automat bez zbytečných stavů, který přijímá jazyk popsaný tímto výrazem, má:

Marie Duží

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ

Databázové systémy. Cvičení 2

Náhled testu. Přijímací zkouška magisterského studia. konečný automat bez zbytečných stavů, který přijímá jazyk popsaný tímto výrazem, má:

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

Databázové systémy Cvičení 5.3

Hierarchický databázový model

3 Množiny, Relace a Funkce

Kvalita relačního schématu, normalizace

Úvod do lineární algebry

Výroková a predikátová logika - II

Matematická analýza pro informatiky I.

Relační model dat (Codd 1970)

1 Báze a dimenze vektorového prostoru 1

Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie.

Organizace. Zápočet: test týden semestru (pátek) bodů souhrnný test (1 pokus) Zkouška: písemná část ( 50 bodů), ústní část

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)

Cílem kapitoly je opakování a rozšíření středoškolských znalostí v oblasti teorie množin.

Regresní a korelační analýza

NORMALIZACE Část 2 1

Databázové systémy Cvičení 5

Regresní a korelační analýza

Výroková a predikátová logika - VI

Okruh č.3: Sémantický výklad predikátové logiky

Základy matematiky pro FEK

A5M33IZS Informační a znalostní systémy. Relační databázová technologie

Relační databáze. V dnešní době existuje řada komerčních DBMS, nejznámější jsou:

Databáze I. 4. přednáška. Helena Palovská

Databázové systémy Tomáš Skopal

Úvod do databázových systémů 1. cvičení

4.2 Syntaxe predikátové logiky

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek

Matematická logika. Rostislav Horčík. horcik

Úvod do databázových systémů

1 Množiny, výroky a číselné obory

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Kapitola 1: Reálné funkce 1/13

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

Základy matematiky pro FEK

REÁLNÁ FUNKCE JEDNÉ PROMĚNNÉ

TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 4. PREDNÁŠKA - SOUČIN PROSTORŮ A TICHONOVOVA VĚTA.

α β ) právě tehdy, když pro jednotlivé hodnoty platí β1 αn βn. Danou relaci nazýváme relace

B i n á r n í r e l a c e. Patrik Kavecký, Radomír Hamřík

Kapitola 9. Rezidua. Matematická analýza 4. KMA/MA o12. Definice 9.1. ( izolovaná singularita )

Jiří Mašek BIVŠ V Pra r ha

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace

DERIVACE FUKNCÍ VÍCE PROMĚNNÝCH

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Základy matematiky pro FEK

Učební texty k státní bakalářské zkoušce Matematika Diskrétní matematika. študenti MFF 15. augusta 2008

6. Vektorový počet Studijní text. 6. Vektorový počet

Relační databázová technologie

10. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo

Výbor České republiky pro programy nadnárodní a meziregionální spolupráce (verze 24. únor 2017) POZICE VE VÝBORU. Člen - předseda Výboru

Michal Krátký, Miroslav Beneš

Databáze I. 1. přednáška. Helena Palovská

Základy relačních databází, jejich využití v programování webu

Informační systémy ve zdravotnictví. 6. cvičení

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

1 Determinanty a inverzní matice

Úvod do informatiky. Miroslav Kolařík

Predikátová logika. prvního řádu

DEFINICE Z LINEÁRNÍ ALGEBRY

A5M33IZS Informační a znalostní systémy. O čem předmět bude? Úvod do problematiky databázových systémů

Kurz Databáze. Obsah. Návrh databáze E-R model. Datová analýza, tabulky a vazby. Doc. Ing. Radim Farana, CSc.

Lineární algebra - I. část (vektory, matice a jejich využití)

Transkript:

Normální formy Zdeněk Kouba

Příklad špatného modelu Osob Cislo Prijmeni Cislo Kancelare Obec Ulice CP PSC Kraj Hejtman 1001 Novák 238 Liteň Hlavní 10 26727 Středočeský Rath 1001 Novák 238 Bystřice Benešova 112 25751 Středočeský Rath 1001 Novák 238 Benešov Jiráskova 124 25601 Středočeský Rath 1201 Řezáč 204 Praha Ječná 21 12000 Praha Bém 1221 Falc 216 Kladno Uhelná 234 27201 Středočeský Rath 1234 Lupínek 308 Kladno Rudná 23 27202 Středočeský Rath Paradox při update: Když pan Novák změníčíslo kanceláře, musíme tuto změnu provést ve všech jeho záznamech (pro všechny jeho adresy). Podobně změna hejtmana Středočeského kraje by vyvolala změnu ve všech záznamech osob s bydlištěm ve Středočeském kraji.

Příklad špatného modelu Osob Cislo Prijmeni Cislo Kancelare Obec Ulice CP PSC Kraj Hejtman 1001 Novák 238 Liteň Hlavní 10 26727 Středočeský Rath 1001 Novák 238 Bystřice Benešova 112 25751 Středočeský Rath 1001 Novák 238 Benešov Jiráskova 124 25601 Středočeský Rath 1201 Řezáč 204 Praha Ječná 21 12000 Praha Bém 1221 Falc 216 Kladno Uhelná 234 27201 Středočeský Rath 1234 Lupínek 308 Kladno Rudná 23 27202 Středočeský Rath Paradox při insertu: Když budeme vkládat záznam nového zaměstnance pana Jonáše s bydlištěm v Jihočeském kraji, musíme si nejprve zjistit jméno hejtmana Jihočeského kraje, abychom mohli tuto informaci zadat spolu s adresou pana Jonáše.

Příklad špatného modelu Osob Cislo Prijmeni Cislo Kancelare Obec Ulice CP PSC Kraj Hejtman 1001 Novák 238 Liteň Hlavní 10 26727 Středočeský Rath 1001 Novák 238 Bystřice Benešova 112 25751 Středočeský Rath 1001 Novák 238 Benešov Jiráskova 124 25601 Středočeský Rath 1201 Řezáč 204 Praha Ječná 21 12000 Praha Bém 1221 Falc 216 Kladno Uhelná 234 27201 Středočeský Rath 1234 Lupínek 308 Kladno Rudná 23 27202 Středočeský Rath Paradox při delete: Zrušíme-li po odchodu pana Řezáče z firmy jeho záznam, ztratíme současně s tím informaci o tom, že primátorem (hejtmanem) Prahy je pan Bém.

Konvence Nechť X = { X 1, X 2, X n }. Symbolem X označme kartézský součin X = X 1 X 2 X n. Symbol x pak bude označovat nějakou uspořádanou entici x X.

Funkční závislost Mějme schema R(A), kde A je množina všech atributů relace R. Mějme množiny atributů X,Y A. Říkáme, že Y funkčně závisí na X právě tehdy, když pro každou hodnotu x X existuje nejvýše jedna hodnota y Y. Funkční závislost značíme X Y. Nezávisí-li Y na X, značíme to symbolem X Y.

Mějme relaci: Funkční závislost - příklad AdresaOsoby = {OsobCislo, Prijmeni, CisloKancelare, Obec, Ulice, CP, PSC, Kraj, Hejtman} Příklady funkčních závislosti: {OsobCislo} {OsobCislo, Prijmeni, CisloKancelare, Obec, Ulice, CP, PSC, Kraj, Hejtman} {Kraj, Obec, Ulice} {PSC} {Kraj} {Hejtman}

Parciální funkční závislost Mějme množiny atributů X a Y. Nechť X Y (t.j. Y je funkčně závislé na X). X Y nazveme parciální funkční závislostí právě tehdy, existuje-li nějaká množina atributů X 1 X taková, že X 1 Y.

Parciální funkční závislost - příklad Mějme schema R(A), kde A je množina všech atributů relace R. A = {Predmet, Ucitel, Termin, Mistnost, Kredity} Funkční závislost {Predmet, Termin} {Kredity} je parciální funkční závislostí, neboť {Predmet} {Kredity} a přitom {Predmet} {Predmet, Termin}

Transitivní funkční závislost Mějme množiny atributů X a Y, dále mějme atribut C takový, že C X a C Y. Říkáme, že atribut C je transitivně závislý na X právě tehdy, když současně platí: X Y C Y X.

Transitivní funkční závislost - příklad Mějme schema R(A), kde A je množina všech atributů relace R. A = {OsobCislo, Obec, Ulice, CP, PSC, Kraj, Hejtman} {OsobCislo, Obec, Ulice, CP, PSC} {Kraj} {Kraj} {Hejtman} {Kraj} {OsobCislo, Obec, Ulice, CP, PSC} Tedy: Množina atributů {Hejtman} je transitivně závislá na množině atributů {OsobCislo, Obec, Ulice, CP, PSC}

První normální forma Relace je v první normální formě právě tehdy, když platí současně: 1. Atributy atomické (dále nedělitelné) 2. Přístup k řádkům relace podle obsahu (klíčových) atributů 3. Jedinečné m-tice (řádky) Příklad relace, která není v 1.NF: Rodiče Otec Matka Děti Jan Marta {Eliška, Lucie} Jan Marie {Jiří, Josef} Josef Marta {Leoš}

1. Je v 1. NF. Druhá normální forma Relace je ve druhé normální formě právě tehdy, když platí současně: 2. Žádný neklíčový atribut není parciálně funkčně závislý na žádném z klíčů dané relace. Například relace {IdStudenta, IdPredmetu, JmenoStudenta, Semestr} není ve 2NF, neboť: Klíčem je {IdStudenta, IdPredmetu} Neklíčový atribut JmenoStudenta je funčně závislý na {IdStudenta}, je tedy parciálně závislý na klíči. Neklíčový atribut Semestr je funčně závislý na {IdPredmetu}, je tedy parciálně závislý na klíči.

Druhá normální forma Například relace {IdStudenta, IdPredmetu, JmenoStudenta, Semestr} není ve 2NF, neboť: Klíčem je {IdStudenta, IdPredmetu} Neklíčový atribut JmenoStudenta je funčně závislý na {IdStudenta}, je tedy parciálně závislý na klíči. Neklíčový atribut Semestr je funčně závislý na {IdPredmetu}, je tedy parciálně závislý na klíči. Řešení: Relaci rozdělíme do tří tabulek {IdStudenta, IdPredmetu} {IdStudenta, JmenoStudenta} {IdPredmetu, Semestr}

1. Je v 2. NF. Třetí normální forma Relace je ve třetí normální formě právě tehdy, když platí současně: 2. Žádný neklíčový atribut není transitivně funkčně závislý na žádném z klíčů dané relace. Například relace {IdStudenta, JmenoStudenta, Fakulta, Dekan} není ve 3NF, neboť: Sice je ve 2NF, ale Atribut Dekan je funčně závislý na {Fakulta} {Fakulta} je funkčně závislá na {IdStudenta} (předpokládáme, že student nemůže být současně studentem více fakult téže university). {IdStudenta} není funkčně závislá na {Fakulta}. Atribut Dekat je tedy transitivně funkčně závislý na klíči.

Třetí normální forma Například relace {IdStudenta, JmenoStudenta, Fakulta, Dekan} není ve 3NF, neboť atribut Dekat je transitivně funkčně závislý na klíči. Řešení: Relaci rozdělíme do tabulek {IdStudenta, JmenoStudenta, Fakulta} {Fakulta, Dekan}