DBS Konceptuální modelování

Podobné dokumenty
Konceptuální modelování

DBS Konceptuální modelování

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

Konceptuální modelování

Diagram výskytů a vztahů

DBS Transformace konceptuálního schématu na

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

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

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

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

DBS Databázové modely

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

DBS Databázové modely

Konceptuální modelování. Pavel Tyl

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

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

A5M33IZS Informační a znalostní systémy. O čem předmět bude? Úvod do problematiky databázový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

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

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

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

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

Seminá e. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, sem. 1-13

4IT218 Databáze. 4IT218 Databáze

Databáze. Logický model DB. David Hoksza

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

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

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

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

DATOVÉ MODELOVÁNÍ ER MODEL

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

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

Etapy tvorby lidského díla

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

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

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

Analýza problémové domény

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

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

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

Databázové systémy úvod

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

Petr Křemen. Katedra kybernetiky, FEL ČVUT. Petr Křemen (Katedra kybernetiky, FEL ČVUT) Sémantické sítě a rámce 1 / 112

Databázové systémy BIK-DBS

Úvod do softwarového inženýrství IUS 2009/2010 p.1/30

Modelový příklad Knihovna Vypracovaný příklad ze cvičení včetně komentářů k řešení

Objektově orientované databáze. Miroslav Beneš

2. Konceptuální model dat, E-R konceptuální model

Databázové systémy úvod

Fyzické uložení dat a indexy

Objektové modelování BI-OMO 4. cvičení

RELAČNÍ DATABÁZOVÉ SYSTÉMY

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

Databázové systémy BIK-DBS

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

Relace x vztah (relationship)

Návrh databázového modelu

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í

Strukturované metodologie

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

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

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

DBS Normální formy, normalizace

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

Teorie zpracování dat DATABÁZOVÁ TECHNOLOGIE

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

Architektura softwarových systémů

Souvislost E-R schématu s relačním

Různé úrovně pohledu na data

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ÁZÍ I (DISTANČNÍ VÝUKOVÁ OPORA)

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

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

4IT218 Databáze. 4IT218 Databáze

Jazyk UML - přehled. diagram hierarchie procesů. IS firmy. podpora řízení. evidence zaměstnanců. pokladny. výroba. diagram procesních vláken

Databázové systémy 1. Studijní opora. Ing. Zbyněk Bureš. Ph.D.

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

Terminologie v relačním modelu

VŠB FEI - Technická Univerzita Ostrava. DAIS - Projekt. Dopravní podnik. Jméno: Matěj Kotyz (KOT0177)

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

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

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. Cvičení 1

Databázové systémy úvod

7.3 Diagramy tříd - základy

Metodika návrhu databáze

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

7.3 Diagramy tříd - základy

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

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

Informační systémy a datové sklady IS uměleckých galerií Analýza datového skladu

OOT Objektově orientované technologie

6 Objektově-orientovaný vývoj programového vybavení

Diagramy tříd - základy

Tvorba informačních systémů

7.5 Diagram tříd pokročilé techniky

UML úvod. Zdroje: Kanisová Hana, Müller Miroslav: UML srozumitelně, Computer Press 2007

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

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

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

Transkript:

DBS Konceptuální modelování 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 Konceptuální modelování BI-DBS, 2012 1 / 42

Různé úrovně pohledu na data Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 3 / 42

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 Konceptuální modelování BI-DBS, 2012 4 / 42

Konceptuální modelování databází - proč? 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 Konceptuální modelování BI-DBS, 2012 6 / 42

Návrhy IS postaru Funkční a datová analýza relativně oddělená. Funkční schéma výsledek funkční analýzy a návrhu. Kdo bude používat aplikaci? Kategorie uživatelů systému. Pracovní postupy v organizaci, které mají být počítačově podporovány. Události, která spouští počítačově podporovaný pracovní postup. Datové schéma výsledek datové analýzy a návrhu. Problém: udržení konzistence funkční a datové analýzy. Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 8 / 42

Návrh IS v objektově orientovaném prostředí Funkční a datová analýza není tak striktně oddělená. Objektový přístup zdůrazňuje zapouzdření dat, pracuje s voláním metod na objektech. Masivně využívá konstrukce jako agregace, kompozice, dědění. UML notace je objektově orientovaná. Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 9 / 42

Prvky konceptuálního modelu orientace na entity (třídy) a vztahy (asociace) mezi nimi entity (třídy), instance (objekty) atributy doména, povinnost, identifikátor/unikátnost vztahy (asociace) obecný vztah (asociace) kardinalita, parcialita identifikační vztah (slabá a silná entita) ISA-hierarchie (podtyp jako specializace) nepřehánět a pozor na sémantiku!!! Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 10 / 42

