Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

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

Podobné prezentace


Prezentace na téma: "Relační datový model Základní ideje"— Transkript prezentace:

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

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

3 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…

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

5 Počet n-tic udává kardinalita relace
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

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

7 Integritní omezení Doménové Entitní Referenční

8 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)

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

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

11 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í).

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

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

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

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

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

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

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

19 Příklady normálních forem (1NF)
Stát Město Název auta Počet ČR Mladá Boleslav Škoda Fabia 100 150 Německo Kolín n/R Opel Vectra 20 80 25 Francie Paříž Renault 24

20 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 150 D3 Německo Kolín n/R Opel Vectra 20 80 25 D6 Francie Paříž Renault 24

21 Příklady normálních forem (2NF)
Číslo Typ Druh Výška 1 Smrk Jehličnatý 5 2 Jedle 3 12 4 Dub Listnatý 8

22 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 Druh Relace není v 3NF – tranzitivní závislost Aby byla relace v 3NF: Dekompozicí relace v 2NF dostaneme relace v 3NF.

23 Příklady normálních forem (3NF)
Číslo Typ Výška 1 Smrk 5 2 Jedle 3 12 4 Dub 8

24 Příklady normálních forem (3NF)
Typ Druh Smrk Jehličnatý Jedle Dub Listnatý

25 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) a RČ_zaměstnanců (Číslo_zam, RČ) Obě relace jsou v BCNF

26 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 zapisujeme F = 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

27 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

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

29 Armstrongovy axiomy 1. Reflexivita
Jestliž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. Augmentace Jestliž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. Tranzitivita Jestliže platí X  Y a zároveň Y  Z, pak taky platí X  Z

30 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ávislost 2. AB  ABC augmentace atributy AB 3. B  D daná závislost 4. ABC  ABCD augmentace atributy ABC 5. AB  ABCD tranzitivita Vš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.

31 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í pravidlo Jestliže X  Y & Z  Y, pak X  Z

32 Dodatečná deduktivní pravidla - důkaz
Pravidlo 1 X  Y daná závislost X  XY augmentace X X  Z daná závislost XY  YZ augmentace Y X  XY & X Y YZ implikuje X  YZ Pravidlo 2 WX  WY augmentace W WY  Z daná závislost WX  Z tranzitivita Pravidlo 3 Y  Z vyplývá z reflexivity X  Z tranzitivita

33 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í pravidlo A  C tranzitivita, vyplývající z F AB BC augmentace B ABC BC tranzitivita 2. Za X dosaďte postupně všechny atributy, které obsahují B, ale neobsahují A. BC  B dekompoziční pravidlo B  C předpoklad B  0 reflexivita 3. Za X dosaďte všechny atributy, které obsahují C, ale neobsahují ani A, ani B. C  C reflexivita C  0 reflexivita 0  0 reflexivita


Stáhnout ppt "Relační datový model Základní ideje"

Podobné prezentace


Reklamy Google