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

Podobné dokumenty
Databázové systémy. Přirozené spojení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 4) Přirozené spojení Databázové systémy 1 / 41

5. Formalizace návrhu databáze

Databázové systémy. Integritní omezení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 1 / 33

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

5. Formalizace návrhu databáze

Databázové systémy. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 1 / 37

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í

DBS Normální formy, normalizace

Databáze. Logický model DB. David Hoksza

Normální formy, referenční integrita, návrh databáze, interakce s ostatními jazyky

Databázové systémy. Relační model dat. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 2) Relační model dat Databázové systémy 1 / 43

Databázové systémy Tomáš Skopal

Databázové systémy. Ostatní typy spojení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 1 / 34

Databázové systémy. Agregace, sumarizace, vnořené dotazy. Vilém Vychodil

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

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

NORMALIZACE Část 2 1

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

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

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

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

RELATIONAL DATA ANALYSIS

J. Zendulka: Databázové systémy 4 Relační model dat 1

Základní pojmy teorie množin Vektorové prostory

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

Matematická logika. Miroslav Kolařík

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

11. blok Normalizace. Studijní cíl

Kvalita relačního schématu, normalizace

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Úvod do informatiky. Miroslav Kolařík

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

Matematická logika. Miroslav Kolařík

4. Relační model dat. J. Zendulka: Databázové systémy 4 Relační model dat 1

Normalizace rela ního schématu

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

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

4IT218 Databáze. 4IT218 Databáze

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

Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie.

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

Databáze Bc. Veronika Tomsová

Pravděpodobnost a statistika

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í

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

Relační model dat (Codd 1970)

Výroková logika dokazatelnost

Náhled testu. Přijímací zkouška magisterského studia. konečný automat bez zbytečných stavů, který přijímá jazyk popsaný tímto výrazem, má:

prof. RNDr. Čestmír Burdík DrCs. prof. Ing. Edita Pelantová CSc. BI-ZMA ZS 2009/2010

Náhled testu. Přijímací zkouška magisterského studia. konečný automat bez zbytečných stavů, který přijímá jazyk popsaný tímto výrazem, má:

Teorie zpracování dat

RELAČNÍ DATABÁZOVÉ SYSTÉMY

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

Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ). Čísla a 1, a 2,..., a n se nazývají složky vektoru

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

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

Databázové systémy úvod

Dotazování v relačním modelu a SQL

Jiří Mašek BIVŠ V Pra r ha

Úvod do informatiky. Miroslav Kolařík

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

Odpřednesenou látku naleznete v kapitole 3.1 skript Abstraktní a konkrétní lineární algebra.

Databázové systémy BIK-DBS

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek

Databázové systémy. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 1) Úvod do databázových systémů Databázové systémy 1 / 31

1 Báze a dimenze vektorového prostoru 1

Databázové systémy úvod

Základy logiky a teorie množin

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

Archivace relačních databází

Lineární algebra : Polynomy

Množiny, relace, zobrazení

Vědecký tutoriál, část I. A Tutorial. Vilém Vychodil (Univerzita Palackého v Olomouci)

NÁZEV ROČNÍKOVÉ PRÁCE ročníková práce

Matematická logika. Rostislav Horčík. horcik

Matematická logika. Rostislav Horčík. horcik

Modely Herbrandovské interpretace

Michal Valenta DBS Databázové modely 2. prosince / 35

George J. Klir Vilem Vychodil (Palacky University, Olomouc) State University of New York (SUNY) Binghamton, New York 13902, USA

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

Technické informace. PA152,Implementace databázových systémů 4 / 25. Projekty. pary/pa152/ Pavel Rychlý

RNDr. Jakub Lokoč, Ph.D. RNDr. Michal Kopecký, Ph.D. Katedra softwarového inženýrství Matematicko-Fyzikální fakulta Univerzita Karlova v Praze

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

Organizace. Zápočet: test týden semestru (pátek) bodů souhrnný test (1 pokus) Zkouška: písemná část ( 50 bodů), ústní část

Geografické informační systémy p. 1

Matice. a m1 a m2... a mn

NAIVNÍ TEORIE MNOŽIN, okruh č. 5

Databázové systémy Tomáš Skopal

Analýza dat a modelování. Přednáška 3

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

Databázové systémy úvod

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

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

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu prof. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.

1 Vektorové prostory.

Tvorba informačních systémů

3 Lineární kombinace vektorů. Lineární závislost a nezávislost

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