Tvorba datového modelu postup Identifikace entit (entitních typů) jako tříd objektů stejného typu. příklady entit FILM, ZÁKAZNÍK, ZAMĚSTNANEC, KOPIE Identifikace vztahů (vztahových typů), do kterých entity mohou vstupovat : příklady vztahu ZAKAZNÍK (entita) MÁ_PŮJČEN (vztah) FILM (entita) Identifikace atributů popisujících blíže vlastnosti entit a vztahů. Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 12 / 42

Atributy a IO Příklady atributů: příjmení (atribut) zaměstnance (entita), rodné číslo (atribut) zaměstnance (entita), datum (atribut vztahu), do kdy má zákazník (entita) půjčenou (vztah) kopii filmu (entita). Příklady integritních omezení (IO): Doménou atributu vaha (entity zákazník) je integer. Atribut vaha (entity zákazník) musí mít jednu hodnotu (pro jednoho zákazníka). Atribut rodné číslo je identifikátorem entity zákazník. Atribut datum (vztahu půjčeno) může mít nejvýše jednu hodnotu. Atribut herec entity film muže mít mnoho hodnot. Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 13 / 42

Entita a vztah Lineární zápis: Entity: Film, Kino Relace: ma_na_programu (Film, Kino) Grafický zápis: Poznámka: převážně budu používat binární ER notaci (nástroj Oracle Data Modeller). Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 15 / 42

Atributy Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 16 / 42

Kardinalita 1:1 Kino hraje nejvýše jeden film. Film je na programu nejvýše jednoho kina. Poznámka: povinnost/nepovinnost členství ve vztahu (parcialitu) budeme diskutovat později. Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 17 / 42

Kardinalita 1:N Kino může hrát více filmů. Film je na programu nejvýše jednoho kina. Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 18 / 42

Kardinalita M:N Kino může hrát více filmů. Film může být na programu více kin. Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 19 / 42

Povinnost účasti ve vztahu (parcialita) povinná účast (obvykle značíme plnou čarou nebo 1 ) Všechny instance musí být zapojeny do příslušného vztahu. Kino musí mít na programu alespoň jeden film. Film musí být na programu alespoň jednoho kina. nepovinná účast (obvykle značíme přerušovanou čarou nebo 0 ) Jednotlivé instance mohou, ale nemusí být zapojeny do vztahu. Evidované kino nemusí hrát ani jeden film. (Kino může být evidováno i bez programu.) Evidujeme i filmy, které se nikde nehrají. (Film nemusí být na programu žádného kina.) Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 20 / 42

Nepovinná účast různé notace Kino může hrát více filmů (ale také žádný). Film je na programu právě jednoho kina. Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 21 / 42

Povinná účast různé notace Kino hraje alespoň jeden film (ale může více). Film je na programu právě jednoho kina. Jak takovou databázi inicializujeme? Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 22 / 42

Identifiakční závislost, slabá entita Emtita je identifikována (částačně nebo plně) vztahem k jiné entitě. Slabá entita má vlastní atribut, který se podílí na identifikaci. Slabá entita nemá vlastní atribut, který se podílí na identifikaci. K jednomu vlastníkovi může patřit nejvýše jedna identifikačně závislá instance. Každá osoba může mít nejvýše jeden profil. Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 23 / 42

Atributy ve vztahu - motivace. Chenova notace atributy u vztahu povoluje (viz prednáška o databázových modelech). Binární notace (i UML Class Diagram) vyžadují explicitní dekompozici vztahu. Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 24 / 42

Dekompozice vztahu M:N Každý vztah M:N lze dekomponovat na 2 vztahy 1:N. Bud vložíme silnou entitu: Nebo použijeme identifikační závislost: Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 25 / 42

Atributy ve vztahu - řešení Použití identifikační závislosti: Použití silné vztahové eintity: Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 26 / 42

Dekompozice vztahu M:N - řešení Použití identifikační závislosti: Pozor: v tomto případě může konkrétní kino hrát konkrétní film nejvýše jednou! Použití silné vztahové eintity: Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 27 / 42

Rekurzivní vztah Používá se k vyjádření vztahu mezi instancemi stejné entity. Přímý nadřízený, předchůdce-potomek, část-celek,... Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 28 / 42

ISA hierarchie Původně zkratka z anglického Is a Pozor, ve striktním pojetí ER modelu se vyžaduje, aby každá instance nadtypu měla právě jednu instanci podtypu. nevhodné pro role (např. student, učitel,...), lepší identifikační závislost. Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 29 / 42

Sémantický relativismus modelujeme situaci, kdy pacienti leží na pokojích zákazník zdůrazňuje, že je důležité znát na kolikalůžkovém pokoji pacient leží??? PACIENT(ID_PAC, JMENO,.., POCET_LUZEK) lépe: PACIENT(ID_PAC, JMENO...) POKOJ(ID_POKOJE, POCET_LUZEK,...) Informace o počtu lůžek na pacientově pokoji je dohledatelná ze vztahu mezi pacientem a pokojem. Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 30 / 42

