DBS Databázové modely

Podobné dokumenty
DBS Databázové modely

Databázové modely. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 2

Různé úrovně pohledu na data

Databázové systémy BIK-DBS

DBS Konceptuální modelování

DBS relační DB model, relační algebra

Relační model dat (Codd 1970)

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

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

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

DBS Konceptuální modelování

Diagram výskytů a vztahů

Jazyk SQL 1. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12

Databázové systémy úvod

Databázové systémy úvod

Konceptuální modelování

Databázové systémy BIK-DBS

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

DBS Transformace konceptuálního schématu na

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

DBS Normální formy, normalizace

Databázové systémy úvod

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

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

Ukládání a vyhledávání XML dat

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

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

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émy. Doc.Ing.Miloš Koch,CSc.

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

Nerelační databázové modely. Helena Palovská

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

Použití databází na Webu

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

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

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

RELAČNÍ DATABÁZOVÉ SYSTÉMY

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

Konceptuální modelování

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

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

Konceptuální modelování. Pavel Tyl

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

Databáze. Logický model DB. David Hoksza

Jazyk SQL 2. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c M.Valenta, 2011 BI-DBS, ZS 2011/12

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

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Transformace ER SQL. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 9

4IT218 Databáze. 4IT218 Databáze

MBI - technologická realizace modelu

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

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

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

Databáze SQL SELECT. David Hoksza

Michal Krátký, Miroslav Beneš

4IT218 Databáze. 4IT218 Databáze

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

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

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

Normalizace rela ního schématu

Architektura softwarových systémů

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

OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013

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á

předměty: ukončení: Zápočet + Zkouška / 5kb např. jméno, název, destinace, město např. student Jan Novák, narozen

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

Tvorba informačních systémů

Hierarchický databázový model

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

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

SQL - úvod. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 6

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model

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

04 - Databázové systémy

Tvorba informačních systémů

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

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

Informační systémy ve zdravotnictví. 6. cvičení

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

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

Databázové systémy trocha teorie

Business Intelligence

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d

Fakulta elektrotechniky a informatiky Databázové systémy 2. Leden 2010 souhrn. Červené dobře (nejspíš), modré možná

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

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

TÉMATICKÝ OKRUH Softwarové inženýrství

Konceptuální datové modely používané při analýze

Programování a implementace Microsoft SQL Server 2014 databází

Úvod, terminologie. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 1

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

RELAČNÍ DATABÁZE. Cíl:

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

Využití XML v DB aplikacích

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

Oracle XML DB. Tomáš Nykodým

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

Databázové a informační systémy Jana Šarmanová

Integrace relačních a grafových databází funkcionálně

Transkript:

DBS Databázové modely Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2012/13 https://edux.fit.cvut.cz/courses/bi-dbs/ Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 1 / 39

Databázové modely stručný přehled na začátek 3 úrovně pohledu na data konceptuální modelování (ER, UML Class Diagram) logické (databázové) modely (popis, příklad) sít ový hierarchický relační objektový XML Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 2 / 39

Různé úrovně pohledu na data Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 4 / 39

Konceptuální, logická, fyzická úroveň Konceptuální Zabývá se modelováním reality. Snaží se nebýt ovlivněna budoucími prostředky řešení. Používá se grafická notace (obvykle ER model nebo UML Class Diagram), případně další IO. Logická (databázová) Vztahuje se ke konkrétnímu databázovému modelu a používá jeho konstrukční dotazovací a manipulační prostředky (relační objektová, sít ová, hierarchická, XML,...). Fyzická Jde o fyzické uložení dat (sekvenční soubor, indexy, clustery,...). Uživatelé (programátoři aplikací, příležitostní uživatelé) je od ní odstíněn logickou vrstvou SŘBD. Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 5 / 39

Konceptuální modelování databází V polovině 70. let 20. století. Nejdůležitější přínosy: společné chápání objektů aplikace uživateli a projektanty, integrace různých uživatelských pohledů, výsledek je vstupem pro realizaci databáze, slouží jako dokumentace. Důsledky vypuštění konceptuální úrovně : Příliš nízká úroveň pohledu na data: obtížná komunikace se zadavatelem (zákazníkem), neumožní realizaci větší databáze. V rozsáhlejší databázi je velmi těžké se zorientovat. Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 7 / 39

