+ All Categories
Home > Documents > Relační datový model Základní ideje

Relační datový model Základní ideje

Date post: 23-Jan-2016
Category:
Upload: harry
View: 31 times
Download: 0 times
Share this document with a friend
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 Presentation
33
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. Pro omezení redundance dat v relační databázi jsou navrženy pojmy umožňující normalizovat relace.
Transcript
Page 1: Relační datový model Základní ideje

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

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

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

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

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

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

Integritní omezení

Doménové

Entitní

Referenční

Page 8: Relační datový model Základní ideje

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Recommended