Různé úrovně pohledu na data

Podobné dokumenty
DBS Databázové modely

DBS Databázové modely

Databázové systémy BIK-DBS

Relační model dat (Codd 1970)

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

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

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

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ů.

Diagram výskytů a vztahů

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

DBS Konceptuální modelování

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

DBS Normální formy, normalizace

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

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

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

DBS Konceptuální modelování

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

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

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

Konceptuální modelování. Pavel Tyl

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

Michal Krátký, Miroslav Beneš

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

Konceptuální modelování

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

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

Databázové systémy úvod

Tvorba informačních systémů

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

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

Analýza a modelování dat 3. 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í

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

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

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

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

04 - Databázové systémy

Databázové systémy BIK-DBS

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

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

Využití XML v DB aplikacích

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

Databáze. Logický model DB. David Hoksza

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

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

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

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

Použití databází na Webu

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

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

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

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

Databázové systémy úvod

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

PRG036 Technologie XML

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

Hierarchický databázový model

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

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

Datové modelování II

Kvalita relačního schématu, normalizace

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

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

Databázové systémy trocha teorie

Databázové systémy úvod

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

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

Databáze SQL SELECT. David Hoksza

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

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

SQL - trigger, Databázové modelování

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

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

Tvorba informačních systémů

RELAČNÍ DATABÁZOVÉ SYSTÉMY

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

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

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

DBS Transformace konceptuálního schématu na

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

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

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

4IT218 Databáze. 4IT218 Databáze

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

4IT218 Databáze. 4IT218 Databáze

Normalizace rela ního schématu

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

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

Data v informačních systémech

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

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

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

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ř.

Databázové systémy. modelování. Tomáš Skopal. - úvod. - konceptuální datové

Maturitní témata Školní rok: 2015/2016

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

8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1

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

Transkript:

Různé úrovně pohledu na data vnější pohled vnější pohled vnější pohled Fyzická úroveň konceptuální schéma Databázové schéma úložiště jako množina souborů úložiště jako množina BOIS bloků Úroveň analytických konceptů Úroveň implementačních konceptů 1

Konceptuální, logická, fyzická uroveň Konceptuální zabývá se modelováním reality, není ovlivněna budoucími prostředky řešení (E-R model, Class Diagram,...). Logická vztahuje se ke konkrétnímu datovému modelu a používá jeho konstrukční dotazovací a manipulační prostředky (relační, objektová, síťová, hierarchická, XML,...). Fyzická jde o fyzické uložení dat (sekvenční soubory, indexy, clustery,...). Programátor je od ní typicky odstíněn vrstvou SŘBD. 2

Konceptuální modelování v polovině 70. let - konceptuální modely společné chápání objektů aplikace uživateli, projektanty, integrace různých uživatelských pohledů Výsledek je vstupem pro návrh implementace důvody: nízká úroveň pohledu na data obtížná komunikace nad schématem se zákazníkem 3

Konceptuální modelování de facto standard: E-R diagramy (1976) entitní množiny Atributy entit vztahové typy účast ve vztahu Atributy vztahů integritní omezení Identifikátory Násobnost účasti (kardinalita a parcialita vztahu) Kino Hraje Film N M Název-k Adresa Jméno-v Čas Jméno_f Režisér 4

Logické (databázové) modely Síťový model (60. léta 20. století) Hierarchický (konec 60. let lze chápat jako specializaci síťového modelu) Relační model (začátek 70. let) Objektový model (80. léta, lze chápat jako rozšíření síťového modelu) Objektově relační model (90. léta komerčně úspěšný kočkopes ) XML model (konec 90. let, mnoho prvků hierarchického modelu) 5

Logické (databázové modely) Volba databázového modelu typicky určuje také prostředky pro vytváření struktury databáze (DDL), prostředky pro tvorbu aplikací (DML, dotazovací jazyk, TCL, DCL) Příklady: Relační model SQL Objektový model OQL XML model Xpath, XQuery 6

Databázové modely síťový model Blaník Mír schéma výskytů Václ.n. 4 Starostrašnická 3 08.03.94 09.03.94 29.03.94 09.03.94 10.03.94 Kmotr Vzorec Top gun Černí Baroni Nováček Brando Brando Cruise McGillis Vetchý Landovský Brando 72 80 86 94 90 7

