Normálne formy

Preview:

DESCRIPTION

Normálne formy. www.cs.cas.cz/~stuller stuller@cs.cas.cz. Závislosti. Prvá normálna forma(1. NF) Silná závislosť ~ funkčná závislosť triviálne FZ ( FD - Functional dependency / ies ) Úplná FZ (~ kľuč …) (2. NF). Úplná funkčná závislosť. Majme - PowerPoint PPT Presentation

Citation preview

Normálne formyNormálne formy

www.cs.cas.cz/~stuller

stuller@cs.cas.cz

24. novembra 2005 Normálne formy 2

ZávislostiZávislosti

Prvá normálna forma (1. NF)

Silná závislosť~ funkčná závislosť– triviálne FZ

(FD - Functional dependency/ies)

Úplná FZ (~ kľuč …) (2. NF)

24. novembra 2005 Normálne formy 3

Úplná funkčná závislosťÚplná funkčná závislosť

Majme

[ reláciu R nad relačnou schémou S ( A ), a ]

dve (pod)množiny atribútov B, C A.

Množina atribútov C [ v R ]

úplne závisí na množine atribútov B ak platí:

1. B →(R) C

2. pre žiadnu vlastnú podmnožinu B neplatí 1.

24. novembra 2005 Normálne formy 4

2. Normálna forma2. Normálna forma

Relácia / relačné schéma ( v 1. NF ) je v tzv.

druhej normálnej forme ( 2. NF )

ak každý nekľúčový atribút

(danej relácie / relačnej schémy)

úplne závisí na každom kľúči

(relácie / relačnej schémy).

24. novembra 2005 Normálne formy 5

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

24. novembra 2005 Normálne formy 6

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

24. novembra 2005 Normálne formy 7

Príklad 1Príklad 1

Let Deň Pilot Dráha

Dráha nezávisí úplne na kľúči ( Let, Deň ):– Let → Dráha– Nejedná sa o reláciu (relačnú schému) v 2 N F .

24. novembra 2005 Normálne formy 8

Príklad 2Príklad 2

Let Deň Pilot Identifikačné číslo pilota

110 13. 10. 2004 Jano 2

111 3. 5. 2004 Peter 3

110 19.11.2004 Peter 3

24. novembra 2005 Normálne formy 9

Príklad 2Príklad 2

Let Deň Pilot Identifikačné číslo pilota

110 13. 10. 2004 Jano 2

111 3. 5. 2004 Peter 3

110 19.11.2004 Peter 3

24. novembra 2005 Normálne formy 10

Príklad 2Príklad 2

Let, Deň → Pilot Let, Deň → Identifikačné číslo pilota

→ 2NF

Let Deň Pilot Identifikačné číslo pilota

24. novembra 2005 Normálne formy 11

NejednoznačnosťNejednoznačnosť dekompozície dekompozície

Výsledkom môžu byť rôzne množiny relácií v 2NF.

Reláciám/relačným schémam,

ktoré patria do množiny s

najmenším možným počtom

relácií/relačných schém v 2 N F ,

sa hovorí, že sú v tzv. optimálnej 2 N F .

( o 2 N F ) .

24. novembra 2005 Normálne formy 12

z 2 N Fz 2 N F

Relácii/relačnej schéme,

v ktorej ľubovoľný atribút úplne závisí na

každom kľúči relácie, sa hovorí, že sú v tzv.

zosilnenej 2 N F .

( z 2 N F ) .

24. novembra 2005 Normálne formy 13

Nezávislá množinaNezávislá množina

Majme

[ reláciu R nad relačnou schémou S ( A ) ], a

množinu atribútov A1 A .

Množina atribútov A1 [ v R ] je nezávislá

ak žiadny jej prvok nezávisí silne na ostatných.

24. novembra 2005 Normálne formy 14

3. Normálna forma3. Normálna forma

Relácia / relačná schéma v 2 N F je v tzv.

tretej normálnej forme,

ak množina všetkých jej

nekľúčových atribútov, je nezávislá.

( 3. N F )

24. novembra 2005 Normálne formy 15

Príklad 2Príklad 2

Let, Deň → Pilot Let, Deň → Identifikačné číslo pilota

→ 2NF

Let Deň Pilot Identifikačné číslo pilota

24. novembra 2005 Normálne formy 16

Príklad 2Príklad 2

Pilot → Identifikačné číslo pilota Identifikačné číslo pilota → Pilot

Pilot ↔ Identifikačné číslo pilota

Nie je v 3. NF !!!

Let Deň Pilot Identifikačné číslo pilota

24. novembra 2005 Normálne formy 17

Príklad 3Príklad 3

Let Deň Pilot

3 N F R = R1 * R2

Pilot Identifikačné číslo pilota

24. novembra 2005 Normálne formy 18

Relácia 1Relácia 1