Konceptuální modelování E-R diagramy (1976) de facto standart (pro relační databáze) chenova notace binární ER (Oracle) mnoho dalších... Konstrukty ER: entitní množiny (entity) atributy entit vztahové typy (vztahy) účast ve vztahu atributy vztahů integritní omezení identifikátory násobnost účasti (kardinalita a parcialita vztahu) Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 8 / 39

UML Class Diagram součást UML implementace v mnoha návrhových nástrojích, včetně automatických generátorů databázového modelu (DDL), Enterprise Architekt, UML Star, Rational Rose,... UML (a Class Diagram) je objektově orientovaná notace výhodné pro objektově orientovanou implementaci většina (současných) databází je však relační (resp. OR) pro návrh databáze se často nevyužívají všechny výrazové prostředky (jednodušší Class Diagram má přímočarý překlad do zvoleného JDD na databázové úrovni, převod složitějších konstrukcí nemusí být jednoznačný nebo úplný a může působit problémy, viz například ISA hierarchie v dalších přednáškách). Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 9 / 39

ER různé notace Binary UML Class Diagram Chen Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 10 / 39

Logické (databázové) modely sít ový - 60. léta 20. století hierarchický - konec 60.let; lze chápat jako specializaci sít ového modelu relační 70.leta objektový - 80.léta; lze chápat jako rozšíření sít ového modelu objektově-ralační - 90-léta; komerčně úspěšný kříženec relačního a objektového modelu; podpora ve standardech SQL (SQL99, SQL2003) XML - konec 90 let, mnoho prvků hierarchického modelu; aplikační doména?; zpracování XML dat také proniká do standardu SQL Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 12 / 39

Logické (databázové) modely Volba databázového modelu určuje prostředky pro vytváření struktury databáze (DDL) a prostředky pro tvorbu aplikací (DML, dotazovací jazyk, TCL, DCL) Příklady: relační model - SQL Objektový model - OQL XML model - Xpath, XQuery Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 13 / 39

Sít ový model příklad schéma výskytů Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 15 / 39

Sítový model datové typy datový typ Record (záznam), který se podobá pascalskému datovému typu File of record datový typ Set (C-množina); dvojice různých datových typů Record, který se podobá datovému typu Seznam) Poznámka: Snadná konverze mezi ER a sít ovým modelem: Každému entitnímu typu odpovídá jeden typ Record Každému vztahovému typu 1:N odpovídá jeden typ Set Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 16 / 39

Sítový model operace vytvoř nový záznam daného typu, zruš záznam, změn záznam zařad členský záznam do c-množiny daného vlastníka vyřad daný člen z c-množiny najdi první člen v c-množině daného vlastníka najdi následovníka v c-množině daného vlastníka najdi vlastníka daného člena c-množiny Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 17 / 39

Sít ový model Bachmanův diagram návrh 1 Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 18 / 39

Sít ový model Bachmanův diagram návrh 2 Blíže realitě než předchozí návrh. Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 19 / 39

Sít ový model, příklad navigace Dotaz: Vypiš program kina Blaník. Begin Najdi KINO záznam (NAZEV= Blaník ); Get KINO; Najdi prvního člena v MÁ_NA_PROGRAMU; While Not EOF MÁ_NA_PROGRAMU Do Get MÁ_NA_PROGRAMU into A; Print (A.Datum); Najdi vlastníka k A ve FILM; Get FILM into B; Print (B.Nazev); Najdi následovníka v MA_NA_PROGRAMU; End; End; Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 20 / 39

Hierarchický model specializace modelu sít ového sít ový = orientovaný graf, hierarchický = strom omezené použití (nevhodné pro náš příklad!) vhodné pro modelování typu část/celek aplikace evidence součástek v projektu Apolo Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 21 / 39

Hierarchický model příklad Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 22 / 39