Síťový model, diagram na úrovni typů (Bachman) KINO NÁZEV_K Má_na_programu FILM JMÉNO_F typ Záznam ADRESA typ SET (C-množina ) HEREC* ROK typ Záznam každému entitnímu typu odpovídá jeden typ Záznam každému vztahovému typu 1:N odpovídá jeden typ Set 8

Bachmanův diagram, síťový model KINO NÁZEV_K FILM JMÉNO_F ADRESA schéma na úrovni typů M:N dává MÁ_NA_PROGRAMU DATUM HEREC* ROK je dáván Průnikový záznam 9

Schéma na úrovni typů hierarchického modelu KINO NÁZEV_K ADRESA FILM JMÉNO_F HEREC* * označuje opakující se položku MÁ_NA_PROGRAMU DATUM JMÉNO_F ROK JE_NA_PROGRAMU DATUM NÁZEV_K konstrukty: typ segment, vztah daný typ segmentu je rodič jiného typu segmentu 10

Síťový DB 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 Po transformaci E-R schématu do síťového Každému entitnímu typu odpovídá jeden typ Record Každému vztahovému typu 1:N odpovídá jeden typ Set 11

Síťový DB model, operace vytvoř nový záznam daného typu, zruš daný záznam, změň daný záznam, zařaď členský záznam do výskytu c-množiny daného vlastníka vyřaď daný člen z daného výskytu c-množiny najdi první člen ve výskytu c-množiny daného vlastníka, najdi následovníka ve výskytu c-množiny daného vlastníka, najdi vlastníka ve výskytu c-množiny známého člena 12

Navigační jazyk u síťového modelu Které filmy jsou dávány v kině Blaník a kdy? KINO NÁZEV_K ADRESA Begin Najdi KINO záznam (NAZEV= Blaník ); DATUM Get KINO; Najdi prvního člena v dává MÁ_NA_PROGRAMU; While Not EOL Do Get MÁ_NA_PROGRAMU into A; Print (A.Datum); Najdi vlastníka k A v dáván; Get FILM into B; Print (B.Nazev); Najdi následovníka v dává; End; End; MÁ_NA_PROGRAMU FILM JMÉNO_F Průnikový záznam HEREC* ROK 13

Relační DB model jediný konstrukt - relace schéma relace; jméno relace, jména atributů a specifikace domén atributů prvky domén jsou atomické hodnoty (1. normální forma) formální zápis: R(A1:D1,...,An:Dn) KINO(NAZEV_K:CHAR(15),ADRESA:CHAR(25) ) Integritní omezení: primární klíč, cizí klíč 14

Relační model KINO NÁZEV_K ADRESA Blaník Václ.n. 4 Vesna Olšiny 6 Mír Strašnická 3 Domovina V dvorcích FILM JMÉNO_F HEREC ROK Černí baroni Vetchý 94 Černí baroni Landovský 94 Top gun Cruise 86 Top gun McGillis 86 Kmotr Brando 72 Nováček Brando 90 Vzorec Brando 80 MÁ_NA NÁZEV_K JMÉNO_F DATUM PROGRAMU Blaník Top gun 29.03.94 Blaník Kmotr 08.03.94 Mír Nováček 10.03.94 Mír Top gun 09.03.94 Mír Kmotr 08.03.94 schéma výskytů 15

Relační model, schéma relací KINO(NAZEV_K, ADRESA) FILM(JMENO_F, HEREC, ROK) MA_NA_PROGRAMU(NAZEV_K, JMENO_F, DATUM) IO: 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 16

Relační DB model, operace vytvoř novou relaci (tabulku) přidej novou n-tici (řádek) do dané relace (tabulky) vymaž n-tice (řádky) zadaných vlastností 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 ve vybraných n-ticích (řádcích) zadané relace (tabulky) změň hodnoty zadaných prvků (polí) vytvoř novou relaci (tabulku) ze zadaných relací (tabulek) pomocí množinových operací sjednocení, průnik, rozdíl vytvoř novou relaci (tabulku) ze zadaných relací (tabulek) jako podmnožinu jejich kartézského součinu - spojení 17