SPZ Značka Typ Výkon Farba

PUE – 47 - 12 Ford Escort 66 červená

ACZ – 47 - 18 Honda Civic 70 fialová

A02 9579 Honda Accord 108 strieborná

24. novembra 2005 Normálne formy 19

Relácia 2Relácia 2

SPZ Typ Farba

PUE – 47 - 12 Escort červená

ACZ – 47 - 18 Civic fialová

A02 9579 Accord strieborná

24. novembra 2005 Normálne formy 20

Relácia 3Relácia 3

Typ Značka Výkon

Escort Ford 66

Civic Honda 70

Accord Honda 108

24. novembra 2005 Normálne formy 21

Príklad 4Príklad 4

SPZ Značka Typ Výkon Farba

SPZ Typ Farba

Typ Značka Výkon

24. novembra 2005 Normálne formy 22

Relácia 4Relácia 4

SPZ Typ

PUE – 47 - 12 Escort

ACZ – 47 - 18 Civic

A02 9579 Accord

24. novembra 2005 Normálne formy 23

Relácia 5Relácia 5

SPZ Farba

PUE – 47 - 12 červená

ACZ – 47 - 18 fialová

A02 9579 strieborná

24. novembra 2005 Normálne formy 24

Relácia 6Relácia 6

Typ Značka

Escort Ford

Civic Honda

Accord Honda

24. novembra 2005 Normálne formy 25

Relácia 7Relácia 7

Typ Výkon

Escort 66

Civic 70

Accord 108

24. novembra 2005 Normálne formy 26

Príklad 5Príklad 5

SPZ Typ SPZ Farba

Typ Značka Typ Výkon

24. novembra 2005 Normálne formy 27

Príklad 4Príklad 4

SPZ Značka Typ Výkon Farba

SPZ Typ Farba

Typ Značka Výkon

24. novembra 2005 Normálne formy 28

NejednoznačnosťNejednoznačnosť dekompozície dekompozície Výsledkom môžu byť rôzne množiny relácií v 3. NF.

Reláciám/relačným schémam,

ktoré patria do množiny s

najmenším možným počtom

relácií/relačných schém v 3. N F ,

sa hovorí, že sú v tzv. optimálnej 3. N F .

( o 3. N F ) .

24. novembra 2005 Normálne formy 29

Tranzitívna závislosťTranzitívna závislosť

Majme

[ reláciu R nad relačnou schémou S ( A ), a ]

množinu atribútov B, C, A1 A .

A1 tranzitívne závisí na B [ v R ]

práve vtedy ak

B →(R) C , C (R) B , C →(R) A1

a A1 ( B U C ) .

24. novembra 2005 Normálne formy 30

ZávislostiZávislosti

Silná závislosť~ funkčná závislosť

Úplná FZ (2. NF)

Tranzitívna závislosť (3. NF ‘)

24. novembra 2005 Normálne formy 31

Príklad 6Príklad 6

Let, Deň → Pilot Pilot Let, Deň Pilot → Identifikačné číslo pilota Identifikačné číslo pilota (Let, Deň Pilot)

→ IčP tranzitívne závisí na Letu a Dni.

Let Deň Pilot Identifikačné číslo pilota

24. novembra 2005 Normálne formy 32

3. NF ’3. NF ’

Relácia (relačná schéma) v 1 N F je v tzv.

( 3 N F ) ‘ ,

ak žiadny nekľúčový atribút

tranzitívne nezávisí na žiadnom kľúči.

24. novembra 2005 Normálne formy 33

LemyLemy

( 3 N F ) ' → 2 N F

( 3 N F ) ‘↔ ( 3 N F )

24. novembra 2005 Normálne formy 34

Príklad 7Príklad 7PSČ ( Kód, Mesto, Ulica)

– PSČ ( Kód, Mesto, Ulica)

– Mesto, Ulica → Kód– Kód → Mesto

1NF 2NF 3NF

24. novembra 2005 Normálne formy 35

Príklad 8Príklad 8

Kód-Mesto ( Kód , Mesto )Kód-Ulica ( Kód, Ulica )

– Kód-Mesto ( Kód , Mesto )– Kód-Ulica ( Kód, Ulica )

FZ:– Kód → Mesto– Kód, Ulica → Kód, Ulica– Ulica, Mesto → Kód ? (stratila sa ...)

24. novembra 2005 Normálne formy 36

BCNFBCNF

Relácia (relačná schéma) v 1. NF je v tzv.

Boyce-Coddovej normálnej forme

ak žiadny atribút

tranzitívne nezávisí na žiadnom kľúči.

Značenie: BCNF

Poznámka: vypadlo „nekľúčový“ ...

24. novembra 2005 Normálne formy 37

PoznámkyPoznámky

(Príklad 8) Stratili sme FZ …

