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

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

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

Databáze. Logický model DB. David Hoksza

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á

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

5. Formalizace návrhu databáze

5. Formalizace návrhu databáze

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

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

4IT218 Databáze. 4IT218 Databáze

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

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

Otázka č. 1 (bodů za otázku: 4)

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

Strukturované metodologie

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

Databáze Bc. Veronika Tomsová

Analýza a modelování dat. Helena Palovská

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

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

11. blok Normalizace. Studijní cíl

DBS Konceptuální modelování

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

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

Databázové systémy Tomáš Skopal

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

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

Marketingová komunikace. 1. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK3PH (vm3aph)

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

DBS Normální formy, normalizace

Databázové systémy. Přednáška 1

RELAČNÍ DATABÁZOVÉ SYSTÉMY

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

Konceptuální modelování. Pavel Tyl

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í

2 Konceptuální modelování a návrh databáze

Kapitola 2: Entitně-vztahový model (Entity-Relationship model) Množiny entit (entitní množiny) Atributy

Hierarchický databázový model

2 Konceptuální modelování a návrh databáze

Databázové systémy. Vztahy a relace. 3.přednáška

Marketingová komunikace. 1. a 2. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3bph)

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

DBS Transformace konceptuálního schématu na

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

Databázové systémy. Ing. Radek Holý

C8 Relační databáze. 1. Datový model

Funkční schéma Datové schéma Integrita modelu s realitou

Databáze 2013/2014. Konceptuální model DB. RNDr. David Hoksza, Ph.D.

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

Relace x vztah (relationship)

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

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

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

Metodika návrhu databáze

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Fakulta elektrotechniky a informatiky Vysoká škola báňská - Technická univerzita Ostrava. Úvod do databázových systémů 2012/2013 IS MHD

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

UČEBNÍ TEXTY OSTRAVSKÉ UNIVERZITY. Přírodovědecká fakulta RELAČNÍ DATABÁZE (DISTANČNÍ VÝUKOVÁ OPORA) Zdeňka Telnarová. Aktualizovaná verze 2006

Terminologie v relačním modelu

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

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

Diagram výskytů a vztahů

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

Relační databáze. V dnešní době existuje řada komerčních DBMS, nejznámější jsou:

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

Databázové modelování. Analýza Návrh konceptuálního schématu

Návrh databázového modelu

Databázové systémy I. 3. přednáška

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

UNIVERZITA PARDUBICE FAKULTA EKONOMICKO-SPRÁVNÍ

Zadání. Slovníček pojmů. Otázka 19 A7B36DBS

Ing. Bc. Robert Haken [MVP ASP.NET/IIS, MCT] software architect, HAVIT, Návrh schématu DB

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

Teorie zpracování dat

TEORIE ZPRACOVÁNÍ DAT

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

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

Transformace konceptuálního modelu na relační

ROZDÍLY V NÁVRZÍCH RELAČNÍCH A OBJEKTOVÝCH DATABÁZÍ A JEJICH DŮSLEDKY PRO TRANSFORMACI MODELŮ

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

8.2 Používání a tvorba databází

Databáze II. 1. přednáška. Helena Palovská

A5M33IZS Informační a znalostní systémy. Relační databázová technologie

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

2. přednáška. Databázový přístup k datům (SŘBD) Možnost počítání v dekadické aritmetice - potřeba přesných výpočtů, např.

Relační databázová technologie

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

Přijímací zkouška - informatika

Database engine (databázový stroj, databázový motor, databázové jádro) Systém řízení báze dat SŘBD. Typy SŘBD podle způsobu práce s daty

Dolování v objektových datech. Ivana Rudolfová

DATOVÉ MODELOVÁNÍ ER MODEL

A5M33IZS Informační a znalostní systémy. O čem předmět bude? Úvod do problematiky databázových systémů

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

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

Databáze II. 2. přednáška. Helena Palovská

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

Relační model reprezentuje databázi jako soubor relací. Kaţdá relace představuje tabulku nebo soubor (ve smyslu soubor na nosiči dat).

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

Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu:

Transkript:

Databáze I 4. přednáška Helena Palovská palovska@vse.cz

Mapování ER modelu do relačního DB schématu Od 80. let 20. stol. znám algoritmus, implementován v CASE nástrojích Rutinní postup s volbami rozhodnutí o tom, co se vztahy 1:1 co s ISA vztahy

Zjednodušený postup Každý entitní typ relační tabulka Každý vztah n:m relační tabulka Každý vztah 1:n cizí klíč v odpovídající tabulce UŽIVATEL login heslo spravuje KATEGORIE kód kategorie popis kategorie zařazen do PRODUKT kód produktu cena

Co zbývá vyřešit? Entitní podtypy (dědičnost) 3 základní možnosti řešení, eventuálně kombinované s view Vztahy 1:1 3 možnosti řešení Polyární vztahy vždy další relační tabulka

