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

Slides:



Advertisements
Podobné prezentace
DOTAZOVACÍ JAZYKY slajdy přednášce DBI006
Advertisements

Deduktivní soustava výrokové logiky
Úvod do databázových systémů
Jan Tichava Zdroj:
Přednáška č. 1 Úvod, Historie zpracování dat, Základní pojmy
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Ing. Monika Šimková. Máme-li data reprezentovat v databázi, jak vybereme jejich strukturu na konceptuální úrovni? Konceptuální modelování analyzuje požadavky.
Databáze.
Databázové systémy Relační algebra.
A5M33IZS – Informační a znalostní systémy Normální formy.
Pojmy z ERD.
Výpočetní technika Akademický rok 2006/2007 Letní semestr Mgr. Petr Novák Katedra informatiky a geoinformatiky FŽP UJEP
Databázové systémy Relační model.
Teorie zpracování dat Ukázková písemka. Kapitola 4 Je dána tabulka Zam (login, jmeno, plat, funkce), implementovaná je v SŘBD používajícím indexové soubory.
YDASYS Ing. Monika Šimková.
Databáze. Návrh Není to legrace a pro kvalitní databázi je nutné věnovat řadě věcem čas a je nutné použít i papír a tužku!!! Co je to databáze?
Úvod do Teorie množin.
1IT Relační datový model
Úvod do databázových systémů
Databáze Jiří Kalousek.
Cvičení 13 Ing. Pavel Bednář
Fakulta životního prostředí Katedra informatiky a geoinformatiky
KONCEPTUÁLNÍ MODELOVÁNÍ
Fakulta životního prostředí Katedra informatiky a geoinformatiky
DATOVÉ MODELY (c) Tralvex Yeap. All Rights Reserved.
Fakulta elektrotechniky a informatiky
Relační databáze.
1IT D OTAZOVACÍ JAZYKY V RELAČNÍCH DATABÁZÍCH Ing. Jiří Šilhán.
Normalizace.
Konceptuální návrh databáze
Informatika pro ekonomy II přednáška 10
Úvod do databázových systémů
Predikátová logika.
Teorie zpracování dat KONCEPTUÁLNÍ SCHÉMA.
Databázové systémy Přednáška č. 4.
Konceptuální návrh databáze
Teorie zpracování dat Návrh struktury databáze Funkční závislosti
Databázové modelování
Databázové systémy Relační model.
Teorie zpracování dat DATABÁZOVÁ TECHNOLOGIE.
Relace, operace, struktury
Úvod do databázových systémů
Databázové systémy Informatika pro ekonomy, př. 18.
FUNKCE. Závislost délky vegetační sezóny na nadmořské výšce
Množiny.
Aplikační a programové vybavení
Teorie zpracování dat RELAČNÍ DATOVÝ MODEL.
Databázové systémy Datové modely.
Databázové systémy Normalizace dat.
P114_21 P114 Klasické metody modelování RDM, ERAM 2.
Databázové systémy Úvod, Základní pojmy. Úvod S rozvojem lidského poznání roste prudce množství informací. Jsou kladeny vysoké požadavky na ukládání,
E-R diagram Entity – Relation diagram, diagram entit a vztahů mezi nimi Entity – objekty, které chci v databázi popisovat, mohou nabývat různých hodnot,
Návrh struktury - normalizace
Úvod do databází zkrácená verze.
● Databaze je soubor dat,slouží pro popis reálného světa(např.evidence čkolní knihovny..) ● Relační databaze je databáze založená na relačním modelu.
Úvod do databázových systémů
Kartézský součin Binární relace
Relační databázová technologie
Výpočetní technika Akademický rok 2008/2009 Letní semestr
Z3104 Geodatabáze úvod.
Databázové systémy 1 – KIT/IDAS1 Ing. Monika Borkovcová, Ph.D.
Z3104 Geodatabáze úvod.
Informatika pro ekonomy přednáška 8
1 Lineární (vektorová) algebra
Matematická logika 5. přednáška
Relační model databáze
Databázové systémy Normální formy.
Sémantika PL1 Interpretace, modely
Predikátová logika.
A5M33IZS – Informační a znalostní systémy
Transkript prezentace:

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.

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.

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…

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

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

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

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

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)

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

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.

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

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.

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.

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.

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

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.

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.

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.

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

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

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

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.

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

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

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

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

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

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

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

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.

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

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

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