Transkript:

Databázové systémy Úvod do teorie normalizace Vilém Vychodil KMI/DATA1, Přednáška 12 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 12) Úvod do teorie normalizace Databázové systémy 1 / 10

Přednáška 12: Přehled 1 Boyce-Coddova normální forma: formulace normální formy, dekompozice na základě funkčních závislostí, normalizace pomocí dekompozice. V. Vychodil (KMI/DATA1, Přednáška 12) Úvod do teorie normalizace Databázové systémy 2 / 10

Opakování: Funkční závislosti (Přednáška 11) Definice (funkční závislost, angl.: functional dependency) Nechť R je relační schéma. Pak funkční závislost nad schématem R je formule ve tvaru A B, kde A, B R. Definice (pravdivost funkční závislosti v datech) Nechť R je relační schéma a D je relace nad schématem R. Pak funkční závislost A B nad schématem R je pravdivá v D, což označujeme D = A B, pokud pro každé n-tice r 1, r 2 D platí: pokud r 1 (A) = r 2 (A), pak r 1 (B) = r 2 (B). V opačném případě říkáme, že A B neplatí v D a píšeme D = A B. Funkční závloslost se nazývá triviální, pokud je pravdivá v každé D. pozorování: A B je triviální p. k. B A V. Vychodil (KMI/DATA1, Přednáška 12) Úvod do teorie normalizace Databázové systémy 3 / 10

Příklad (Funkční závislosti, které jsou/nejsou pravdivé v D) mějme relaci D = {r 1, r 2, r 3, r 4 } nad schématem R = {FOO, BAR, BAZ, QUX}: FOO BAR BAZ QUX 10 22 a 222 10 33 b 333 10 22 a 444 20 33 a 555 r 1 = { FOO, 10, BAR, 22, BAZ, a, QUX, 222 } r 2 = { FOO, 10, BAR, 33, BAZ, b, QUX, 333 } r 3 = { FOO, 10, BAR, 22, BAZ, a, QUX, 444 } r 4 = { FOO, 20, BAR, 33, BAZ, a, QUX, 555 } D = {BAZ} {BAR} (kvůli r 1 a r 4 ) D = {FOO, BAZ} {QUX} (kvůli r 1 a r 3 ) D = {BAR} {BAZ} (kvůli r 2 a r 4 ) D = {FOO, BAR} {BAZ} D = {QUX} S (pro jakékoliv S je triviálně splněná) D = {FOO, BAR} {FOO} V. Vychodil (KMI/DATA1, Přednáška 12) Úvod do teorie normalizace Databázové systémy 4 / 10

Motivace pro normalizaci motivace: Na základě znalostí (funkčních) závislostí v datech je potřeba navrhnout relační schémata v databázi tak, aby se minimalizovala redundance dat a nedocházelo k patologickým situacím souvisejícím s modifikací dat. příklad relace nad nevhodným schématem: problémy: SCHOOL DEAN DEPT HEAD ID COURSE YEAR SCI Blangis AF Durcet 7 QOPT1 2012 SCI. Blangis AF.. Durcet 8.. LASR1. 2012. SCI Blangis CS Curval 6 PAPR1 2012 1 redundance dat (zbytečná duplikace hodnot) 2 anomálie spojená s výmazem dat (výmaz kurzů katedry odstraní vedoucího ) 3 anomálie spojená s aktualizací hodnot (změna vedoucího katedry na víc místech) V. Vychodil (KMI/DATA1, Přednáška 12) Úvod do teorie normalizace Databázové systémy 5 / 10

Boyce-Coddova normální forma zdroj anomálií v předchozím příkladě: některá množina atributů je funkčně závislá na jiné množině atributů, která není nadklíč; zavádíme proto: Definice (Boyce-Coddova normální forma, BCNF) Mějme relační schéma R a teorii Γ. Pak R je v BCNF vzhledem k Γ pokud pro každou netriviální A B Γ platí, že Γ = A R. normalizace pomocí dekompozice: pokud není R v BCNF vzhledem k Γ, pak: 1 vezmeme netriviální A B Γ takovou, že Γ = A R 2 položíme R 1 = A B a Γ 1 = {C R 1 D R 1 C R 1 D Γ} 3 položíme R 2 = A (R \ B) a Γ 2 = {C R 2 D R 2 C R 2 D Γ} 4 proces se pokusíme opakovat pro dvojici R 1 a Γ 1 pokud R 1 není v BCNF vzhledem k Γ 1 a analogicky pro R 2 a Γ 2 poznámka: BCNF nemusí být dosažitelná, více kurs Databázové systémy 2 (!!) V. Vychodil (KMI/DATA1, Přednáška 12) Úvod do teorie normalizace Databázové systémy 6 / 10