Celé mapování - postupně 0. Rozhodněte o všech odvozených typech entit, atributů a vztahů, jež mají být ukládány. Odvození se mapují do integritních omezení. 1. Rozhodněte o mapování všech ISA vztahů (viz další snímek...)

Mapování ISA vztahů možnosti Absorpce všeho do jedné tabulky atributy podtypů tvoří nepovinné sloupce Separace do více tabulek společné je ve společné tabulce specifické je mapováno do samostatných tabulek Rozklad do samostatných tabulek společná tabulka není

Další kroky mapování 2. Rozhodněte o mapování 1:1 vztahů rozhoduje povinné/nepovinné členství, event. které členství je pravděpodobnější cizí klíč na tu stanu, kde je vztah pravděpodobnější při oboustranně povinných přehodnotit analýzu při oboustranně nepovinných a málo pravděpodobných možno mapovat i do samostatné tabulky

Další kroky mapování 3. Rozhodněte o primárních klíčích sémantické business identifikátory mapovat na UNIQUE 4. Každý entitní typ mapujte do samostatné tabulky atomické atributy do polí této tabulky 5. Každý vztah n:m: do samostatné tabulky. Její klíč bude složen z cizích klíčů ~ rolí (viz další snímek...) Případné atributy vztahu tvoří další pole.

Mapování více-árních vztahů Klíče tabulky vztahu jsou určeny integritními omezeními: někdy může být více alternativních klíčů cizí klíče každé z rolí jsou součástí nějakého alternativního klíče Příklady: čerpání služeb http://nb.vse.cz/~palovska/bivs/obr6.jpg rozvrh http://nb.vse.cz/~palovska/bivs/obr5.jpg

Další kroky mapování 6. Vztahy 1:n mapujte do cizích klíčů. 7. Vícehodnotové atributy: jako vztah k hodnotovému typu 8. Možnosti pro složené atributy: vytvoření umělého entitního typu rozdělení na jednotlivé složky Příklad: internetový obchod http://nb.vse.cz/~palovska/bivs/obr1.jpg

http://krokodata.vse.cz/dm/mapovani

Je výsledné databázové schéma správně? Nehrozí nekonzistence údajů umožněná tím, že něco je v databázi dvakrát? Nebude obtížné zapisovat data proto, že tutéž skutečnost musíme zapsat na dvě místa? Nehrozí nezamýšlená ztráta informace, pokud smažeme určité záznamy?

Při dokonalé analýze... Při bezchybném zachycení v ER modelu, po použití rutinního mapování do relačního schématu, netrpí výsledné schéma zmíněnými problémy. Když nejsme dokonalí... co potom?

Lze výsledek zkontrolovat? Pomůckou jsou "normální formy" 1. normální forma 2. normální forma 3. normální forma Boyce-Coddova normální forma 4. normální forma 5. normální forma

Normalizace relačního DB schéma 1. NF Doména každého atributu obsahuje pouze jedno-hodnotové atomické hodnoty Není v 1.NF Vysoká škola ekonomická Vysoká škola finanční a správní W.Churchilla 4, 130 00 Praha 3 Estonská 500, 101 00 Praha 10 224-095-111 210-088-800 271-741-597 Vnitřní struktura významů, neatomická (strukturovaná) hodnota. Více hodnot (se stejným významem).

První normální forma Doména každého atributu obsahuje pouze jedno-hodnotové atomické hodnoty Dva různé atributy v téže relační tabulce nemají stejný význam Není v 1.NF telefon1 telefon2 VŠE 224-095-111 VŠFS 210-088-800 271-741-597

Normalizace relačního DB schéma 2.NF Je v 1.NF, a každý neklíčový atribut závisí na celém klíči, ne pouze na části klíče UZIVATEL login (PK) heslo Není v 2.NF PATRI kod_prod (PK)(FK) nazev_kategorie (PK) popis_kat spravce (FK) PRODUKT kod_prod (PK) cena Závisí jen na názvu kategorie, opakuje se u každého produktu v dané kategorii!

Normalizace relačního DB schéma 3.NF Je v 2.NF. a každý neklíčový atribut je závislý přímo, a nikoli tranzitivně, na každém kandidátním klíči Není v 3.NF KATEGORIE kod_kat (PK) popis_kat login_spravce heslo_spravce Závisí na loginu správce, který je určen pro kód kategorie. Opakuje se u každé kategorie, jíž je tento správcem!

Normalizace relačního DB schéma Porušení 2., 3., NF: Tatáž informace v různých místech databáze. Hrozí nekonzistence zápisu této informace v těch různých místech Zatěžuje se DB nutností zapisovat více, než je třeba V případech mazání nenormalizovaných záznamů hrozí nezamýšlená ztráta informace (např. jaké heslo má ten uživatel) Hrozí neporozumění schématu a jeho nesprávné užití v dotazech, programech

