Databázové systémy Tomáš Skopal

Podobné dokumenty
Relační datový model. Integritní omezení. Normální formy Návrh IS. funkční závislosti multizávislosti inkluzní závislosti

Úvod do databázových systémů 10. cvičení

UDBS Cvičení 10 Funkční závislosti

DATABÁZOVÝ SYSTÉM Proč databázový systém? Vrstvy modelování Konceptuální datové modelování

NORMALIZACE Část 2 1

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)

Úvod do databázových systémů

Úvod do databázových systémů. Cvičení 12 Ing. Martin Zwierzyna

Databáze. Logický model DB. David Hoksza

5. Formalizace návrhu databáze

5. Formalizace návrhu databáze

DBS Normální formy, normalizace

Databázové systémy Tomáš Skopal

Kvalita relačního schématu, normalizace

Teorie zpracování dat

TÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů

Databázové systémy. Úvod do teorie normalizace. Vilém Vychodil

Databázové systémy. Cvičení 3

7. Normální formy. PŘ: POJIŠŤOVNA Povinné ručení relace Platby

Obsah přednášky. Databázové systémy. Normalizace relací. Normalizace relací. Normalizace relací. Normalizace relací

Úvod do informatiky. Miroslav Kolařík

Databáze I. Přednáška 3

Databáze I. 4. přednáška. Helena Palovská

Hierarchický databázový model

Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky.

Analýza a modelování dat 3. přednáška. Helena Palovská

Normalizace rela ního schématu

Databázové systémy. Normálové formy + kandidátní klíče. 2.přednáška

Aritmetika s didaktikou I.

Zjednodušení generativního systému redukcí rozlišení

Databázové systémy. Tomáš Skopal. - úvod do relačního modelu. - převod konceptuálního schématu do relačního

Schéma identifikační procedury

4IT218 Databáze. 4IT218 Databáze

Princip rozšíření a operace s fuzzy čísly

Databázové systémy. * relační algebra. Tomáš Skopal. - relační model

PŘEDNÁŠKA 7 Kongruence svazů

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

Výroková a predikátová logika - X

11. blok Normalizace. Studijní cíl

Funkce, elementární funkce.

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Základy matematiky pro FEK

Predik atov a logika - pˇredn aˇska () Predik atov a logika - pˇredn aˇska / 16

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

Úvod do databázových systémů

Databázové a informační systémy

LOGICKÉ OBVODY 2 kombinační obvody, minimalizace

RELAČNÍ DATABÁZOVÉ SYSTÉMY

Databáze Bc. Veronika Tomsová

Materiál byl vytvořen v rámci projektu Nové výzvy, nové příležitosti, nová škola

10 Přednáška ze

Matematická analýza 1

Návrh databázového modelu

Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek

Výroková logika - opakování

(ne)závislost. α 1 x 1 + α 2 x α n x n. x + ( 1) x Vektoru y = ( 1) y říkáme opačný vektor k vektoru y. x x = 1. x = x = 0.

Ukážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní. stromový rozklad. Poznamenejme, že je-li k součástí vstupu, pak rozhodnout

Logika. 2. Výroková logika. RNDr. Luděk Cienciala, Ph. D.

postaveny výhradně na syntaktické bázi: jazyk logiky neinterpretujeme, provádíme s ním pouze syntaktické manipulace důkazy

TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 4. PREDNÁŠKA - SOUČIN PROSTORŮ A TICHONOVOVA VĚTA.

Teoretická informatika - Úkol č.1

Střední průmyslová škola Zlín

Strukturované metodologie

Databázové systémy BIK-DBS

Obsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel

popel, glum & nepil 16/28

Matematika 2 pro PEF PaE

1 Vektorové prostory.

Výroková logika dokazatelnost

HAZARDY V LOGICKÝCH SYSTÉMECH

Deskripční logika. Petr Křemen FEL ČVUT. Petr Křemen (FEL ČVUT) Deskripční logika 37 / 157

Matematický ústav Slezské univerzity v Opavě Učební texty k přednášce ALGEBRA I, zimní semestr 2000/2001 Michal Marvan. 2.

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,

Kapitola 6: Omezení integrity. Omezení domény

Matematická logika. Miroslav Kolařík

4. Základy relačních databází, logická úroveň návrhu