Relační model charakteristika Jediný konstrukt relace schéma relace: jméno relace, jména atributů, specifikace domén atributů prvky domén jsou atomické hodnoty (1.normální forma) formální zápis R(A1:D1,...,An:Dn) příklad: KINO(NAZEV_K:CHAR(15), ADRESA:CHAR(25)) Integritní osemení: primární klíč, cizí klíč Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 23 / 39

Relační model příklad schéma KINO(NAZEV_K, ADRESA) FILM(JMENO_F, HEREC, ROK) MA_NA_PROGRAMU(NAZEV_K, JMENO_F, DATUM) Integritní omezení: primární klíče: NAZEV_K JMENO_F {NAZEV_K, JMENO_F} cizí klíče MA_NA_PROGRAMU.NAZEV_K MA_NA_PROGRAMU.JMENO_F IO relace MA_NA_PROGRAMU jsou příliš silná. Proč? Nelze aby jedno kino hrálo jeden film víckrát (v jiný den a/nebo čas). Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 24 / 39

Relační model příklad data KINO NÁZEV_K ADRESA Blaník Václ. n. 4 Vesna Olšiny 3 Mír Strašnická 3 Domovina V dvorcích 7 MA_NA_PROGRAMU NÁZEV_K JMENO_F DATUM Blaník Top Gun 29.3. 1994 Blaník Kmotr 8.3. 1994 Mír Nováček 10.3. 1994 Mír Top gun 9.3. 1994 Mír Kmotr 8.3. 1994 FILM JMENO_F HEREC ROK Černí baroni Vetchý 1994 Černí baroni Landovský 1994 Top gun Cruise 1986 Top gun McGillis 1986 Kmotr Brando 1972 Nováček Brando 1990 Vzorec Brando 1980 Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 25 / 39

Relační model operace vytvoř novou relaci (tabulku) přidej novou n-tici (řádek) do dané relace (tabulky) vymaž n-tice (řádky) zadaných vlastností ve vybraných n-ticích (řádcích) zadané relace (tabulky) změn hodnoty zadaných prvků (polí) vytvoř novou relaci (tabulku) ze zadané relace: výběrem n-tic (řádků) zadaných vlastností selekce výběrem zadaných atributů (sloupců) projekce vytvoř novou relaci (tabulku) ze zadaných relací (tabulek) pomocí množinových operací sjednocení, průnik,rozdíl, kartézský součin vytvoř novou relaci (tabulku) ze zadaných relací pomocí operace spojení Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 26 / 39

Relační model dotazování příklad Dotaz: Vypiš program kina Blaník. relační algebra (KINO (NAZEV_K = Blaník ) * MA_NA_PROGRAMU * FILM) [jmeno_f, datum] SQL Select Jmeno_F, Datum From KINO K JOIN MA_NA_PROGRAMU MNP ON (K.NAZEV_K= Blaník and K.NAZEV_K= MNP.NAZEV_K) JOIN FILM USING (Jmeno_F); Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 27 / 39

Objektový model charakteristika Objekty = data + metody. Mezi objekty existuje skládání, dědění, závislost, klasifikace podle tříd,... Strukturované informace není třeba rozdělovat jako v RDM. Protokol objektu je dán množinou přístupných zpráv (ne atributů jako v RMD). Jedna množina (objektů) může s využitím polymorfismu obsahovat objekty s různou strukturou dat i metod. Je rozdíl mezi množinou objektů a třídou. Identita objektu je dána nejen vnitřními, ale i vnějšími vazbami. Klíče jsou interní záležitostí. Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 28 / 39

Objektový model konstrukty základní konstrukt objekt generován jako instance dané třídy (která nese informace o jménech atributů, specifikaci domén atributů, názvech metod,...) má stav (hodnoty atributů) množinové konstrukce - kolekce: set, bag, list, array, dictionary,... množinové operace so:, select:, collect:, detect:, inject:, reject:, intersect:, union:,... Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 29 / 39

Objektový model příklad Metody objektu Kino: programna: datum ^predstaveni select: [:p p datum = datum] vsechnyfilmy ^(predstaveni collect: [:p p film]) asset Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 30 / 39