Další normální formy Boyce-Coddova normální forma (BCNF) jako 3.NF, ale podmínka netranzitivnosti platí pro jakýkoli, i klíčový, atribut Například tabulka poštovních směrovacích čísel není v BCNF: POST_SMER_CIS(PSC, mesto, ulice) Dva kandidátní klíče (mesto, ulice) a (PSC, ulice), tedy žádný atribut není neklíčový. Ale PSC mesto není závislost na celém klíči. BCNF se obvykle nepožaduje, vyžaduje nepřirozený rozklad relačních tabulek. Někdy je dokonce nedosažitelná.

Další normální formy 4.NF Týká se tzv. multizávislostí. Například relační tabulka PREDMET s atributy (ident_predmetu, skupina_predmetu, vyucujici_ucitel) není v 4.NF, vyucujici_predmetu i skupina_predmetu multizávisí na ident_predmetu (předmět je ve více skupinách a může mít více vyučujících), pokud je předmět v 5 skupinách a má 4 vyučující, tabulka obsahuje pro tento předmět 5 x 4 záznamů.

Další normální formy 5.NF Například když Každý technik umí nějaké úkony Na každém produktu se provádějí nějaké úkony Technik může pracovat na nějakých produktech pak tabulka MUZE_VYKONAVAT(technik, produkt, ukon) není v 5.NF. Jsou třeba tyto tabulky: UMI(technik, ukon) SE_DELA(produkt, ukon) PRACUJE_NA(technik, produkt)

Normální formy relací První tři jsou často požadovány. Existují i další normální formy. Smyslem je zabránit redundanci informace, nekonzistenci informací, eventuálně nezamýšlené ztrátě informace. Standardní transformace ER do relačního DB schéma produkuje normalizovanou databázi za předpokladu bezchybné analýzy vtělené do ER modelu.

Nejčastější chyby konceptuální analýzy informací Dvoutvářné entity Dědičnost namísto vztahu typu a výskytu Ternární či více-ární vztah namísto několika binárních et vice versa Chybějící vztahová entita při opakování vztahu

Dvoutvářné entity Je toto schéma správně? POJIŠŤOVNA zkratka je pojištěn u PACIENT rod. číslo částka hradí TERAPIE provedena datum a čas Co je klíč TERAPIE?

hradí Dvoutvářné entity POJIŠŤOVNA zkratka je pojištěn u PACIENT rod. číslo částka provedena datum a čas DRUH TERAPIE kód terapie PROVEDENÁ TERAPIE číslo úkonu http://krokodata.vse.cz/dm/dvetvare

Dědičnost namísto vztahu typu a Je toto schéma správně? výskytu ZNAČKA Název značky ZNAČKA neboli MODEL MODEL Název modelu Co je klíč MODELu? Kolik MODELů náleží k jedné ZNAČCe?

http://krokodata.vse.cz/dm/isa-coje Dědičnost namísto vztahu typu a výskytu ZNAČKA Název značky je typu MODEL Název modelu

N-arní vztah či několik Je toto schéma správně? binárních? INSTRUKTOR ŽÁK učí KURZ čas místo Co je klíč tabulky vztahu učí? Není možno vztah rozložit bez ztráty informace?

http://krokodata.vse.cz/dm/vztahy N-arní vztah či několik binárních? INSTRUKTOR ŽÁK vyučuje KURZ čas místo navštěvuje

N-arní vztah či několik Je toto schéma správně? binárních? PRODEJCE REGION množství prodal prodáno množství PRODUKT Zjistíme, kolik kterého PRODUTu prodal který PRODEJCE v kterém REGIONu?

http://krokodata.vse.cz/dm/vztahy N-arní vztah či několik binárních? PRODEJCE REGION prodal množství PRODUKT

Opakování vztahu Je toto schéma správně? LÉKAŘ PACIENT předepsal datum množství LÉK Co je klíč tabulky vztahu předepsal? Kolikrát mohl jeden LÉKAŘ jednomu PACIENTovi předepsat jeden LÉK?

čeho http://krokodata.vse.cz/dm/vztahy Opakování vztahu LÉKAŘ PACIENT kým PŘEDPIS datum množství komu LÉK

Obecné užitečné otázky informační analýzy Umožní nám navržené schéma zapsat všechny potřebné informace? Jak z navržené databáze získáme danou konkrétní informaci? Neumožňuje navržené schéma nekonzistenci v poskytovaných informacích? Nehrozí nezamýšlená ztráta informace?

Další pomůcky Databázové návrhové vzory Šablony správných řešení Znovupoužitelné Ověřené

Konec