Dekompozícia bez straty informácie– Lossless decomposition– Dependency preserving decomposition

~ zosilnená 3. NF …

24. novembra 2005 Normálne formy 38

ZávislostiZávislosti

Silná závislosť (~ funkčná závislosť) triviálne FZ (FD - Functional dependency/ies)

– Úplná FZ (~ klúč …) 2NF (o2NF, z2NF)

– Tranzitívna 3NF (o3NF, z3NF) BCNF

– 1NF 2NF 3NF– 1NF 2NF 3NF BCNF– 1NF 2NF z2NF 3NF z3NF = BCNF

24. novembra 2005 Normálne formy 39

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

24. novembra 2005 Normálne formy 40

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

24. novembra 2005 Normálne formy 41

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

24. novembra 2005 Normálne formy 42

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

24. novembra 2005 Normálne formy 43

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á“)

24. novembra 2005 Normálne formy 44

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

24. novembra 2005 Normálne formy 45

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

24. novembra 2005 Normálne formy 46

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,

24. novembra 2005 Normálne formy 47

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

24. novembra 2005 Normálne formy 48

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 ) ] }

24. novembra 2005 Normálne formy 49

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

24. novembra 2005 Normálne formy 50

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}

24. novembra 2005 Normálne formy 51

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 ) ] }

24. novembra 2005 Normálne formy 52

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

24. novembra 2005 Normálne formy 53

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á }

24. novembra 2005 Normálne formy 54

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,

24. novembra 2005 Normálne formy 55

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 )

24. novembra 2005 Normálne formy 56

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

24. novembra 2005 Normálne formy 57

Multi-valued dependenciesMulti-valued dependencies

Značenie: X →→R Y

Prednáška →→ R Prednášajúci

Prednáška →→ R Skriptá

24. novembra 2005 Normálne formy 58

MVDMVD

X →→ R Y ↔ X →→ R Z

→X →→ R Y │ Z

X → R Y ? X →→ R Y

24. novembra 2005 Normálne formy 59

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

24. novembra 2005 Normálne formy 60

Príklad 1Príklad 1

Let Deň Pilot Dráha

Let → Dráha

24. novembra 2005 Normálne formy 61

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

24. novembra 2005 Normálne formy 62

MVDMVD

X → R Y → X →→ R Y

24. novembra 2005 Normálne formy 63

Triviálna MZTriviálna MZ

Definícia 2

Nech X U Y = A .Potom:

– X →→ R – X →→ R Y

nazveme triviálnymi MZ.

24. novembra 2005 Normálne formy 64

MVDMVD

X → R Y → X →→ R Y

24. novembra 2005 Normálne formy 65

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,

24. novembra 2005 Normálne formy 66

Triviálna MVDTriviálna MVD

Y = Y = X Y X 4. NF:

X →→ R Y → K X

24. novembra 2005 Normálne formy 67

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

24. novembra 2005 Normálne formy 68

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

24. novembra 2005 Normálne formy 69

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,

24. novembra 2005 Normálne formy 70

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

24. novembra 2005 Normálne formy 71

KlúčeKlúče

Degustátor Víno Výrobca

Jano Chablis Jean Claude

Jano Beaujolais Nicolas

Peter Chablis Nicolas

Jano Chablis Nicolas

24. novembra 2005 Normálne formy 72

Join dependenciesJoin dependencies

Neexistujú:

Degustátor →→ R Víno

Víno →→ R Výrobca

Výrobca →→ R Degustátor

24. novembra 2005 Normálne formy 73

KlúčeKlúče

Degustátor Víno Výrobca

Jano Chablis Jean Claude

Jano Beaujolais Nicolas

Peter Chablis Nicolas

Jano Chablis Nicolas

24. novembra 2005 Normálne formy 74

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

24. novembra 2005 Normálne formy 75

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 ]

24. novembra 2005 Normálne formy 76

Ale tiež platí …Ale tiež platí …

R = R [ Degustátor , Vino ]

* R [ Vino , Výrobca ]

* R [ Degustátor , Výrobca ]

24. novembra 2005 Normálne formy 77

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,

24. novembra 2005 Normálne formy 78

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)

24. novembra 2005 Normálne formy 79

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 )

predstavujú určité o b m e d z e n i a ,

24. novembra 2005 Normálne formy 80

Integrity ConstraintsIntegrity Constraints

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

24. novembra 2005 Normálne formy 81

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)

24. novembra 2005 Normálne formy 82

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 > .

24. novembra 2005 Normálne formy 83

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,

24. novembra 2005 Normálne formy 84

Logická schémaLogická schéma

Definícia 5

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.

24. novembra 2005 Normálne formy 85

Značenie:

Σ = { Si ; i , k N; Si je relačná schéma }

24. novembra 2005 Normálne formy 86

Relačný model realityRelačný model reality

Definícia 8

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 Σ ) }