Dotazování v relační databázi Které filmy jsou dávány v kině Blaník a kdy? (KINO(NAZEV_K= Blaník )* MA_NA_PROGRAMU * FILM)[jmeno_f,datum] 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) 18

Integritní omezení (IO) IO jsou tvrzení vymezující korektnost DB definují se na konceptuální i databázové úrovni název_k jednoznačně určuje řádky tabulky Kina daný film si lze rezervovat v půjčovně, jen když jsou všechny jeho kopie vypůjčeny čtenář si může vypůjčit nejvýše 6 filmů (kopií) vypůjčující musí být v seznamu zákazníků 19

Objektový DB model - příklad 20

Objektový datový 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řípustných zpráv (ne atributů jako v RDM). Jedna množina 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ímimi, ale i vnějšími vazbami. Klíče jsou interní záležitostí systému. 21

XML databázový model Podobá se hierarchickému (XML dokument je chápán jako strom (DOM)) Aplikační doména? (vhodnost použití) Datový model: elementy, atributy, PCDATA, zachování pořadí (document order). Někdy bohatší. Silné a standardizované dotazovací jazyky (XPath, XQuery) Monoho implementací a mnoho věcí stále ve vývoji (indexování, zamýkání,...) 22

XML DB model příklad datově or. <addressbook> <person> <name> Michal Valenta </name> <tel> 2 2435 7313 </tel> <tel> 2 2435 7258 </tel> <email> valenta@fel.cvut.cz </email> </person> <person> <name> Josef Švejk </name> <email> svejk.josef@hasek.net </email> </person> </addressbook> 23

XML DB model příklad dokum. or. <?xml version="1.0" encoding="utf-8"?> <slidesinfo> <title>xml Database Mnagement Systems</title> <author>michalvalenta</author> </slidesinfo> <foil> <title>xml DBMS "definition"</title> <orderedlist> <listitem> <para>defines a (logical) model for an <emphasis>xml document</emphasis> and stores and retrieves documents according... 24

XML DB model příklad DTD str. SCHEDULE ( DATE?, STATION+ ) STATION (NETWORK*, CALL_LETTERS*, CHANNEL*, SHOW+) SHOW ( NAME?,TITLE*, TYPE?, EPISODE_NUMBER?, START_TIME?, LENGTH?, AIR_DATE?, ORIGINAL_AIR_DATE?,YEAR_MADE?, CLOSED_CAPTIONED?, REPEAT?,RATING*, STARS*, DESCRIPTION*, DIRECTOR*, WRITER*, CAST*, PRODUCER*) DIRECTOR (GIVEN_NAME*,MIDDLE_INITIAL*, SURNAME*)+ WRITER (GIVEN_NAME*,MIDDLE_INITIAL*, SURNAME*)+ CAST ( ACTOR*) ACTOR (GIVEN_NAME*,MIDDLE_INITIAL*, SURNAME*) PRODUCER ( GIVEN_NAME*, MIDDLE_NAME*, SURNAME*) <!-- Attributes --> <!ATTLIST SCHEDULE id ID #IMPLIED> 25

XML DB model příklady XPath Všecny tituly v databázi /BOOK/TITLE Všichni autoři //AUTHOR/ Kapitoly, které se skládají přesně ze dvou sekcí //CHAPTER[count(SECTION) = 2] Knihy z kategorie technology napsané autorem Scott. /BOOK[@CLASS='technology' and AUTHOR='Scott'] 26

XML DB model příklady XQuery Rok a názvy knih vydaných před rokem 2000. for $book in /BOOKS/BOOK where $book/@year < 2000 return <BOOK> { $book/@year, $book/title} </BOOK> Názvy knih seskupené podle autorů. for $author in distinct(/books/book/author) return <AUTHOR NAME="{ $author }"> { /BOOKS/BOOK[AUTHOR = $author]/title} </AUTHOR> 27

V tomto předmětu se budeme dále věnovat výhradně relačnímu databázovému modelu. Je dobře si uvědomit, že: 1. RM není jediný, ze kterého si můžeme vybírat. 2. Pro určitý typ aplikace nebo aplikační doménu můžeme výběrem vhodného DB modelu mnoho ušetřit. 3. Volbu DB modelu je třeba dobře uvážit a zdůvodnit. 28