610 likes | 771 Views
Normálne formy I V. Július Štuller www.cs.cas.cz/~stuller. Závislosti. Silná závislosť (~ funkčná závislosť) triviálne FZ ( FD - Functional dependency / ies ) Úplná FZ (~ kľuč …) 2NF (o2NF, z2NF) Tranzitívna 3NF (o3NF, z3NF) BCNF 1NF 2NF 3NF
E N D
Normálne formy IV Július Štuller www.cs.cas.cz/~stuller
Závislosti • Silná závislosť (~ funkčná závislosť) • triviálneFZ (FD - Functional dependency/ies) • Úplná FZ (~ kľuč …) 2NF • (o2NF, z2NF) • Tranzitívna 3NF • (o3NF, z3NF) • BCNF • 1NF 2NF 3NF • 1NF 2NF 3NF BCNF • 1NF 2NF z2NF 3NF z3NF = BCNF Normálne formy
Závislosti (1NF) • Silná závislosť ~funkčná závislosť(FZ / FD) • Úplná FZ ~ klúč2NF • Tranzitívna FZ 3NF • Mnohoznačná závislosť4NF(MZ / MVD) • Závislosti spojenia 5NF(JD) Normálne formy
Príklad 1 Normálne formy
Príklad 1 Normálne formy
Príklad 1 • Nemá nekľúčové atribúty: • → : • 2. NF • 3. NF • Neexistujú „netriviálne“ FZ • → : • BCNF Normálne formy
Príklad 1 Normálne formy
Poznámky • Redundancia • Update/delete anomálie … • Prednášajúci a skripta sú „nezávislé“ … • Množina hodnôt „Prednášajúcich“ odpovedajúcich určitej hodnote „Prednášky“ (napríklad „Mechanika“) nezávisí na (hodnote) ostatných atribútov („Skriptá“) Normálne formy
Príklad 1 Normálne formy
Príklad 2 Normálne formy
4. Normálna forma Značenie • xy = ( x , y ) • Majme: • reláciu R = • a množinu atribútov X, Y A . Označme: • YR ( x ) = { y ; ( u T ) ( u [ X ] = x ) & ( u [ Y ] = y ) ] } Normálne formy
Príklad 1 Normálne formy
YR ( x ) • YR ( x ) = { y ; ( u T ) ( u [ X ] = x ) & ( u [ Y ] = y ) ] } • Prednášajúci R ( Analýza ) = { y ; ( u T ) ( u [ Prednáška ] = Analýza ) & ( u [ Prednášajúci ] = y ) ] } Normálne formy
Príklad 1 Normálne formy
Prednášajúci R ( Analýza ) Prednášajúci R ( Analýza ) = { y ; ( u T ) ( u [ Prednáška ] = Analýza ) & ( u [ Prednášajúci ] = y ) ] } = { Lojzo} Normálne formy
Prednášajúci R ( Mechanika ) • Prednášajúci R ( Mechanika ) = { y ; ( u T ) ( u [ Prednáška ] = Mechanika ) & ( u [ Prednášajúci ] = y ) ] } Normálne formy
Príklad 1 Normálne formy
Prednášajúci R ( Mechanika ) • Prednášajúci R ( Mechanika ) = { y ; ( u T ) ( u [ Prednáška ] = Mechanika ) & ( u [ Prednášajúci ] = y ) ] } = { Legová, Havránková } Normálne formy
Mnohoznačná závislosť Definícia 1 • Majme: • reláciu R = • a množinu atribútov X, Y A . • Označme: • Z = A – ( X U Y ) • XZ = X U Z ( ~ A – Y ) Normálne formy
MZ • Množina atribútov Y v R mnohoznačne závisí na množine atribútov X (v R platí mnohoznačná závislosť Y na X ) ak pre ľubovolné hodnoty xz množiny atribútov XZ platí: YR ( xz ) = YR ( x ) Normálne formy
Príklad 1 Normálne formy
Multi-valued dependencies • Značenie: • X →→R Y • Prednáška →→ R Prednášajúci • Prednáška →→ R Skriptá Normálne formy
MVD • X →→ R Y ↔ X →→ R Z → X →→ R Y │ Z • X → R Y ? X →→ R Y Normálne formy
Príklad 1 Normálne formy
Príklad 1 Let → Dráha Normálne formy
Príklad 1 Normálne formy
MVD • X → R Y → X →→ R Y Normálne formy
Triviálna MZ Definícia 2 • Nech X U Y = A . • Potom: • X →→ R • X →→ R Y nazveme triviálnymi MZ. Normálne formy
MVD • X → R Y → X →→ R Y Normálne formy
4. Normálna forma Definícia 3 Relácia R = sa nachádza v 4. normálnej forme (4. NF) ak z existencie netriviálnej mnohoznačnej závislosti X →→ R Y plynie, že X jenadkľúč relácie R. Normálne formy
Triviálna MVD • Y = • Y = X • Y X • 4. NF: • X →→ R Y • → • K X Normálne formy
Príklad 1 Normálne formy
Príklad 2 Normálne formy
Veta • Majme: • reláciu R = • a množinu atribútov X, Y A . • Označme: Z = A – ( X U Y ) . X →→ R Y ↔ R = R[XY] * R[XZ] Normálne formy
5. Normálna forma Normálne formy
Klúče Normálne formy
Join dependencies Neexistujú: • Degustátor →→ R Víno • Víno →→ R Výrobca • Výrobca →→ R Degustátor Normálne formy
Klúče Normálne formy
Join dependencies • Neexistujú: • Degustátor →→ R Víno • Víno →→ R Výrobca • Výrobca →→ R Degustátor • Nie je možné rozložiť na dve relácie bez straty informácie Normálne formy
Platí … • R R [ Degustátor , Vino ] * R [ Vino , Výrobca ] • R R [ Degustátor , Vino ] * R [ Degustátor , Výrobca ] • R R [ Degustátor , Výrobca ] * R [ Vino , Výrobca ] Normálne formy
Ale tiež platí … • R = R [ Degustátor , Vino ] * R [ Vino , Výrobca ] * R [ Degustátor , Výrobca ] Normálne formy
Závislosť spojenia Definícia 4 • Majme: • reláciu R = • a množinu atribútov X1, …, Xk A . • Povieme, že existuje závislosť spojenia ak R = * R [ Xi ] Normálne formy
5. NF Definícia 5 Relácia je v 5. normálnej forme ak každá (netriviálna)závislosť spojenie je implikovaná nejakým (potenciálnym) kľúčom. ZS Multi-valued dependency (MVD) Normálne formy
Integritné obmedzenia • Všetky prebrané závislosti: • Silná závislosť ~ funkčná závislosť (FZ) • triviálneFZ (FD - Functional dependency/ies) • Úplná FZ (~ klúč …) • Tranzitívna FZ • Mnohoznačná závislosť (MZ / MVD ) • Zavislosť spojenia (JD) Normálne formy
Integrity Constraints predstavujú určité o b m e d z e n i a , ktoré musia splňovať jednotlivé relácie, ak majú patriť do skupiny relácií v tej-ktorej normálnej forme … • Obecne budeme pod pojmom obmedzenie chápať ľubovoľné podmienky kladené na relácie. Normálne formy
IC Budeme predpokladať, že: • Je možné určiť pre každú reláciu, či vyhovuje alebo nie danému obmedzeniu • Máme danú množinu obmedzení • Označenú IC (Integrity Constraints) Normálne formy
Relačná schéma Definícia 6 • Nech je dané: • Konečná množina mien atribútov A • Zobrazenie D priraďujúce každému menu atribútu a z A doménu tohoto atribútu D(a) • Množina obmedzení IC . • Trojicu < A, D, IC > označíme symbolom S a nazveme relačnou schémou. • Značenie: S = < A, D, IC > . Normálne formy
Inštancia schémy Definícia 7 • Majme danú relačnú schému S = . • Povieme, že relácia R = je tzv. inštanciou relačnej schémy S (alebo typu S ), ak R vyhovuje všetkým obmedzeneniam IC . • Značenie: R S . Normálne formy
Logická schéma Definícia 8 Logickou schémou (databázovou schémou) relačného modelu dát budeme rozumieť (konečnú) množinu takých relačných schém, ktoré definujú všetky relácie nad danou množinou mien atribútov, ktoré potrebujeme k popísaniu určitého výseku reality. Normálne formy
Značenie: • Σ = { Si ; i , k N; Si je relačná schéma } Normálne formy