Matice. Přednáška MATEMATIKA č. 2. Jiří Neubauer. Katedra ekonometrie FEM UO Brno kancelář 69a, tel

Lineární algebra Kapitola 1 - Základní matematické pojmy

3 Množiny, Relace a Funkce

Goniometrie a trigonometrie

VI. Maticový počet. VI.1. Základní operace s maticemi. Definice. Tabulku

Relační databázový model. Vladimíra Zádová, KIN, EF, TUL- DBS

3. Podmíněná pravděpodobnost a Bayesův vzorec

Princip inkluze a exkluze

autorovu srdci... Petr Hliněný, FI MU Brno 1 FI: MA010: Průnikové grafy

4. NP-úplné (NPC) a NP-těžké (NPH) problémy

Bezkontextové jazyky 2/3. Bezkontextové jazyky 2 p.1/27

Kombinatorický předpis

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

Teoretická informatika Tomáš Foltýnek Algebra Struktury s jednou operací

Relační model dat (Codd 1970)

Třídy složitosti P a NP, NP-úplnost

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace

Kongruence na množině celých čísel

Základy maticového počtu Matice, determinant, definitnost

Úvod do lineární algebry

Doporučené příklady k Teorii množin, LS 2018/2019

Transkript:

Databázové systémy Tomáš Skopal - relační model * funkční závislosti, odvozování * normální formy

Osnova přednášky Armstrongova pravidla atributové a funkční uzávěry normální formy relačních schémat

Armstrongova pravidla Mějme R(A,F). Nechť X, Y, Z A a množinu funkčních závislostí F 1) jestliže Y X, potom X Y (triviální FZ, axiom) 2) jestliže X Y a Y Z, potom X Z (tranzitivita, pravidlo) 3) jestliže X Y a X Z, pak X YZ (kompozice, pravidlo) 4) jestliže pak X YZ, pak X Y a X Z (dekompozice,pravidlo)

Armstrongova pravidla Armstrongova pravidla: - jsou korektní - co z množiny F odvodíme, platí pro libovolnou instanci R - jsou úplná - lze jimi odvodit všechny FZ platné ve všech instancích R (vzhledem k danému F, samozřejmě) - 1,2,3 (triviální, tranzitivita, kompozice) jsou nezávislá - odstraněním jakéhokoliv z nich porušíme úplnost (dekompozice lze odvodit z triviální FZ a tranzitivity) Důkaz vyplývá z definice FZ, resp. z vlastností zobrazení.

Příklad odvozování FZ R(A,F) A = {a,b,c,d,e} F = {ab c, ac d, cd ed, e f} Lze odvodit např. FZ: ab a (triviální) ab ac (kompozice s ab c) ab d (tranzitivita s ac d) ab cd (kompozice s ab c) ab ed (tranzitivita s cd ed) ab e (dekompozice) ab f (tranzitivita)

Příklad odvození dekompozice R(A,F) A = {a,b,c} F = {a bc} Odvodíme: a bc bc b bc c a b a c (předpoklad dekompozice) (triviální FZ) (triviální FZ) (tranzitivita) (tranzitivita), tj. a bc a b a c

Funkční uzávěr uzávěr F + množiny FZ F (funkční uzávěr) je množina všech FZ odvoditelných Armstrongovými pravidly z FZ v F obecně exponenciální velikost vůči F závislost f je redundantní v F, jestliže platí (F {f}) + = F +, tj. f lze odvodit

Příklad funkční uzávěr R(A,F), A = {a,b,c,d}, F = {ab c, cd b, ad c} F + = {a a, b b, c c, ab a, ab b, ab c, cd b, cd c, cd d, ad a, ad c, ad d, abd a, abd b, abd c, abd d, abd abcd, atd...}

Pokrytí pokrytí množiny FZ F je libovolná množina FZ G taková, že F + = G + kanonické pokrytí = pokrytí tvořené elementárními FZ (dekomponujeme aby na pravé straně byly jednotlivé atributy) neredundantní pokrytí F je pokrytí F po odstranění všech redundantních závislostí pozor, záleží na pořadí odebírání původně redundantní FZ se může stát po odebrání nějaké jiné FZ neredundantní