XML model charakteristika Podobá se hierarchickému XML dokument je obvykle chápán jako strom; DOM API pro přístup. Aplikační doména? Datový model : elementy, atributy, PCDATA, zachovává pořadí (document oder). Někdy je bohatší. Silné a standardizované dotazovací jazyky (XPath,XQuery) Mnoho implementací a mnoho věcí stále ve vývoji (indexování, zamykání,...) Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 31 / 39

XML model příklad schématu DTD <!ELEMENT program (kino*)> <!ELEMENT kino (nazev_k, adresa, hraje*)> <!ELEMENT hraje (film, datum)> <!ELEMENT film (nazev_f, herec, rok)> <!ELEMENT nazev_k (#PCDATA)> <!ELEMENT adresa (#PCDATA)> <!ELEMENT datum (#PCDATA)> <!ELEMENT nazev_f (#PCDATA)> <!ELEMENT herec (#PCDATA)> <!ELEMENT rok (#PCDATA)> Poznámka Toto schéma bude jistě obsahovat množství opakujících se hodnot. Zřejmě by bylo nevhodné i pro DML operace (aktualizační anomálie). Naopak by bylo vhodné pro přímé vygenerování reportu (html, pdf,...) s programem jednotlivých kin. Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 32 / 39

XML model příklad data <program> <kino> <nazev_k> MAT </nazev_k> <adresa> Karlovo nám. 18, Praha 2 </adresa> <hraje> <film> <nazev_f> Forest Gump </nazev_f> <herec> Tom Hanks </herec> <rok> 1998 </rok> </film> <datum> 3.1. 2007 </datum> <film> <nazev_f> Vratné láhve </nazev_f> <herec> Zdeněk Svěrák </herec> <rok> 2006 </rok> </film> <datum> 17. 5. 2007 </datum> </hraje> </kino> <kino>... </kino>... </program> Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 33 / 39

XML model příklad XPath Názvy kin v databázi : /program/kino/nazev_k Všichni herci: //herec Kina, která mají na programu aspoň 3 filmy: //kino[count(./hraje/film)>2]/nazev_k Filmy, které hrají v kině Blaník: //kino[nazev_k= Blanik ]//nazev_f Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 34 / 39

XML model příklad XQuery Dotaz: Názvy filmů se seznamem kin, kde se hrají let $kina := "file:///home/valenta/vyuka/dbs/2007/kina.xml" return element obraceny_vypis { for $film in distinct (doc ($kina)//nazev_f) return element film {$film/text(), element se_hraje_v {doc ($kina)//kino [hraje/film/nazev_f = $film/text()]/nazev_k} } } Jedná se vlastně o inverzní výpis databáze. Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 35 / 39

Nové trendy v databázích NoSQL ACID verzus BASE (Basically Available, Soft-state, Eventually consistent) nové aplikační domény: web, texty, semistrukturovaná data velké množství datových modelů - column-based, key-value, document oriented, graph,... BigData nová platforma pro podniková data v nejobecnějším smyslu pouze cca 10% dat v podniku je přísně stukturovaných (maily, smlouvy, objednávky, zápisy,...) roste důležitost data maning a hlavně prezentace dotových analýz (KPI, cockpit,...) Distribuce, replikace, cloudy distribuce a replikace nejen pro podporu bezpečnosti, ale hlavně škálování horizontální škálování je snadné u jednoduchých DB modelů velká funkční cloudová řešení (amazon, google,...) database as a service přístup (DaaS), opensource je v databázích brán velmi vážně Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 37 / 39

Shrnutí V tomto předmětu jsme se věnovali relačnímu databázovému modelu. Je však dobré si uvědomit, že: Relační model není jediný, ze kterého si můžeme vybírat. Pro určitý typ aplikace nebo aplikační doménu můžeme výběrem vhodného DB modelu mnoho ušetřit. Volbu DB modelu je třeba dobře uvážit a zdůvodnit. Michal Valenta (FIT ČVUT) DBS Databázové modely BI-DBS, 2012 39 / 39