Příklad - návrh videopůjčovny 1/3 Půjčovna se rozhodala použít počítač pro evidenci vyjpůček filmů. eviduje se skutečnost, kterou lze jednou větou vyjádřit jako : Danému zákazníkovi je daný film daným zaměstnancem půjčovny Poznámka: umělé versus přirozené identifikátory. Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 32 / 42

Příklad - návrh videopůjčovny 2/3... rozlišujeme KOPIE a FILMY, film si lze rezervovat: Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 33 / 42

Příklad - návrh videopůjčovny 3/3... a krom toho, chceme vědět, které filmy se ještě hrají v kinech... Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 34 / 42

Příklad 2 Multikina přehled Navrhovaná databáze se skládá ze tří logických a relativně autonomních částí (agend): evidence multikin, jejich sálů a vybavení a evidence zaměstnanců kin včetně jejich historie, evidence filmů a umělců, kteří se na nich podílejí, evidence představení a evidence prodaných vstupenek. Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 35 / 42

Příklad 2 Multikina Evidence multikin a zamestnanců Každé multikino má nějaký název a adresu. Název nemusí být unikátní. Multikino je tvořeno typicky několika sály s různou kapacitou a různým vybavením. Evidovaný zaměstnanec pracuje nejvýše pro jedno multikino. Každý zaměstnanec aktuálně pracuje nejvýše na jedné pozici, zároveň však chceme sledovat i jeho pracovní historii. U zaměstnanců sledujeme obvyklé personální údaje. Každý zaměstnanec může mít nejvýše jednoho přímého nadřízeného. Při stanovení platů zaměstnanců se může jejich vedoucí nezávazně řídit číselníkem platových tříd obsahujícím horní a spodní platovou hranici pro danou třídu. Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 36 / 42

Příklad 2 Multikina Evidence filmů a umělců U filmů evidujeme jejich název a rok natočení. Názvy filmů nemusí být unikátní. Dále chceme vědět, kdo byl režisérem příslušného filmu. Zajímají nás i herci v jednotlivých rolích. Počet sledovaných rolí pro jeden film může být libovolný. Dále je třeba mít možnost přiřadit film až do několika žánrových kategorií, stejně tak je třeba evidovat, že film byl natočen v koprodukci i více zemí. V naší databázi hodláme evidovat režiséry a herce. Zajímá nás jméno umělce, rok narození a země, ze které pochází. Umělec může být jak režisérem, tak hercem. Zároveň připust mě evidenci i takových umělců, kteří nepatří ani do jedné kategorie. Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 37 / 42

Příklad 2 Multikina Evidence představení a vstupenek Představení je dáno datem a časem, kdy se hraje, filmem, který je na programu, a sálem, kde se koná. Pro představení evidujeme prodej volných stupenek. Vstupenka je vázaná k sedadlu a je vystavena na konkrétní představení. Kromě prodeje tzv. volných vstupenek evidujeme i VIP vstupenky. VIP vstupenka má časově omezenou platnost (od a do) a také je vázaná na konkrétní kino. VIP vstupenka se vystavuje na omezený počet představení. VIP vstupenka je vázaná na konkrétní osobu, u které sledujeme pouze její plné jméno. Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 38 / 42

Příklad 2 Multikina ER schéma část 1 ZAMESTNANCI PRAC_POZICE # * id_pozice * popis_pozice o pozadavky # * id_zam * jmeno * prijmeni o tituly_pred o tiluly_za o dat_nar o plat o rodne_cislo o username o nastoupil KINA PLATOVE_TRIDY # * oznaceni * spodni_hranice * horni_hranice # * id_kino * nazev * mesto o ulice * cislo_popisne o cislo_orientacni * psc ZAM_HISTORIE # * id_historie * od o do o plat SALY # * cislo * kapacita o vybaveni # * id_vstupenky VSTUPENKY VIP * plati_od * plaiti_do * pocet_predstaveni # * id_osoby * plne_jmeno OSOBY PREDSTAVENI * sedadlo VOLNA # * id_predstaveni * datum_a_cas Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 39 / 42

Příklad 2 Multikina ER schéma část 2 REZISERI UMELCI # * id_umelce * jmeno_umelce o rok_narozeni notocen_v_koprodukci reziruje obcanstvi # * id_filmu * nazev * rok FILMY # * zeme_kod * nazev ZEME # * zanr_kod * popis ZANRY HERCI # * id_predstaveni * datum_a_cas PREDSTAVENI # * role OBSAZENI Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 40 / 42

Poznámky na závěr Notace mohou být různé. Při konceptuálním modelu se staráme hlavně o popis reality, ne o rešení v konkrétním db stroji. Používáme vztahy mezi entitami, kardinalitu a parcialitu nikoliv cizí klíče. Jakmile se v obrázku objeví cizí klíče, už se nejedná o konceptuální model, ale o grafickou podobu modelu relačního Michal Valenta (FIT ČVUT) DBS Konceptuální modelování BI-DBS, 2012 42 / 42