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

Slides:



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

Deduktivní soustava výrokové logiky
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.
DOTAZOVACÍ JAZYKY slajdy přednášce DBI006
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK Odpřednášeno
Jan Tichava Zdroj:
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
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.
Aplikační a programové vybavení
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
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ů
Stereometrie Řezy hranolu I VY_32_INOVACE_M3r0108 Mgr. Jakub Němec.
Cvičení 13 Ing. Pavel Bednář
KONCEPTUÁLNÍ MODELOVÁNÍ
Fakulta životního prostředí Katedra informatiky a geoinformatiky
F U N K C E.
Formální jazyky a gramatiky
Fakulta elektrotechniky a informatiky
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.
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ů
Databázové systémy Přednáška č. 4 Proces návrhu databáze.
Výroková logika.
Úvod do databázových systémů
Databázové systémy Přednáška č. 4.
Ukládání heterogenních dat pomocí rozvolněných objektů Michal Žemlička.
Konceptuální návrh databáze
Teorie zpracování dat Návrh struktury databáze Funkční závislosti
Databázové modelování
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.
Pre-algebra Antonín Jančařík.
Relace, operace, struktury
Úvod do databázových systémů
Databázové systémy Informatika pro ekonomy, př. 18.
Vyhledávání dat podle určitých kritérií Lenka Havránková, 4.Y.
Vektorové prostory.
II. Analýza poptávky Přehled témat
Aplikační a programové vybavení
Stereometrie Řezy jehlanů VY_32_INOVACE_M3r0110 Mgr. Jakub Němec.
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 Datové modely.
Databázové systémy Normalizace dat.
P114_21 P114 Klasické metody modelování RDM, ERAM 2.
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.
Množina bodů dané vlastnosti
Definiční obor a obor hodnot
Výpočetní technika Akademický rok 2008/2009 Letní semestr
Operační výzkum Lineární programování Dopravní úloha nevyrovnaná.
Vzájemná poloha přímky a roviny
Databázové systémy 1 – KIT/IDAS1 Ing. Monika Borkovcová, Ph.D.
Informatika pro ekonomy přednáška 8
1 Lineární (vektorová) algebra
Množina bodů dané vlastnosti
Databázové systémy Normální formy.
Množina bodů dané vlastnosti
A5M33IZS – Informační a znalostní systémy
Transkript prezentace:

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

Univerzální relace Funkční závislosti mezi atributy A relace R Úvod do databázových systémů – Ing. Nulíček Vladimír Univerzální relace Všechny atributy jsou v jedné tabulce Není třeba řešit vztahy, vše na jednom řádku Formulace dotazu triviální Má ale i spoustu nevýhod – redundance, ztráta informace, … Funkční závislosti mezi atributy A relace R Formálně: f([x1, .., xn])  [y1, .., yn], kde xi a yi jsou atributy z A Budeme zapisovat bez f, např. Adresa  PSČ nebo AdresaČíslo  Vše Relace se pak určuje nejen atributy A ale i závislostmi F Lekce 6

Úvod do databázových systémů – Ing. Nulíček Vladimír Funkční závislosti Závislost hodnoty určitého atributu na hodnotě jiného atributu (či atributů) Jde tedy o speciální případ integritního omezení, neboť funkční závislost vymezuje možné kombinace dat v relaci, tj. množinu přípustných relací. Lekce 6

