Návrh databázového modelu

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

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

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

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

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. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

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

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

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

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

Úvod do databázových systémů. Ing. Jan Šudřich

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

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

DBS Konceptuální modelování

Kurz Databáze. Obsah. Návrh databáze E-R model. Datová analýza, tabulky a vazby. Doc. Ing. Radim Farana, CSc.

Databáze. Logický model DB. David Hoksza

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

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

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

SQL SQL-SELECT. Informační a znalostní systémy. Informační a znalostní systémy SQL- SELECT

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

A Metodologie návrhu ERD (Batini, Ceri, Navathe)

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

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

Databáze ArcView) Databázový systém

A Metodologie návrhu ERD (Batini, Ceri, Navathe)

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

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

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

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

Objektově orientované databáze. Miroslav Beneš

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

Databáze Bc. Veronika Tomsová

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

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

Relace x vztah (relationship)

11. blok Normalizace. Studijní cíl

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

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

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

Terminologie v relačním modelu

Relační databázová technologie

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

Microsoft. Access. Databáze s více tabulkami. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie

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

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

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

Konceptuální modelování a SQL

37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody

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

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

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

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

5. Formalizace návrhu databáze

5. Formalizace návrhu databáze

2 Strukturované datové typy Pole Záznam Množina... 4

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

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

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

Konceptuální modelování. Pavel Tyl

Databázové systémy Tomáš Skopal

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

Registr práv a povinností. Metodika pro definici údajů vedených v agendě

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

RELAČNÍ DATABÁZE ACCESS

RELAČNÍ DATABÁZOVÉ SYSTÉMY

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

Hierarchický databázový model

43 HTML šablony. Záložka Šablony v systému

Předmluva 11. Poděkování 11 O autorech 12 Úvodem 12 Komu je tato kniha určena 13 Jak byste měli tuto knihu číst 13 Web 14

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

S databázemi se v běžném životě setkáváme velmi často. Uvádíme běžné použití databází velkého rozsahu:

Úvod do MS Access. Modelování v řízení. Ing. Petr Kalčev

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

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

DBS Transformace konceptuálního schématu na

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

Okruhy z odborných předmětů

Metodika návrhu databáze

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

DATABÁZE MS ACCESS 2010

Úloha 1. Úloha 2. Úloha 3. Text úlohy. Text úlohy. Text úlohy

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í

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi.

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

10 Metody a metodologie strukturované analýzy

Databázové systémy Cvičení 5.2

Access Tabulka letní semestr 2013

Synchronizace CRM ESO9 a MS Exchange

Relační databázová technologie

Zápisování dat do databáze

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

TEORIE ZPRACOVÁNÍ DAT

Databázové systémy trocha teorie

10. blok Logický návrh databáze

Zhodnocení architektury podniku. Jiří Mach

Zadání. Seznam typů entit včetně jejich atributů, vyznačte klíče a cizí klíče Seznam typů vztahu určený svým názvem a entitami do něj vstupujícími

KIV/ZIS - primární klíč

DUM 12 téma: Příkazy pro tvorbu databáze

47 Mapování přístupnosti

Transkript:

Návrh databázového modelu Informační a znalostní systémy

1 2 Konflikty 3

návrh musí pokrývat požadavky zadavatele návrhbyměl reflektovat i možné budoucí poslání návrh od shora dolů zdola nahoru

Vývoj modelu 1 konceptuální model výběr konceptů volba rozlišení(jaké detaily) nástin vazeb 2 logický model indentifikace vlastností- převod koncept entita identifikace vazeb- relace s kardinalitami dekompozice- podmínka splnění požadované normální formy 3 fyzický model způsob fyzického uložení dat v případě databází není součástí návrhu

Konflikty definuje koncepty a vazby mezi nimi

Konflikty definuje koncepty a vazby mezi nimi Úloha: Navrhněte model pro uchovávání naměřených dat ze senzorové sítě. Každý senzor je umístěn v jedné místnosti a může měřit i více veličin. U místnosti definujeme budovu a u budovy adresu.

Konflikty definuje koncepty a vazby mezi nimi Úloha: Navrhněte model pro uchovávání naměřených dat ze senzorové sítě. Každý senzor je umístěn v jedné místnosti a může měřit i více veličin. U místnosti definujeme budovu a u budovy adresu. Nejjednodušší přístup- jediný všezahrnující koncept

Konflikty definuje koncepty a vazby mezi nimi Úloha: Navrhněte model pro uchovávání naměřených dat ze senzorové sítě. Každý senzor je umístěn v jedné místnosti a může měřit i více veličin. U místnosti definujeme budovu a u budovy adresu. Nejjednodušší přístup- jediný všezahrnující koncept čas budova adresa místnost senzor veličina hodnota 2010-01-01 15:00 A Technická 2, Praha 6 200 S1 teplota 20 2010-01-01 15:00 A Technická 2, Praha 6 200 S1 tlak 1020 2010-01-01 15:00 B Technická 3, Praha 6 100 S2 teplota 28