Příklad pokrytí R1(A,F), R2(A,G), A = {a,b,c,d}, F = {a c, b ac, d abc}, G = {a c, b a, d b} Pro ověření G + = F + nemusím počítat celé uzávěry, stačí z FZ v F odvodit FZ v G a naopak, tj. F = {a c, b a, d b} dekompozice G = {a c, b ac, d abc } tranzitivita a kompozice G + = F + Schémata R1 a R2 jsou ekvivalentní, protože G je pokrytím F a sdílejí stejnou množinu atributů A. G je navíc minimální pokrytí, F není (minimální pokrytí viz dále).

Příklad redundantní FZ R1(A,F), R2(A,G), A = {a,b,c,d}, F = {a c, b a, b c, d a, d b, d c} závislosti b c, d a, d c jsou redundantní po jejich odebrání se nezmění F +, tj. lze je odvodit ze zbylých FZ b c vznikne tranzitivitou a c, b a d a vznikne tranzitivitou d b, b a d c vznikne tranzitivitou d b, b a, a c

Atributový uzávěr, klíč uzávěr množiny atributů X + vzhledem k F je množina všech atributů funkčně závislých na X důsledek pokud X + = A, potom X je nadklíč pokud obsahuje F závislost X Y a v X existuje atribut a takový, že Y (X a) +, nazýváme a atributem redundantním v X Y redukovaná FZ je taková, která na levé straně neobsahuje žádné redundantní atributy (jinak je částečná FZ) klíč je množina K A taková, že je nadklíč (tj. platí K A) a závislost K A je zároveň redukovaná klíčů může existovat více, vždy minimálně jeden pokud není v F žádná FZ, triviálně platí A A, tj. klíčem je celá množina A

Příklad atributový uzávěr R(A,F), A = {a,b,c,d}, F = {a c, cd b, ad c} {a}+ = {a,c} jinými slovy platí a c (+ triviální a a) {b}+ = {b} (triviální b b) {c}+ = {c} (triviální c c) {d}+ = {d} (triviální d d) {a,b}+ = {a,b,c} ab c (+ triviální) {a,d}+ = {a,b,c,d} ad bc (+ triviální) {c,d}+ = {b,c,d} cd b (+ triviální)

Příklad redundantní atribut R(A,F), A = {i,j,k,l,m}, F = {m k, lm j, ijk l, j m, l i, l k} Hypotéza: v ijk l je redundantní k, tj. platí ij l Důkaz: 1. podle hypotézy konstruujeme FZ ij? (všechno co lze odvodit) 2. při této konstrukci ijk l zůstává v F, protože my vlastně PŘIDÁVÁME novou FZ ij? a tudíž můžeme ijk l použít pro konstrukci atributového uzávěru {i,j} + 3. obdržíme {i,j} + = {i, j, m, k, l}, tj. platí i ij l, kterou přidáme do F (můžeme, protože je to prvek uzávěru F + ) 4. nyní zapomeneme, jak se do F dostala ij l, prostě tam patří 5. a protože ijk l lze odvodit triviálně z ij l, je to v F redundantní FZ a můžeme ji z F odstranit 6. jinými slovy, zlikvidovali jsme redundantní atribut k v ijk l Jinými slovy, převedli jsme redukci redundantního atributu ve FZ na problém redukce redundantní FZ v F.

Minimální pokrytí neredundantní kanonické pokrytí, které se skládá pouze z redukovaných FZ konstruuje se odstraněním nejprve redundantních atributů v závislostech a až potom redundantních závislostí (tj. záleží na pořadí) Příklad: abcd e, e d, a b, ac d Správné pořadí redukce: Špatné pořadí redukce: 1. b,d jsou redundantní 1. žádná redundantní závislost v abcd e, tj. odstraníme je 2. redundantní b,d v abcd e 2. ac d je redundantní (nyní ale není minimální pokrytí, protože ac d je redundantní)

První normální forma (1NF) Každý atribut schématu relace je elementárního typu a je nestrukturovaný. (1NF je základní podmínka plochosti databáze tabulka je opravdu dvourozměrné pole, ne např. skrytý strom nebo graf )

Příklad 1NF Osoba(Id: Integer, Jméno: String, Narozen: Date) je v 1NF Zaměstnanec(Id: Integer, Podřízení : Osoba[ ], Nadřízený : Osoba) není v 1NF (vnořená tabulka typu Osoba v atributu Podřízení a atribut Nadřízený je strukturovaný )