Příklad (Schéma, které není v BCNF) Uvažujme relační schéma R = {SCHOOL, DEAN, DEPT, HEAD, ID, COURSE, YEAR} a teorii Γ popisující závislosti mezi atributy: Γ = {{DEPT} {HEAD, SCHOOL, DEAN}, {SCHOOL} {DEAN}, {COURSE, YEAR} {ID}, {ID, YEAR} {DEPT}}. Schéma R není v BCNF vzhledem k Γ, protože (například): {DEPT} {HEAD, SCHOOL, DEAN} Γ, ale [{DEPT}] Γ = {SCHOOL, DEAN, DEPT, HEAD} R, to jest Γ = {DEPT} R, nebo: {SCHOOL} {DEAN} Γ, ale [{SCHOOL}] Γ = {SCHOOL, DEAN} R, to jest Γ = {SCHOOL} R. V. Vychodil (KMI/DATA1, Přednáška 12) Úvod do teorie normalizace Databázové systémy 7 / 10

Příklad (Normalizace schématu pomocí dekompozice) R = {SCHOOL, DEAN, DEPT, HEAD, ID, COURSE, YEAR} Γ = {{DEPT} {HEAD, SCHOOL, DEAN},...} (viz předchozí příklad) R 1 = {SCHOOL, DEAN, DEPT, HEAD} Γ 1 = {{DEPT} {HEAD, SCHOOL, DEAN}, {SCHOOL} {DEAN}} R 11 = {SCHOOL, DEAN} Γ 11 = {{SCHOOL} {DEAN}} R 12 = {SCHOOL, DEPT, HEAD} Γ 12 = {{DEPT} {HEAD, SCHOOL}, {SCHOOL} {}} R 2 = {DEPT, ID, COURSE, YEAR} Γ 2 = {{DEPT} {}, {COURSE, YEAR} {ID}, {ID, YEAR} {DEPT}} R 21 = {DEPT, ID, YEAR} Γ 21 = {{DEPT} {}, {ID, YEAR} {DEPT}} R 22 = {ID, COURSE, YEAR} Γ 22 = {{COURSE, YEAR} {ID}, {ID, YEAR} {}} V. Vychodil (KMI/DATA1, Přednáška 12) Úvod do teorie normalizace Databázové systémy 8 / 10

Příklad (Reprezentace výchozích dat v normalizované databázi) SCHOOL DEAN DEPT HEAD ID COURSE YEAR SCI Blangis AF Durcet 7 QOPT1 2012 SCI Blangis AF Durcet 8 LASR1 2012 SCI Blangis AF Durcet 8 LASR1 2013 SCI Blangis CS Curval 3 ALMA1 2012 SCI Blangis CS Curval 3 ALMA1 2013 SCI Blangis CS Curval 6 DATA1 2012 SCI Blangis CS Curval 6 DATA1 2013 SCI Blangis CS Curval 6 PAPR1 2012 = SCHOOL DEPT HEAD SCHOOL DEAN SCI Blangis SCI AF Durcet SCI CS Curval DEPT ID YEAR AF 7 2012 AF 8 2012 AF 8 2013 CS 3 2012 CS 3 2013 CS 6 2012 CS 6 2013 ID COURSE YEAR 3 ALMA1 2012 3 ALMA1 2013 6 DATA1 2012 6 DATA1 2013 6 PAPR1 2012 7 QOPT1 2012 8 LASR1 2012 8 LASR1 2013 V. Vychodil (KMI/DATA1, Přednáška 12) Úvod do teorie normalizace Databázové systémy 9 / 10

Přednáška 8: Závěr pojmy k zapamatování: anomálie, Boyce-Coddova normální forma, normalizace pomocí dekompozice použité zdroje: Date C. J.: Database in Depth: Relational Theory for Practitioners O Reilly Media 2005, ISBN 978 0596100124 Maier D: Theory of Relational Databases Computer Science Press 1983, ISBN 978 0914894421 Simovici D.: Tenney R.: Relational Database Systems Academic Press 1995, ISBN 978 0126443752 V. Vychodil (KMI/DATA1, Přednáška 12) Úvod do teorie normalizace Databázové systémy 10 / 10