normálne formy i v
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Normálne formy INormálne formy IVV
Július Štuller
www.cs.cas.cz/~stuller
30. novembra 2006 Normálne formy 2
ZávislostiZá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– 1NF 2NF 3NF BCNF– 1NF 2NF z2NF 3NF z3NF = BCNF
30. novembra 2006 Normálne formy 3
ZávislostiZá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)
30. novembra 2006 Normálne formy 4
Príklad 1Príklad 1
Prednáška Prednášajúci Skripta
Analýza Lojzo Posloupnosti
Analýza Lojzo Řady
Analýza Lojzo Funkce
Mechanika Legová Mechanika I
Mechanika Havránková Mechanika I
Mechanika Legová Mechanika II
Mechanika Havránková Mechanika II
30. novembra 2006 Normálne formy 5
Príklad 1Príklad 1
Prednáška Prednášajúci Skripta
Analýza Lojzo Posloupnosti
Analýza Lojzo Řady
Analýza Lojzo Funkce
Mechanika Legová Mechanika I
Mechanika Havránková Mechanika I
Mechanika Legová Mechanika II
Mechanika Havránková Mechanika II
30. novembra 2006 Normálne formy 6
Príklad 1Príklad 1
Prednáška Prednášajúci Skripta
Nemá nekľúčové atribúty:– → :
2. NF 3. NF
Neexistujú „netriviálne“ FZ – → :
BCNF
30. novembra 2006 Normálne formy 7
Príklad 1Príklad 1
Prednáška Prednášajúci Skripta
Analýza Lojzo Posloupnosti
Analýza Lojzo Řady
Analýza Lojzo Funkce
Mechanika Legová Mechanika I
Mechanika Havránková Mechanika I
Mechanika Legová Mechanika II
Mechanika Havránková Mechanika II
30. novembra 2006 Normálne formy 8
PoznámkyPozná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á“)
30. novembra 2006 Normálne formy 9
Príklad 1Príklad 1
Prednáška Prednášajúci Skripta
Analýza Lojzo Posloupnosti
Analýza Lojzo Řady
Analýza Lojzo Funkce
Mechanika Legová Mechanika I
Mechanika Havránková Mechanika I
Mechanika Legová Mechanika II
Mechanika Havránková Mechanika II
30. novembra 2006 Normálne formy 10
Príklad 2Príklad 2
Prednáška Prednášajúci
Analýza Lojzo
Mechanika Legová
Mechanika Havránková
Prednáška Skripta
Analýza Posloupnosti
Analýza Řady
Analýza Funkce
Mechanika Mechanika I
Mechanika Mechanika II
30. novembra 2006 Normálne formy 11
4. Normálna forma 4. Normálna forma
Značenie
1. xy = ( x , y )
2. 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 ) ] }
T D, A,
30. novembra 2006 Normálne formy 12
Príklad 1Príklad 1
Prednáška Prednášajúci Skripta
Analýza Lojzo Posloupnosti
Analýza Lojzo Řady
Analýza Lojzo Funkce
Mechanika Legová Mechanika I
Mechanika Havránková Mechanika I
Mechanika Legová Mechanika II
Mechanika Havránková Mechanika II
30. novembra 2006 Normálne formy 13
YYRR ( x ) ( 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 ) ] }
30. novembra 2006 Normálne formy 14
Príklad 1Príklad 1
Prednáška Prednášajúci Skripta
Analýza Lojzo Posloupnosti
Analýza Lojzo Řady
Analýza Lojzo Funkce
Mechanika Legová Mechanika I
Mechanika Havránková Mechanika I
Mechanika Legová Mechanika II
Mechanika Havránková Mechanika II
30. novembra 2006 Normálne formy 15
Prednášajúci Prednášajúci RR ( Analýza ) ( Analýza )
Prednášajúci R ( Analýza ) =
{ y ; ( u T )( u [ Prednáška ] =
Analýza ) &
( u [ Prednášajúci ] = y ) ] }
= { Lojzo}
30. novembra 2006 Normálne formy 16
Prednášajúci Prednášajúci RR ( Mechanika ) ( Mechanika )
Prednášajúci R ( Mechanika ) =
{ y ; ( u T )( u [ Prednáška ] =
Mechanika ) &
( u [ Prednášajúci ] = y ) ] }
30. novembra 2006 Normálne formy 17
Príklad 1Príklad 1
Prednáška Prednášajúci Skripta
Analýza Lojzo Posloupnosti
Analýza Lojzo Řady
Analýza Lojzo Funkce
Mechanika Legová Mechanika I
Mechanika Havránková Mechanika I
Mechanika Legová Mechanika II
Mechanika Havránková Mechanika II
30. novembra 2006 Normálne formy 18
Prednášajúci Prednášajúci RR ( Mechanika ) ( Mechanika )
Prednášajúci R ( Mechanika ) =
{ y ; ( u T )( u [ Prednáška ] = Mechanika ) & ( u [ Prednášajúci ] = y ) ] }
= { Legová, Havránková }
30. novembra 2006 Normálne formy 19
Mnohoznačná závislosť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 )
T D, A,
30. novembra 2006 Normálne formy 20
MZMZ
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 )
30. novembra 2006 Normálne formy 21
Príklad 1Príklad 1
Prednáška Prednášajúci Skripta
Analýza Lojzo Posloupnosti
Analýza Lojzo Řady
Analýza Lojzo Funkce
Mechanika Legová Mechanika I
Mechanika Havránková Mechanika I
Mechanika Legová Mechanika II
Mechanika Havránková Mechanika II
30. novembra 2006 Normálne formy 22
Multi-valued dependenciesMulti-valued dependencies
Značenie: X →→R Y
Prednáška →→ R Prednášajúci
Prednáška →→ R Skriptá
30. novembra 2006 Normálne formy 23
MVDMVD
X →→ R Y ↔ X →→ R Z
→X →→ R Y │ Z
X → R Y ? X →→ R Y
30. novembra 2006 Normálne formy 24
Príklad 1Príklad 1
Let Deň Pilot Dráha
112 6 Apríla Ivan 7
112 7 Apríla Emil 7
203 9 Apríla Jirka 3
30. novembra 2006 Normálne formy 25
Príklad 1Príklad 1
Let Deň Pilot Dráha
Let → Dráha
30. novembra 2006 Normálne formy 26
Príklad 1Príklad 1
Prednáška Prednášajúci Skripta
Analýza Lojzo Posloupnosti
Analýza Lojzo Řady
Analýza Lojzo Funkce
Mechanika Legová Mechanika I
Mechanika Havránková Mechanika I
Mechanika Legová Mechanika II
Mechanika Havránková Mechanika II
30. novembra 2006 Normálne formy 27
MVDMVD
X → R Y → X →→ R Y
30. novembra 2006 Normálne formy 28
Triviálna MZTriviálna MZ
Definícia 2
Nech X U Y = A .Potom:
– X →→ R – X →→ R Y
nazveme triviálnymi MZ.
30. novembra 2006 Normálne formy 29
MVDMVD
X → R Y → X →→ R Y
30. novembra 2006 Normálne formy 30
4. Normálna forma4. 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 je nadkľúč relácie R.
T D, A,
30. novembra 2006 Normálne formy 31
Triviálna MVDTriviálna MVD
Y = Y = X Y X 4. NF:
X →→ R Y → K X
30. novembra 2006 Normálne formy 32
Príklad 1Príklad 1
Prednáška Prednášajúci Skripta
Analýza Lojzo Posloupnosti
Analýza Lojzo Řady
Analýza Lojzo Funkce
Mechanika Legová Mechanika I
Mechanika Havránková Mechanika I
Mechanika Legová Mechanika II
Mechanika Havránková Mechanika II
30. novembra 2006 Normálne formy 33
Príklad 2Príklad 2
Prednáška Prednášajúci
Analýza Lojzo
Mechanika Legová
Mechanika Havránková
Prednáška Skripta
Analýza Posloupnosti
Analýza Řady
Analýza Funkce
Mechanika Mechanika I
Mechanika Mechanika II
30. novembra 2006 Normálne formy 34
VetaVeta
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]
T D, A,
30. novembra 2006 Normálne formy 35
5. Normálna forma5. Normálna forma
Degustátor Víno Výrobca
Jano Chablis Jean Claude
Jano Beaujolais Nicolas
Peter Chablis Nicolas
Jano Chablis Nicolas
30. novembra 2006 Normálne formy 36
KlúčeKlúče
Degustátor Víno Výrobca
Jano Chablis Jean Claude
Jano Beaujolais Nicolas
Peter Chablis Nicolas
Jano Chablis Nicolas
30. novembra 2006 Normálne formy 37
Join dependenciesJoin dependencies
Neexistujú:
Degustátor →→ R Víno
Víno →→ R Výrobca
Výrobca →→ R Degustátor
30. novembra 2006 Normálne formy 38
KlúčeKlúče
Degustátor Víno Výrobca
Jano Chablis Jean Claude
Jano Beaujolais Nicolas
Peter Chablis Nicolas
Jano Chablis Nicolas
30. novembra 2006 Normálne formy 39
Join dependenciesJoin 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
30. novembra 2006 Normálne formy 40
Platí …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 ]
30. novembra 2006 Normálne formy 41
Ale tiež platí …Ale tiež platí …
R = R [ Degustátor , Vino ]
* R [ Vino , Výrobca ]
* R [ Degustátor , Výrobca ]
30. novembra 2006 Normálne formy 42
Závislosť spojeniaZávislosť spojenia
Definícia 4Majme:
– reláciu R =
– a množinu atribútov X1, …, Xk A .
Povieme, že existuje závislosť spojenia
ak
R = * R [ Xi ]
T D, A,
30. novembra 2006 Normálne formy 43
5. NF5. 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)
30. novembra 2006 Normálne formy 44
Integritné obmedzeniaIntegritné obmedzenia
Všetky prebrané závislosti:– Silná závislosť
~ funkčná závislosť (FZ) triviálne FZ (FD - Functional dependency/ies)
– Úplná FZ (~ klúč …)– Tranzitívna FZ – Mnohoznačná závislosť (MZ / MVD )– Zavislosť spojenia (JD)
30. novembra 2006 Normálne formy 45
Integrity ConstraintsIntegrity 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.
30. novembra 2006 Normálne formy 46
ICIC
Budeme predpokladať, že:
1. Je možné určiť pre každú reláciu, či vyhovuje alebo nie danému obmedzeniu
2. Máme danú množinu obmedzení– Označenú IC (Integrity Constraints)
30. novembra 2006 Normálne formy 47
Relačná schémaRelač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 > .
30. novembra 2006 Normálne formy 48
Inštancia schémyInš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 .
T D, A,
IC D, A,
30. novembra 2006 Normálne formy 49
Logická schémaLogická 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.
30. novembra 2006 Normálne formy 50
Značenie:
Σ = { Si ; i , k N; Si je relačná schéma }
30. novembra 2006 Normálne formy 51
Relačný model realityRelačný model reality
Definícia 9
Relačným modelom reality budeme rozumieť
stav všetkých relácií z danej logickej schémy
v čase t ako funkciu premennej t
{ R(t) ; [ R(t) S ] & ( S Σ ) }
30. novembra 2006 Normálne formy 52
ŠtruktúryŠtruktúry
Výsledkom vačšiny procesov modelovania skutočnosti je obyčajne nejaká štruktúra:– najčastejšie nejaký graf– prípadne štrutúra prevediteľná na nejaký graf.
ktorá by sa mala vo vhodnej forme uložiť v počítači tak, ako to vyžaduje koncepcia konceptuálnej schémy (, ktorá má byť reálnou súčasťou DBS a preto musí byť prezentovaná v explicitnej, počítačom prijatelnej forme ... )
30. novembra 2006 Normálne formy 53
Hierarchická štruktúraHierarchická štruktúra
možné znázorniť pomocou stromu– riadiace– & organizačné jednotky
(založené na princípu centralizácie …)
~ hierarchická štruktúra modelu skutočnosti
30. novembra 2006 Normálne formy 54
Spojenie množínSpojenie množín
Definícia 1
Majme dve množiny A , B a nech funkcia f má jeden z
následujúcich tvarov:1. totálna z A do B
2. parciálna z A do B
3. totálna z A do Π(B) -
4. parciálna z A do Π(B) -
30. novembra 2006 Normálne formy 55
Spojenie množínSpojenie množín
Potom povieme, že
z množiny A do množiny B je
vzhľadom k funkcii spojenie typu: 1 (v prípade 1.) c (c = 0 alebo 1) (v prípade 2.) m (m N) (v prípade 3.) mc (v prípade 4.)
30. novembra 2006 Normálne formy 56
Spojenie typuSpojenie typu
Definícia 2
Povieme, že
z množiny A do množiny B je spojenie typu x
ak existuje taká funkcia f , že z množiny A do množiny B je vzhľadom k tejto funkcii f spojenie typu x .
30. novembra 2006 Normálne formy 57
Typ spojeniaTyp spojenia
Definícia 3
Majme:– dve množiny A , B– dve funkcie f , g ,
ktoré vytvárajú spojenie z A do B ( funkcia f ) a z B do A ( funkcia g ).
Označme:– x typ spojenia z A do B vzhľadom k funkcii f– y typ spojenia z B do A vzhľadom k funkcii g
30. novembra 2006 Normálne formy 58
Typ spojeniaTyp spojenia
Dvojicu ( x , y ) nazveme
typ spojenia medzi množinami A a B vzhľadom k funkciám f a g .
30. novembra 2006 Normálne formy 59
Spojenie typuSpojenie typu
Definícia 4
Povieme, že
medzi množinami A a B je spojenie typu ( x , y )
ak existujú také dve funkcie f a g , že medzi množinami A a B je spojenie typu ( x , y ) vzhľadom k funkciám f a g .
30. novembra 2006 Normálne formy 60
Poznámka:– E xistuje celkove 16 typov spojenia medzi
dvoma množinami.– Avšak iba 10 je roznych:
( 1 , 1 ) ( 1 , c ) ( c , c ) ( 1 , m ) ( c , m ) ( m , m ) ( 1, mc ) ( c , mc ) ( m , mc ) ( mc ,
mc )
30. novembra 2006 Normálne formy 61
Definícia 5:
Pokiaľ funkcia g ( z definície 3 ) je inverznou funkciou k funkcii f,
prípadne je z inverznej funkcii odvodená,
budeme hovoriť o
type spojenia medzi A a B vzhľadom k funkcii f .