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

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

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.

Podobné prezentace


Prezentace na téma: "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."— 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 D 1, D 2, D 3, D n. 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 D 1, D 2, D 3, D n 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 Zápis schématu relace Schéma relace lze zapsat: R(A 1 :D 1,....A n :D n ) 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átMěstoNázev auta Počet ČRMladá Boleslav Škoda Fabia 100 ČRMladá Boleslav Škoda Fabia 150 NěmeckoKolín n/ROpel Vectra 20 NěmeckoKolín n/ROpel Vectra 80 NěmeckoKolín n/ROpel Vectra 25 FranciePařížRenault24

20 Příklady normálních forem (2NF) NázevStátMěstoNázev auta Počet D1ČRMladá Boleslav Škoda Fabia 100 D1ČRMladá Boleslav Škoda Fabia 150 D3NěmeckoKolín n/ROpel Vectra 20 D3NěmeckoKolín n/ROpel Vectra 80 D3NěmeckoKolín n/ROpel Vectra 25 D6FranciePařížRenault24

21 Příklady normálních forem (2NF) ČísloTypDruhVýška 1SmrkJehličnatý5 2JedleJehličnatý3 3SmrkJehličnatý12 4DubListnatý8 5DubListnatý5

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) ČísloTypVýška 1Smrk5 2Jedle3 3Smrk12 4Dub8 5 5

24 Příklady normálních forem (3NF) TypDruh SmrkJehličnatý JedleJehličnatý DubListnatý

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(A 1,A 2,....,A n ) a funkční závislosti F. Nechť X je podmnožina {A 1,A 2,....,A n }. Pak o X lze říci, že je kandidátem primárního klíče v R, jestliže: 1. X  A 1 A 2....,A n je v F+ Závislost všech atributů A 1,A 2,....,A n na atributu X je daná nebo logicky vyplývá. 2. Neexistuje Y  X, pro které by platilo Y  A 1 A 2....,A n 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  Cdaná závislost 2. AB  ABCaugmentace atributy AB 3. B  Ddaná závislost 4. ABC  ABCDaugmentace atributy ABC 5. AB  ABCDtranzitivita 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  Ydaná závislost X  XYaugmentace X X  Zdaná závislost XY  YZaugmentace Y X  XY & X Y  YZ implikuje X  YZ Pravidlo 2 X  Ydaná závislost WX  WYaugmentace W WY  Zdaná závislost WX  Ztranzitivita Pravidlo 3 Y  Zvyplývá z reflexivity X  Ydaná závislost X  Ztranzitivita

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


Stáhnout ppt "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."

Podobné prezentace


Reklamy Google