Konflikty Konflikty čas budova adresa místnost senzor veličina hodnota 2010-01-01 15:00 A Technická 2, Praha 6 200 S1 teplota 20 2010-01-01 15:00 A Technická 2, Praha 6 200 S1 tlak 1020 2010-01-01 15:00 B Technická 3, Praha 6 100 S2 teplota 28 Pokud úprava adresy u prvního záznamu, vznikne nekonzistence (není patrno, která adresa platí)

Konflikty Konflikty čas budova adresa místnost senzor veličina hodnota 2010-01-01 15:00 A Technická 2, Praha 6 200 S1 teplota 20 2010-01-01 15:00 A Technická 2, Praha 6 200 S1 tlak 1020 2010-01-01 15:00 B Technická 3, Praha 6 100 S2 teplota 28 Pokud úprava adresy u prvního záznamu, vznikne nekonzistence (není patrno, která adresa platí) smazáním třetího záznamu smažeme i adresu budovy (což zcela jistě nechceme) Z toho důvodu snaha rozložit model na dílčí atomické koncepty a identifikovat mezi koncepty vazby

Konflikty v konceptuálním modelu dekompozice- dílčí atomické koncepty umožňují lepší náhled umožňují lépe vyjádřit důležité detaily zjednodušují práci s logickým modelem

úkolem logického modelu je najít souvislosti mezi atributy(vlastnostmi) a koncepty ke kterému konceptu přesně vlastnost patří souvislosti mezi koncepty- identifikovat typy vazeb

úkolem logického modelu je najít souvislosti mezi atributy(vlastnostmi) a koncepty ke kterému konceptu přesně vlastnost patří souvislosti mezi koncepty- identifikovat typy vazeb v případě potřeby je možné se vrátit na konceptuální úroveň a model modifikovat

úkolem logického modelu je najít souvislosti mezi atributy(vlastnostmi) a koncepty ke kterému konceptu přesně vlastnost patří souvislosti mezi koncepty- identifikovat typy vazeb v případě potřeby je možné se vrátit na konceptuální úroveň a model modifikovat entita: koncept rozšířený o výčet atributů

na základě hodnot atributů na levé straně jsem schopen jednoznačně odvodit hodnoty atributů na pravé straně jsou součástí modelu- tj jsou definovány návrhářem

na základě hodnot atributů na levé straně jsem schopen jednoznačně odvodit hodnoty atributů na pravé straně jsou součástí modelu- tj jsou definovány návrhářem příklad definuji, že na základě označení budovy jsem schopen zjistit adresu budovy, tj. budova adresa

na základě hodnot atributů na levé straně jsem schopen jednoznačně odvodit hodnoty atributů na pravé straně jsou součástí modelu- tj jsou definovány návrhářem příklad definuji, že na základě označení budovy jsem schopen zjistit adresu budovy, tj. budova adresa definuji, že na základě času, senzoru a veličiny jsem schopen zjistit naměřenou hodnotu, tj. {cas, senzor, velicina} hodnota

na základě hodnot atributů na levé straně jsem schopen jednoznačně odvodit hodnoty atributů na pravé straně jsou součástí modelu- tj jsou definovány návrhářem příklad definuji, že na základě označení budovy jsem schopen zjistit adresu budovy, tj. budova adresa definuji, že na základě času, senzoru a veličiny jsem schopen zjistit naměřenou hodnotu, tj. {cas, senzor, velicina} hodnota pozor, funkční závislost obecně nelze odvozovat z dat čas budova adresa místnost senzor veličina hodnota 2010-01-01 15:00 A Technická 2, Praha 6 200 S1 teplota 20 2010-01-01 15:00 A Technická 2, Praha 6 200 S1 tlak 1020 2010-01-01 15:00 B Technická 3, Praha 6 100 S2 teplota 28 např. z toho, že byl měřen tlak, nevyplývá, že měření proběhlo 2010-01-01 15:00

pokud jsme nedekomponovali na úrovni konceptů, můžeme dekomponovat na logické úrovni PokudventitějefunkčnízávislostA 1 A 2 azároveň A 2 A 3,provedemedekompozici vytvořímenovouentituobsahujícíatributya 2 A 3 způvodníentityodstranímeatributya 3 hledámemaximálněpočetnéa 3 aminimálněpočetnéa 2 Příklad: čas,budova,adresa,místnost,senzor,veličina,hodnota

pokud jsme nedekomponovali na úrovni konceptů, můžeme dekomponovat na logické úrovni PokudventitějefunkčnízávislostA 1 A 2 azároveň A 2 A 3,provedemedekompozici vytvořímenovouentituobsahujícíatributya 2 A 3 způvodníentityodstranímeatributya 3 hledámemaximálněpočetnéa 3 aminimálněpočetnéa 2 Příklad: čas,budova,adresa,místnost,senzor,veličina,hodnota čas,budova,místnost,senzor,veličina,hodnota budova,adresa

