Konceptuální modelování Ing. Michal Valenta PhD. Katedra softwarového inºenýrství Fakulta informa ních technologií ƒeské vysoké u ení technické v Praze c Michal Valenta, 2010 Databázové systémy BI-DBS ZS 2010/11, P edn. 3 Evropský sociální fond. Praha & EU: Investujeme do va²í budoucnosti Michal Valenta (FIT ƒvut) Konceptuální modelování BI-DBS, 2010, P edn. 3 1 / 34
[trans]beamer []beamerthememadrid [czech]babel xspace times [T1]fontenc [utf8]inputenc hyperref times graphicx ifthen hyperref true (FIT ƒvut) DBS Konceptuální modelování, 2011 2 / 34
DBS Konceptuální modelování Katedra softwarového inºenýrství FIT ƒeské vysoké u ení technické v Praze c, 2011, ZS 2011/12 https://edux.t.cvut.cz/courses/bi-dbs/ (FIT ƒvut) DBS Konceptuální modelování, 2011 2 / 34
Motivace pro konceptuální model 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. (FIT ƒvut) DBS Konceptuální modelování, 2011 4 / 34
P ístupy k návrhu IS z pohledu databází 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. (FIT ƒvut) DBS Konceptuální modelování, 2011 6 / 34
P ístupy k návrhu IS z pohledu databází 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á. (FIT ƒvut) DBS Konceptuální modelování, 2011 7 / 34
P ístupy k návrhu IS z pohledu databází Prvky konceptuálního modelu orientace na entity (t ídy) a vztahy (asociace) mezi nimi entity (t ídy), instance (objekty) atributy doména, povinnost, identikátor/unikátnost vztahy (asociace) obecný vztah (asociace) kardinalita, parcialita identika ní vztah (slabá a silná entita) ISA-hierarchie (podtyp jako specializace) nep ehán t a pozor na sémantiku!!! (FIT ƒvut) DBS Konceptuální modelování, 2011 8 / 34
Entity (t ídy), vztahy (asociace), atributy, IO Tvorba datového modelu postup Identikace entit (entitních typ ) jako t íd objekt stejného typu. p íklady entit FILM, ZÁKAZNÍK, ZAM STNANEC, KOPIE Identikace vztah (vztahových typ ), do kterých entity mohou vstupovat : p íklady vztahu ZAKAZNÍK (entita) MÁ_P JƒEN (vztah) FILM (entita) Identikace atribut popisujících blíºe vlastnosti entit a vztah. (FIT ƒvut) DBS Konceptuální modelování, 2011 10 / 34
Entity (t ídy), vztahy (asociace), atributy, IO 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 lmu (entita). P íklady integritních omezení (IO): Doménou atributu váha (entity zákazník) je integer. Atribut váha (entity zákazník) musí mít jednu hodnotu (pro jednoho zákazníka). Atribut rodné íslo je identikátorem entity zákazník. Atribut datum (vztahu p j eno) m ºe mít nejvý²e jednu hodnotu. Atribut herec entity lm m ºe mít mnoho hodnot. (FIT ƒvut) DBS Konceptuální modelování, 2011 11 / 34
Entita a vztah Lineární zápis: Entity: Film, Kino Relace: ma_na_programu (Film, Kino) Gracký zápis: Poznámka: p eváºn budu pouºívat binární ER notaci (nástroj Oracle Data Modeller). (FIT ƒvut) DBS Konceptuální modelování, 2011 13 / 34
Atributy (FIT ƒvut) DBS Konceptuální modelování, 2011 14 / 34
Kardinalita Kardinalita 1:1 Kino hraje nejvý²e jeden lm. Film je na programu nejvý²e jednoho kina. Poznámka: povinnost/nepovinnost lenství ve vztahu (parcialitu) budeme diskutovat pozd ji. (FIT ƒvut) DBS Konceptuální modelování, 2011 15 / 34
Kardinalita Kardinalita 1:N Kino m ºe hrát více lm. Film je na programu nejvý²e jednoho kina. (FIT ƒvut) DBS Konceptuální modelování, 2011 16 / 34
Kardinalita Kardinalita M:N Kino m ºe hrát více lm. Film m ºe být na programu více kin. (FIT ƒvut) DBS Konceptuální modelování, 2011 17 / 34
Parcialita 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 lm. 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 lm. (Kino m ºe být evidováno i bez programu.) Evidujeme i lmy, které se nikde nehrají. (Film nemusí být na programu ºádného kina.) (FIT ƒvut) DBS Konceptuální modelování, 2011 18 / 34
Parcialita Nepovinná ú ast r zné notace Kino m ºe hrát více lm (ale také ºádný). Film je na programu práv jednoho kina. (FIT ƒvut) DBS Konceptuální modelování, 2011 19 / 34
Parcialita Povinná ú ast r zné notace Kino hraje alespo jeden lm (ale m ºe více). Film je na programu práv jednoho kina. Jak takovou databázi inicializujeme? (FIT ƒvut) DBS Konceptuální modelování, 2011 20 / 34
Identika ní závislost, slabá entita Identika ní závislost, slabá entita Entita je identikována ( ásta n nebo pln ) vztahem k jiné entit. Slabá entita má vlastní atribut, který se podílí na identikaci. Slabá entita nemá takový vlastní atribut, který by se podílel na identikaci. D sledek: k jednomu vlastníkovi m ºe pat it nejvý²e jedna identika n závislá instance. Kaºdá osoba m ºe mít nejvý²e jeden prol. (FIT ƒvut) DBS Konceptuální modelování, 2011 21 / 34
Dekompozice vztahu M:N Atributy ve vztahu motivace. Chenova notace atributy u vztahu povoluje (viz. p edná²ka o databázových modelech). Binární notace (i UML Class Diagram) vyºadují explicitní dekompozici vztahu. (FIT ƒvut) DBS Konceptuální modelování, 2011 22 / 34
Dekompozice vztahu M:N Dekompozice vztahu M:N Kaºdý vztah M:N lze dekomponovat na 2 vztahy 1:N. Bu vloºíme silnou entitu: Nebo pouºijeme identika ní závislost: (FIT ƒvut) DBS Konceptuální modelování, 2011 23 / 34
Dekompozice vztahu M:N Atributy ve vztahu e²ení Pouºití identika ní závislosti: Pouºití silné vztahové entity: (FIT ƒvut) DBS Konceptuální modelování, 2011 24 / 34
Dekompozice vztahu M:N Dekompozice vztahu M:N e²ení Pouºití identika ní závislosti: Pozor: v tomto p ípad m ºe konkrétní kino hrát konkrétní lm nejvý²e jednou! Pouºití silné vztahové eintity: (FIT ƒvut) DBS Konceptuální modelování, 2011 25 / 34
Rekurzivní vztah Rekurzivní vztah Pouºívá se k vyjád ení vztahu mezi instancemi stejné entity. P ímý nad ízený, p edch dce-potomek, ást-celek,... (FIT ƒvut) DBS Konceptuální modelování, 2011 26 / 34
ISA hierarchie 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²í identika ní závislost. (FIT ƒvut) DBS Konceptuální modelování, 2011 27 / 34
Sémantický relativismus 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. (FIT ƒvut) DBS Konceptuální modelování, 2011 28 / 34
Postupný vývoj modelu p íklad P íklad návrh videop j ovny 1/3 P j ovna se rozhodala pouºít po íta pro evidenci výp j ek lm. eviduje se skute nost, kterou lze jednou v tou vyjád it jako : zam stnanci p j ují zákazník m lmy. Poznámka: um lé versus p irozené identikátory. (FIT ƒvut) DBS Konceptuální modelování, 2011 30 / 34
Postupný vývoj modelu p íklad P íklad návrh videop j ovny 2/3... rozli²ujeme KOPIE a FILMY, lm si lze rezervovat: (FIT ƒvut) DBS Konceptuální modelování, 2011 31 / 34
Postupný vývoj modelu p íklad P íklad návrh videop j ovny 3/3... a krom toho, chceme v d t, které lmy se je²t hrají v kinech... (FIT ƒvut) DBS Konceptuální modelování, 2011 32 / 34
Záv r 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 systému 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 grackou podobu modelu rela ního (FIT ƒvut) DBS Konceptuální modelování, 2011 34 / 34