Armstrongova pravidla Úvod do databázových systémů – Ing. Nulíček Vladimír Armstrongova pravidla Nechť X, Y, Z jsou podmnožiny atributů z relace R = (A, 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 X  YZ, pak X  Y a X  Z (dekompozice,pravidlo Lekce 6

Armstrongova pravidla Úvod do databázových systémů – Ing. Nulíček Vladimír Armstrongova pravidla jsou korektní: co z F odvodíme, platí pro libovolnou instanci R jsou úplná: lze jimi odvodit všechny FZ platné ve všech instancích R první 3 jsou nezávislá: odstraněním kteréhokoli z nich odstraníme podmínku úplnosti (dekompozici lze odvodit) Používají se při Dekompozici – odvození DB schéma splňujícího danou NF Hledání klíčů – min. skupina atributů K taková, že K  Vše Lekce 6

Odvození dekompozice Dekompozice (4.AP) se dá odvodit z prvních tří AP Úvod do databázových systémů – Ing. Nulíček Vladimír Odvození dekompozice Dekompozice (4.AP) se dá odvodit z prvních tří AP Předpoklad X  YZ Máme odvodit X  Y a X  Z Odvození Triviálně : YZ  Y a YZ  Z (první axiom) Tranzitivitou spojíme X  YZ s YZ  Y Tranzitivitou spojíme X  YZ s YZ  Z Získáme požadované X  Y a X  Z Lekce 6

Příklad – odvozování FZ Úvod do databázových systémů – Ing. Nulíček Vladimír Příklad – odvozování FZ R(A,F) A = {a,b,c,d,e,f} F = {ab → c, ac → d, cd → ed, e → f} Lze odvodit např. tyto funkční závislosti: ab → a, ab → b (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) Lekce 6

Úvod do databázových systémů – Ing. Nulíček Vladimír Funkční uzávěr Množina všech FZ odvoditelných z F pomocí Armstrongových pravidel tvoří funkční uzávěr F+ Příklad: R = (A = {a, b, c}, F = {a  b} ) F+ = {a  a, b  b, a  b, c  c, ab  a, ab  b, ab  ab, ac  a, ac  c, ac  b, ac  ac, ac  abc, bc  b, bc  c, abc  a, abc  b, abc  c, abc  ab, abc  ac, abc bc, abc  abc} Lekce 6

Atributový uzávěr Klíčový algoritmus na hledání klíče Úvod do databázových systémů – Ing. Nulíček Vladimír Atributový uzávěr Klíčový algoritmus na hledání klíče Nechť R = (A, F) a X je podmnožina A Atributový uzávěr značíme X+ X+ je množina všech atributů z A, které jsou funkčně závislé na všech atributech z X Lekce 6

Atributový uzávěr - příklad Úvod do databázových systémů – Ing. Nulíček Vladimír Atributový uzávěr - příklad Relace Dům = (A, F) A = {Adresa, PSČ, Číslo, Barva} F = {Adresa  PSČ, AdresaČíslo  Barva} {Adresa}+ = {Adresa, PSČ} {Adresa, Barva}+ = {Adresa, PSČ, Barva} {Adresa, Číslo}+ = {Adresa, PSČ, Číslo, Barva} = Vše tj. jde o klíč relace Dům Lekce 6

Určení klíče relace Co tvoří klíč tabulky? Je klíčů více? Úvod do databázových systémů – Ing. Nulíček Vladimír Určení klíče relace Co tvoří klíč tabulky? Je klíčů více? Klíč je minimální skupina atributů určující vše Klíčů obecně může být více Pokud ke klíči přidáme atribut  nadklíč Najít jeden klíč je lehké Najít všechny klíče – problém z třídy NP Znalost klíče důležitá při zajištění NF Klíčový atribut nesmí být většinou NULL Lekce 6

Algoritmus určení prvního klíče Úvod do databázových systémů – Ing. Nulíček Vladimír Algoritmus určení prvního klíče Z atributového uzávěru A+ se postupně odebírají ty atributy, které jsou odvoditelné ze zbývajících atributů Příklad: relace Dům = (A, F) A = {Adresa, Majitel, PSČ, Číslo, barva} F = {Adresa  MajitelPSČ, Majitel  Adresa, AdresaČíslo Barva} {Adresa, Majitel, Číslo, PSČ, Barva}+ = Vše {Adresa, Majitel, Číslo, PSČ}+ = Vše {Adresa, Majitel, Číslo}+ = Vše {Adresa, Číslo}+ = Vše (již nelze odebrat žádný) Lekce 6

Nalezení dalších klíčů Úvod do databázových systémů – Ing. Nulíček Vladimír Nalezení dalších klíčů Složité – musí se vyzkoušet všechny permutace atributů z předchozího slajdu (klíčů může být hodně) Používají se heuristiky Pokud existuje X  Y ( kde Y je klíčový atribut) Pak se může zkusit (klíč – Y)  X Z předchozího příkladu AdresaČíslo je klíč a existuje závislost Majitel  Adresa (AdresaČíslo - Adresa)  Majitel je kandidát na klíč {Majitel, Číslo}+ = Vše (máme nový klíč) Lekce 6

Normální formy – opakování Úvod do databázových systémů – Ing. Nulíček Vladimír Normální formy – opakování 1NF Data jsou v atomické podobě 2NF Neexistuje funkční závislost neklíčových atributů na části klíče 3NF Neexistuje tranzitivní závislost na klíči Alternativní definice Závislost je jen triviální Levá část závislosti je nadklíč Pravá část závislosti je součástí klíče BCNF Podobné jako 3NF Jen neplatí 3. bod definice 3NF Lekce 6

Bezeztrátovost Relaci nelze rozštěpit libovolně (viz příklad) Úvod do databázových systémů – Ing. Nulíček Vladimír Bezeztrátovost Relaci nelze rozštěpit libovolně (viz příklad) Z normalizovaných tabulek musí jít rekonstruovat původní relace Lekce 6

Úvod do databázových systémů – Ing. Nulíček Vladimír Dekompozice Metoda rozdělení univerzální relace na menší tabulky, které splňují Bezeztrátovost BCNF nebo 3NF Jak na to? Rekurzivní proces V aktuálně dělené relaci se musí určit klíče Dělení relace na dvě podle nevyhovující závislosti Do nových tabulek se delegují i všechny platné funkční závislosti (konstrukce funkčního uzávěru!) Nezachovává obecně pokrytí závislostí Lekce 6

Úvod do databázových systémů – Ing. Nulíček Vladimír Dekompozice - příklad Lekce 6

Rekapitulace Modelování relačního schéma DB – dva přístupy Úvod do databázových systémů – Ing. Nulíček Vladimír Rekapitulace Modelování relačního schéma DB – dva přístupy Intuitivní konceptuální modelování a konverze Algoritmická dekompozice V praxi spíše intuitivní přístup – diagramy Dekompozice se používá na „škaredé“ tabulky Máme obecně popsané tabulky, potřebujeme silný a současně jednoduchý formální dotazovací jazyk Lekce 6