pokud jsme nedekomponovali na úrovni konceptů, můžeme dekomponovat na logické úrovni PokudventitějefunkčnízávislostA 1 A 2 azároveň A 2 A 3,provedemedekompozici vytvořímenovouentituobsahujícíatributya 2 A 3 způvodníentityodstranímeatributya 3 hledámemaximálněpočetnéa 3 aminimálněpočetnéa 2 Příklad: čas,budova,adresa,místnost,senzor,veličina,hodnota čas,budova,místnost,senzor,veličina,hodnota budova,adresa čas,místnost,senzor,veličina,hodnota místnost,budova

pokud jsme nedekomponovali na úrovni konceptů, můžeme dekomponovat na logické úrovni PokudventitějefunkčnízávislostA 1 A 2 azároveň A 2 A 3,provedemedekompozici vytvořímenovouentituobsahujícíatributya 2 A 3 způvodníentityodstranímeatributya 3 hledámemaximálněpočetnéa 3 aminimálněpočetnéa 2 Příklad: čas,budova,adresa,místnost,senzor,veličina,hodnota čas,budova,místnost,senzor,veličina,hodnota budova,adresa čas,místnost,senzor,veličina,hodnota místnost,budova čas,senzor,veličina,hodnota senzor,místnost čas,senzor,veličina,hodnota senzor,veličina

pokud jsme nedekomponovali na úrovni konceptů, můžeme dekomponovat na logické úrovni PokudventitějefunkčnízávislostA 1 A 2 azároveň A 2 A 3,provedemedekompozici vytvořímenovouentituobsahujícíatributya 2 A 3 způvodníentityodstranímeatributya 3 hledámemaximálněpočetnéa 3 aminimálněpočetnéa 2 Příklad: čas,budova,adresa,místnost,senzor,veličina,hodnota čas,budova,místnost,senzor,veličina,hodnota budova,adresa čas,místnost,senzor,veličina,hodnota místnost,budova čas,senzor,veličina,hodnota senzor,místnost čas,senzor,veličina,hodnota senzor,veličina takto dekomponovaný model splňuje požadavek 3NF

mezi entitami při návrhu potřeba identifikovat druhy vazeb

mezi entitami při návrhu potřeba identifikovat druhy vazeb maximální kardinalita 1:1 (jedné entitě na levé straně vazby odpovídá jedna entita na pravé straně) 1:N (jedné entitě na levé straně vazby odpovídá několik entit na pravé straně) budova má více místností, místnost patří do jedné budovy N:M (několika entitám na levé straně vazby odpovídá několik entit na pravé straně) jeden senzor může měřit více veličin, jednu veličinu může měřit více senzorů

mezi entitami při návrhu potřeba identifikovat druhy vazeb maximální kardinalita 1:1 (jedné entitě na levé straně vazby odpovídá jedna entita na pravé straně) 1:N (jedné entitě na levé straně vazby odpovídá několik entit na pravé straně) budova má více místností, místnost patří do jedné budovy N:M (několika entitám na levé straně vazby odpovídá několik entit na pravé straně) jeden senzor může měřit více veličin, jednu veličinu může měřit více senzorů minimální kardinalita 1..vztahuseúčastníjednaentita povinně vyplnitelný údaj 0..vztahusenemusíúčastnitžádnáentita nepovinně vyplnitelný údaj minimální a maximální kardinality mohou nabývat libovolného přirozeného čísla

mezi entitami (příklad tabule)

N:M vazby N:M vazbu lze vyjádřit pomocí tzv. vazební tabulky obsahuje dvě 1:N vazby ER Model Model obsahující pouze entity a 1:N vazby(relationships)

Primární a cizí klíč Primární klíč: minimální množina atributů z entity, která jednoznačně identifikuje záznam ze které lze jednoznačně odvodit zbylé atributy z entity Cizí klíč: množina atributů v nějaké entitě, které odpovídá primární klíč v odkazované entitě příklad: udekompozice(a 1 A 2 A 3 ): A 2 vnovéentitějeprimárnímklíčem tj.a 3 vnovéentitějeza 2 odvoditelné (nebfunkčnízávilosta 2 A 3 ) A 2 ponechanévpůvodníentitě-cizíklíčdonovéentity Primární a cizí klíč jsou svázány referenční integritou cizímu klíči zajišťuje existenci odpovídající hodnoty primárního klíče

číselné integer, float, numeric textové char(n)..textopevnédélcenznaků varchar(n)..textoproměnnédélcedonznaků,n <256 text ostatní timestamp..čas další, viz dokumentace

Datový typ klíče datové typy, porovnání jejihž hodnot je výpočetně složité, jsou nahrazeny datovými typy s jednoduchým porovnáním typickýpříklad:text integer POZOR: nutno zachovat unikátnost původního klíče klíčové slovo UNIQUE příklad entita budova obsahuje primární klíč udávající označení budovy tento klíč je nahrazen virtuálním klíčem id budova typu integer k původnímu primárnímu klíči je vytvořen unikátní index