Druhá normální forma (2NF) neexistují částečné závislosti neklíčových atributů na (libovolném) klíči, tj. platí x NK KK : KK x (kde NK je množina neklíčových atributů a KK je podmnožina nějakého klíče) klíč klíčový(é) atribut(y) neklíčový atribut

Příklad 2NF (1) Firma DB server Sídlo Datum zakoupení Frantova firma Oracle Praha 1995 Frantova firma MS SQL Praha 2001 Pepova firma IBM DB2 Brno 2004 Pepova firma MS SQL Brno 2002 Pepova firma Oracle Brno 2005 Firma, DB Server všechno Firma Sídlo není ve 2NF, protože Sídlo závisí na části klíče (Firma) důsledek: redundance hodnot Sídla

Příklad 2NF (2) Firma DB server Datum zakoupení Frantova firma Oracle 1995 Frantova firma MS SQL 2001 Pepova firma IBM DB2 2004 Pepova firma MS SQL 2002 Pepova firma Oracle 2005 Firma, DB Server všechno Firma Sídlo Frantova firma Praha Pepova firma Brno Firma Sídlo obě schémata jsou ve 2NF

Tranzitivní závislost na klíči závislost A B taková, že A nějaký klíč (A není klíč ani nadklíč), tj. obdržíme tranzitivitu klíč A B Samo o sobě poukazuje na hrozbu redundance, neboť z definice FZ jako zobrazení: unikátní hodnoty klíč se zobrazí na stejně nebo méně unikátních hodnot A a ty se zobrazí na stejně nebo méně unikátních hodnot B Příklad v 2NF: PSČ Město Stát PSČ Město Stát CZ 118 00 Praha ČR CZ 190 00 Praha ČR CZ 772 00 Olomouc ČR CZ 783 71 Olomouc ČR SK 911 01 Trenčín SR žádná redundance střední redundance vysoká redundance

Třetí normální forma (3NF) žádný neklíčový atribut není tranzitivně závislý na žádném klíči klíč Y a protože výše uvedená definice není ověřitelná bez konstrukce F+, použijeme definici přímo pro efektivní ověření se znalostí pouze R(A, F) platí alespoň jedna z podmínek pro každou závislost X a (kde X A, a A) závislost je triviální X je nadklíč a je částí klíče X a X klíč a klíč X a

Příklad 3NF (1) Firma Sídlo PSČ Frantova firma Praha 11800 Martinova firma Ostrava 70833 Pavlova firma Brno 22012 Viktorova firma Praha 11000 Pepova firma Brno 22012 Firma všechno PSČ Sídlo je ve 2NF, není ve 3NF (tranzitivní závislost Sídla na klíči přes PSČ) důsledek: redundance hodnot Sídla

Příklad 3NF (2) Firma PSČ PSČ Sídlo Frantova firma 11800 Martinova firma 70833 Pavlova firma 22012 Viktorova firma 11000 Pepova firma 22012 Firma všechno 11800 Praha 70833 Ostrava 22012 Brno 11000 Praha PSČ všechno obě schémata jsou ve 3NF

Boyce-Coddova normální forma (BCFN) každý atribut je netranzitivně závislý na klíči přesněji, v daném schématu R(A, F) platí alespoň jedna z podmínek pro každou závislost X a (kde X A, a A) závislost je triviální X je nadklíč stejně jako 3NF bez poslední možnosti (a je součást klíče) a X a X klíč a klíč X

Příklad BCNF (1) Destinace Pilot Letadlo Den Paříž kpt. Ptáček Boeing #1 pondělí Paříž kpt. Ptáček Boeing #2 úterý Berlín kpt. Vogel Airbus #1 pondělí Pilot, Den všechno Letadlo, Den všechno Destinace Pilot je ve 3NF, není v BCNF (Pilot závisí na Destinaci, což není nadklíč) důsledek: redundance hodnot Pilot

Příklad BCNF (2) Destinace Paříž Berlín Pilot kpt. Ptáček kpt. Vogel Destinace Letadlo Den Paříž Boeing #1 pondělí Paříž Boeing #2 úterý Berlín Airbus #1 pondělí Destinace Pilot Letadlo, Den všechno nyní jsou obě schémata je v BCNF

Další normální formy 4NF multizávislosti 5NF