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

Slides:



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

Normalizace Řada analytiků se mylně domnívá, že pro každý objekt existuje jedno jediné univerzálně použitelné nejlepší řešení bez ohledu na řešený problém.
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
Úvod do databázových systémů
Cvičení 05 Joins, isNull, case when Ing. Pavel Bednář
Funkce.
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Databáze.
A5M33IZS – Informační a znalostní systémy Normální formy.
Výpočetní technika Akademický rok 2006/2007 Letní semestr Mgr. Petr Novák Katedra informatiky a geoinformatiky FŽP UJEP
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á.
Relační datový model Základní ideje
Úvod do databázových systémů
Databáze Jiří Kalousek.
Funkce.
Cvičení 13 Ing. Pavel Bednář
KONCEPTUÁLNÍ MODELOVÁNÍ
Databázové systémy 2 Cvičení č. 7 Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky Univerzita Pardubice.
F U N K C E.
Fakulta elektrotechniky a informatiky
1IT D OTAZOVACÍ JAZYKY V RELAČNÍCH DATABÁZÍCH Ing. Jiří Šilhán.
Normalizace.
Úvod do databázových systémů
Informatika pro ekonomy II přednáška 10
Úvod do databázových systémů
Databázové systémy Přednáška č. 4.
Teorie zpracování dat Návrh struktury databáze Funkční závislosti
Databázové modelování
Cvičení 02 Relační algebra Ing. Pavel Bednář
Název školyIntegrovaná střední škola technická, Vysoké Mýto, Mládežnická 380 Číslo a název projektuCZ.1.07/1.5.00/ Inovace vzdělávacích metod EU.
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Databázové systémy Informatika pro ekonomy, př. 18.
Množiny.
Vektorové prostory.
Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce
Aplikační a programové vybavení
Teorie zpracování dat RELAČNÍ DATOVÝ MODEL.
Matematická olympiáda 2009/10
Databázové systémy Datové modely.
Stereometrie Kolmost přímek a rovin Mgr. Jakub Němec
Jak je to s izomorfismem
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.
Funkce, funkční závislosti Lineární funkce. Obsah: Definice funkce Grafické znázornění funkce Konstantní funkce Lineární funkce Vlastnosti lineárních.
Základy RA RA = matematický základ pro relační modul DBS jazyk SQL Relační DBS = Relační algebra + Relační model Doména = množina hodnot stejného typu/významu.
Funkce. Funkce - definice Funkce je zobrazení, které každému číslu z podmnožiny množiny reálných čísel R přiřazuje právě jedno reálné číslo. Funkci značíme.
Funkce Lineární funkce a její vlastnosti 2. Funkce − definice Funkce je předpis, který každému číslu z definičního oboru, který je podmnožinou množiny.
Úvod do databázových systémů
Logické principy QCA Karel Kouba.
Relační databázová technologie
Výpočetní technika Akademický rok 2008/2009 Letní semestr
Databázové systémy 1 – KIT/IDAS1 Ing. Monika Borkovcová, Ph.D.
Nakreslete E-R schéma OSOBA je identifikována RČ, dále u ní sledujeme příjmení, jméno, adresu. ZAKAZNIK je podtyp OSOBy, navíc u něj sledujeme atributy.
Informatika pro ekonomy přednáška 8
1 Lineární (vektorová) algebra
Matematická logika 5. přednáška
Lineární funkce a její vlastnosti
DEFINICE FUNKCE Název školy: Základní škola Karla Klíče Hostinné
Databázové systémy Normální formy.
Lichoběžník Obvod lichoběžníku.
Název projektu: Moderní výuka s využitím ICT
A5M33IZS – Informační a znalostní systémy
ANALYTICKÁ GEOMETRIE Analytická geometrie je část geometrie, která v euklidovské geometrii zkoumá geometrické útvary pomocí algebraických a analytických.
M-Ji-CU007-Mnozinove_operace
Transkript prezentace:

Úvod do databázových systémů Cvičení 12 Ing. Pavel Bednář pavel.bednar.st1@vsb.cz http://pavelbednar.aspone.cz

Modelování pomocí funkčních závislostí Sestavení relačního schématu a množiny funkčních závislostí Minimalizace množiny funkčních závislostí algoritmem pro minimální neredundantní pokrytí Dekompozice univerzálního relačního schématu

Modelování pomocí funkčních závislostí Pomůže lépe pochopit zdroj možných redundancí Pomůže definovat pravidla pro rozpoznání dobře navržených relačních schémat.

