relační datový model základní ideje
DESCRIPTION
Relační datový model Základní ideje. RMD důsledně odděluje data, která jsou chápána jako relace , od jejich implementace. Pro manipulaci s daty jsou k dispozici dva silné prostředky - relační kalkul a relační algebra . - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/1.jpg)
Relační datový modelZákladní ideje
RMD důsledně odděluje data, která jsou chápána jako relace, od jejich implementace.
Pro manipulaci s daty jsou k dispozici dva silné prostředky - relační kalkul a relační algebra.
Pro omezení redundance dat v relační databázi jsou navrženy pojmy umožňující normalizovat relace.
![Page 2: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/2.jpg)
Definice RMD
Mějme množiny D1, D2, D3,....... Dn.
Z každé vybereme 1 prvek → vytvoříme uspořádanou n-tici.
Množina všech n-tic tvoří kartézský součin.
Relace je každá podmnožina kartézského součinu.
Z hlediska databázových systémů jsou množiny D1, D2, D3,....... Dn množiny hodnot atributů a
označují se jako domény.
![Page 3: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/3.jpg)
RMD má jediný konstrukt -
databázovou relaci.
Celá složitá realita je transformována do relací. Toto je jedno z velkých omezení
relační databázové technologie.
Otázka: Je to možné, je to únosné? Jak dál…
![Page 4: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/4.jpg)
V čem se databázová relace liší od matematické?
• Databázová relace je vybavena pomocnou strukturou, které se říká schéma relace. Schéma relace se skládá ze jména relace, jmen atributů a domén.
• Prvky domén, ze kterých se berou jednotlivé komponenty prvků relace, jsou atomické hodnoty. Tomuto omezení se říká 1.normální forma relací (1NF).
![Page 5: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/5.jpg)
Zápis schématu relace
Schéma relace lze zapsat:
R(A1:D1,....An:Dn)
Prvkům relace se říká n-tice (také instance)
n určuje řád relace
Počet n-tic udává kardinalita relace
![Page 6: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/6.jpg)
Zápis schématu relační databáze
Schéma relační databáze je dvojice (R,I),
kde R je množina schémat relací,
I je množina integritních omezení.
![Page 7: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/7.jpg)
Integritní omezení
Doménové
Entitní
Referenční
![Page 8: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/8.jpg)
Doménové IO
Doménové IO přiřazuje pro každý atribut relace předem definovanou doménu jeho
hodnot.
Doménové IO je definováno:• datovým typem atributu
• podmínkami platnosti (logickými formulemi)
![Page 9: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/9.jpg)
Entitní IO
Entitní IO zabezpečuje Primární klíč (PK) relace.• Primární klíč je množina atributů K A, kde
A je množina všech atributů relace R, jejichž hodnoty jednoznačně určují n-tice (instance) relace R.
• K je minimální v tom smyslu, že nelze z K odebrat žádný atribut, aniž by to narušilo identifikační vlastnost.
• Z podstaty RMD vyplývá, že každá relace má primární klíč. Protože relace jsou množiny, nesmí relace obsahovat duplicitní n-tice (instance).
![Page 10: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/10.jpg)
Referenční IO
Referenční integrita je omezení, které omezuje vztahy mezi daty ve dvou
relacích. Atribut, kterého se referenční integrita týká se nazývá cizí klíč (foreign
key - FK).Jestliže relace obsahuje cizí klíč, její n-tice jsou závislé na existenci n-tic v nadřazené relaci.Hodnota FK se musí vyskytovat jako
hodnota PK v nadřazené relaci.
![Page 11: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/11.jpg)
Podmínky pro relační tabulky
• Všechny hodnoty v tabulce musí být elementární (podmínka 1.NF).
• Sloupce mohou být v libovolném pořadí.• Řádky mohou být v libovolném pořadí.• Sloupce musí být homogenní = ve sloupci musí být
údaje stejného typu (doménové integritní omezení).• Každému sloupci musí být přiřazeno jednoznačné
jméno (tzv. atribut).• V relační tabulce nesmí být dva zcela stejné řádky.
tzn., že každý řádek je jednoznačně rozlišitelný (entitní integritní omezení).
![Page 12: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/12.jpg)
Funkční závislosti atributů
Nechť R(A:D) je relační schéma,
X A, Y A
jsou jednoduché nebo složené atributy.
Y je funkčně závislý na atributu X, značíme
( X Y ), platí-li pro každou instanci relace R,
že pro každou hodnotu atributu X existuje nejvýše jedna hodnota atributu Y.
![Page 13: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/13.jpg)
Funkční závislosti atributů
Atribut Y je úplně funkčně závislý na
složeném atributu X, je-li na X funkčně
závislý a zároveň není funkčně závislý na
žádné z jeho složek.
![Page 14: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/14.jpg)
Funkční závislosti atributů
Nechť X, Y, Z jsou atributy (jednoduché
nebo složené) daného relačního schématu
a nechť mezi dvojicemi atributů platí:
X Y Y Z (Y X).
Pak je atribut Z tranzitivně závislý na
atributu X.
![Page 15: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/15.jpg)
Normální formy relací
Relace R je v 1 NF, jestliže jsou všechny její
atributy atomické, tj. dále nedělitelné. Toto
omezení je příliš silné a stává se hlavní
nevýhodou relačních databází.
![Page 16: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/16.jpg)
Normální formy relací
Relace R je v 2 NF, je-li v první normální
formě (1 NF) a jestliže pro každý neklíčový
atribut platí, že je úplně funkčně závislý
na primárním klíči.
![Page 17: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/17.jpg)
Normální formy relací
Relace R je v 3 NF, je-li ve 2 NF a platí-li, že
žádný neklíčový atribut není tranzitivně
závislý na žádném klíči relace R.
![Page 18: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/18.jpg)
Normální formy relací
Relace R je v Boyce-Coddově NF ( BCNF),
je-li v 1 NF a platí-li pro každou funkční
závislost X A , která není triviální, že X
je klíčem v R a A je neklíčový atribut.
![Page 19: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/19.jpg)
Příklady normálních forem (1NF)
Stát Město Název auta
Počet
ČR Mladá Boleslav
Škoda Fabia
100
ČR Mladá Boleslav
Škoda Fabia
150
Německo Kolín n/R Opel Vectra
20
Německo Kolín n/R Opel Vectra
80
Německo Kolín n/R Opel Vectra
25
Francie Paříž Renault 24
![Page 20: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/20.jpg)
Příklady normálních forem (2NF)
Název Stát Město Název auta
Počet
D1 ČR Mladá Boleslav
Škoda Fabia
100
D1 ČR Mladá Boleslav
Škoda Fabia
150
D3 Německo Kolín n/R Opel Vectra
20
D3 Německo Kolín n/R Opel Vectra
80
D3 Německo Kolín n/R Opel Vectra
25
D6 Francie Paříž Renault 24
![Page 21: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/21.jpg)
Příklady normálních forem (2NF)
Číslo Typ Druh Výška
1 Smrk Jehličnatý 5
2 Jedle Jehličnatý 3
3 Smrk Jehličnatý 12
4 Dub Listnatý 8
5 Dub Listnatý 5
![Page 22: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/22.jpg)
Příklady normálních forem (2NF)
Funkční závislosti atributů:• Číslo Typ• Číslo Druh• Číslo Výška• Typ DruhČíslo Typ & Typ Druh ↔ Číslo DruhRelace není v 3NF – tranzitivní závislostAby byla relace v 3NF:• Dekompozicí relace v 2NF dostaneme
relace v 3NF.
![Page 23: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/23.jpg)
Příklady normálních forem (3NF)
Číslo Typ Výška
1 Smrk 5
2 Jedle 3
3 Smrk 12
4 Dub 8
5 Dub 5
![Page 24: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/24.jpg)
Příklady normálních forem (3NF)
Typ Druh
Smrk Jehličnatý
Jedle Jehličnatý
Dub Listnatý
![Page 25: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/25.jpg)
Příklady normálních forem (BCNF)
Odstraňuje závislosti kandidátů primárního klíče.Zaměstnanec (Číslo_zam, RČ, Jméno, Příjmení, Funkce)Kandidáti PK: Číslo_zam a RČ
Funkční závislosti:Kromě všech závislostí neklíčových atributů na kandidátech PK,
ex. i závislost kandidátů PK navzájem.
Relace není v CBNF.Dekompozice:Zaměstnanec (Číslo_zam, Jméno, Příjmení, Funkce)aRČ_zaměstnanců (Číslo_zam, RČ)Obě relace jsou v BCNF
![Page 26: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/26.jpg)
Dedukce funkčních závislostíNechť R je relační schéma a A, B, C je podmnožina jeho atributů.
Dále předpokládejme funkční závislosti: A B a B C. Z těchto závislostí lze předpokládat A C (tranzitivita).
Označme F jako množinu funkčních závislostí pro R (A B a B C) a X Y jako libovolnou funkční závislost. Řekneme-li, že F logicky implikuje X Y, pak každý prvek relačního
schématu R, který splňuje závislosti v F, splňuje i závislost X Y a zapisujemeF = X Y
V našem případě relačního schématu R pak tuto skutečnost zapíšeme: A B, B C= A C
![Page 27: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/27.jpg)
Uzávěr množiny funkčních závislostí
F+ je uzávěrem F tehdy, platí-li, že všechny
závislosti v F+ jsou logickými důsledky
v F.
A zapisujeme:
F+ = X Y F = X Y
![Page 28: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/28.jpg)
Kandidáti primárního klíče a funkční závislosti
Mějme schéma R(A1,A2,....,An) a funkční závislosti F. Nechť X je podmnožina
{A1,A2,....,An}. Pak o X lze říci, že je kandidátem primárního klíče v R, jestliže:
1. X A1A2....,An je v F+
Závislost všech atributů A1,A2,....,Anna atributu X je daná nebo logicky vyplývá.
2. Neexistuje Y X, pro které by platilo
Y A1A2....,An v F+.
![Page 29: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/29.jpg)
Armstrongovy axiomy
1. ReflexivitaJestliže Y X U, pak závislost X Y je logicky
implikována. Na složeném atributu A1A2,....An je funkčně závislý každý atribut Ai, který je jeho složkou.
2. AugmentaceJestliže platí X Y ve schématu R a Z je podmnožinou
atributů U, pak taky platí: XZ YZ (XZ je zkrácené označení X Z).3. TranzitivitaJestliže platí X Y a zároveň Y Z, pak taky platí X Z
![Page 30: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/30.jpg)
Armstrongovy axiomy
Příklad:Mějme schéma R(A,B,C,D) s funkčními závislostmi A C,
B D. Zvolme primárním klíčem složený atribut AB jako jediný. Dokažte, že AB je jediným kandidátem
primárního klíče.1. A C daná závislost2. AB ABC augmentace atributy AB3. B D daná závislost4. ABC ABCD augmentace atributy ABC5. AB ABCD tranzitivitaVšechny atributy relačního schématu R jsou závislé na klíči
AB a přitom nejsou závislé na jeho složkách A, B.
![Page 31: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/31.jpg)
Dodatečná deduktivní pravidla
1. Pravidlo spojení X Y, X Z = X YZ
2. Pravidlo pseudotranzitivity X Y, WY Z = WX Z
3. Dekompoziční pravidloJestliže X Y & Z Y, pak X Z
![Page 32: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/32.jpg)
Dodatečná deduktivní pravidla - důkaz
Pravidlo 1X Y daná závislostX XY augmentace XX Z daná závislostXY YZ augmentace YX XY & X Y YZ implikuje X YZPravidlo 2X Y daná závislostWX WY augmentace WWY Z daná závislostWX Z tranzitivitaPravidlo 3Y Z vyplývá z reflexivityX Y daná závislostX Z tranzitivita
![Page 33: Relační datový model Základní ideje](https://reader035.vdocuments.mx/reader035/viewer/2022062315/568151c6550346895dbffb0b/html5/thumbnails/33.jpg)
Dodatečná deduktivní pravidla
Příklad:Mějme schéma R(A,B,C) a F = A B, B C. Určete F+.Řešení:1. Za X dosaďte postupně všechny atributy, obsahující A.ABC AB dekompoziční pravidloA C tranzitivita, vyplývající z FAB BC augmentace BABC BC tranzitivita
2. Za X dosaďte postupně všechny atributy, které obsahují B, ale neobsahují A.BC B dekompoziční pravidloB C předpokladB 0 reflexivita
3. Za X dosaďte všechny atributy, které obsahují C, ale neobsahují ani A, ani B.C C reflexivitaC 0 reflexivita0 0 reflexivita