Modelování pomocí funkčních závislostí Pokud špatně určíte funkční závislosti, nebudou Vám ani algoritmy správně fungovat. Neměli by být stejné názvy atributů (Např. jméno a příjmení ve dvou tabulkách, místo toho jméno_tabulka1, jméno_tabulka2,…)

Funkční závislosti - Definice Nechť R({A1,A2,...,An}, f) je relační schéma, nechť X, Y jsou podmnožiny množiny jmen atributů {A1,A2,...,An}. Řekneme, že Y je funkčně závislá na X, píšeme X → Y, když pro každou možnou aktuální relaci R(A1,A2,...,An) platí, že mají-li libovolné dva prvky (= dva řádky) relace R stejné hodnoty atributů X, pak mají i stejné hodnoty atributů Y. Je-li Y ⊂ X říkáme, že závislost X → Y je triviální. Příklad: Příjmení je funkčně závislé na loginu. Naopak login není funkčně závislý na příjmení, protože z příjmení si můžu odvodit pouze část loginu. V každé tabulce minimálně primární klíč implikuje ostatní atributy

Funkční závislosti - Definice funkční závislosti jsou definovány mezi dvěma podmnožinami atributů v rámci jednoho schématu relace. Jde tedy o vztahy mezi atributy, nikoliv mezi entitami.

Funkční závislosti - Příklad Všimneme si vztahu mezi podmnožinami X = {místnost, hodina} a Y = {předmět}. Vždy, když 2 řádky tabulky mají stejné hodnoty atributů X, mají i stejné hodnoty atributů Y. V tabulce jsou vyznačeny stejnou barvou, X světlejším, Y tmavším odstínem. Slovně to můžeme formulovat takto: V dané místnosti a v danou hodinu v týdnu se učí jediný předmět. Tedy existuje funkční závislost M H → P. Tuto FZ známe obecně z reality. V uvažované škole platí, že každý předmět přednáší jeden učitel (= zadané IO: P → U). Celkem v příkladě můžeme určit tuto množinu funkčních závislostí F F = { MH → P, P → U, HU → M, PS → Z, HS → M} Z aktuální relace by se mohlo usuzovat na platnost funkční závislosti M → H, ovšem obecně to zřejmě není pravda. Nelze tedy z jedné relace dokázat platnost funkčního vztahu. Naopak negativní fakta mohou být zjistitelná, protože tvoří protipříklad: není pravda PU → M, protože TZD se učí ve dvou posluchárnách v týdnu.

Funkční závislosti - Pojmy Triviální funkční závislost Elementární funkční závislost Triviální fun. Závislot je taková, že ze sebe sama odvodím sebe sama. Např. login → login Elementární funční závislost je taková, která má na pravé straně pouze jeden atribut třeba AB → C

Armstrongovy axiomy

Uzávěr množiny Zadání Postup R (A, B, C, D) F {A→B, C→D, BCD→A} F+ ? (uzávěr množiny funkčních závislostí Postup Určím uzávěry pro jednotlivé atributy (A+, B+, C+, D+) Pokud mám složitější funkční závislost, udělám uzávěr této závisloti a jejich podmnožin (BCD+, BC+, BD+, CD+) Uzávěr se určuje tak, že procházím F a určuju, které atributy, můžu určit z již odvozených atributů. Platí že z každého atributu můžu minimálně odvodit sebe sama Nechť F je množina funkčních závislostí pro relační schéma R, nechť X → Y je funkční závislost. Řekneme, že F logicky implikuje X → Y, jestliže v každé relaci R, v níž jsou splněny závislosti z F, je splněna i závislost X → Y. Množinu všech závislostí, které jsou logicky implikovány množinou F, nazýváme uzávěrem množiny F, označujeme F+. A+ = A B B+ = B C+ = CD D+ = D BCD+ = B C D A BC+ = B C D A BD+ = B D CD+ = C D

Pojmy Klíč schématu Minimální pokrytí Nechť R ({A1, A2, ..., An}, f) je relační schéma s množinou funkčních závislostí F, nechť X⊂{A1,A2,...,An}. Řekneme, že X je klíč schématu R, jestliže 1. X → A1...An ⊂ F+ 2. pro každou vlastní podmnožinu Y ⊂ X je Y → A1...An ⊄ F+. Jinými slovy je to klíč, nebo kombinace klíčů pomocí nichž odvodím všechny ostatní. Z minulého příkladu mám dva kandidáty: BCD+ = B C D A BC+ = B C D A Vybere se ten, kde je potřeba spojení nejméně atributů k odvození všech ostatních, tedy BC. Pomocí spojení B a C odvodím všechny ostatní atributy. Pokrytí, v jehož závislostech neexistují žádné redundandní atributy, nazýváme minimálním pokrytím. Význam minimálního pokrytí je v tom, že pro manipulaci s IO (např. testování jejich splnění při aktualizaci relací) jich má být co nejméně. Minimální pokrytí odstraní z funčkních závislotí atributy, které jsou redundantní pro danou funkční závislost.

Minimální pokrytí Postup pro AB→CD: Likviduje atributy ve funkční závislosti zleva. Přiklad: R (A, B, C, D) F = {AB→CD, C→D, A→B} Postup pro AB→CD: Určím si všechny uzávěry Ze závislosti AB → CD vypustím zleva A, dostaneme novou F‘ = {B→CD, C→D, A→B} Spočítám nový uzávěr pro atribut, který zůstal (tedy B) Pokud je nový uzávěr shodný s původním, můžu říct, že vynechaný atribut byl rendundandní a můžu ho vynechat. Pokračuji další funkční závislostí 1) Všechny uzávěry A+ = A B C D B+ = B C+ = C D D+ = D AB+= A B C D 2) F‘ = {B→CD, C→D, A→B} 3) B+= B C D

Minimální nerundandní pokrytí Minimální nerendundandní pokrytí Likviduje celé funkční závislosti. Pokrytí množiny funkčních závislostí F je taková množina G funkčních závislostí, pro niž platí G+ = F+. Neredundandní pokrytí je takové pokrytí, které neobsahuje redundandní závislosti.

Minimální nerundandní pokrytí Zadání R (A, B, C, D) F {A→B, B→CD, C→D} Postup Udělám uzávěry pro všechny funkční závislosti Odstraním jednu funkční závislost (třeba A→B) Počítám nový uzávěr pro atributy na levé straně (tedy pro A+) Pokud je shodný s půvdoním, je funkční závislost redundandní a můžu ji vypustit. 1) A+ = A B C D B+ = B C D C+ = C D D+ = D 2) F { , B→CD, C→D} 3) A+ = A 4) Vypustím rozložím dle armstrongových axiomů B→CD na B→C a B→D 5) F {A→B, B→C, B→D, C→D} 6) Vypustím závislost B→C a spočítám nový B+ F {A→B, , B→D, C→D} B+ = B D Uzávěr není stejný, proto nemůžu tuto závislost vypustit 7) Vypustím závislost B→D a spočítám nový B+ F {A→B, B→C, , C→D} Uzávěr je stejný, proto můžu tuto závislost vypustit Pokračuju pro C→D … 8) Fnered {A→B, B→C, C→D}

Obecný postup Uzávěry množin Univerzální klíč Dekompozice Fmin (množina minimálního pokrytí) Nerendundandní pokrytí Fminnered (množina minimálního nerendundadního pokrytí) (Algoritmus syntézy) - příště

Příklad R (A, B, X, Y, Z) F {Z→A, A→B, Y→Z, Y→B, AB→X} 1),2) A+ = ABX B+ = B Y+ = YZABX – univ. klíč X+ = X Z+ = ZABX AB+ = ABX 3) Minimální pokrytí jde jen pro AB→X 3.1) vynechám atribut A F = {Z→A, A→B, Y→Z, Y→B, B→X} B+ = B X – uzávěr není stejný jako původní 3.2) vynechám atribut B F = {Z→A, A→B, Y→Z, Y→B, A→X} A+ = A X B – uzávěr je stejný jako původní, atribut B můžeme vynechat. 4) F = {Z→A, A→B, Y→Z, Y→B, A→X} 5) Nerendundatní pokrytí 5.1) vynechám Z→A F = { , A→B, Y→Z, Y→B, A→X} Z+ = Z Nový úzávěr není shodný s původním 5.2) vynechám A→B F = {Z→A, , Y→Z, Y→B, A→X} A+ = AX 5.3) vynechám Y→Z F = {Z→A, A→B, , Y→B, A→X} Y+ = YBX 5.4) vynechám Y→B F = {Z→A, A→B, Y→Z, , A→X} Y+ = YZABX Nový úzávěr je shodný s původním, můžu vynechat funkční závislost. 5.5) vynechám A→X F = {Z→A, A→B, Y→Z, Y→B, } A+ = AB 6)Fminnered {Z→A, A→B, Y→Z, A→X}