Datové modelování
Datové modelování je jednou z disciplín softwarového inženýrství. Je to proces, při němž se definují a analyzují požadavky na strukturu dat, s nimiž pracuje informační systém. Výsledkem tohoto procesu je datový model. Datové modely popisují (definují) formát a strukturu dat v těchto systémech a určují vzájemné vztahy jednotlivých datových prvků navzájem, čímž v nich reprezentují vymezenou část reality. To nám ve výsledném systému umožňuje s těmito daty manipulovat a využívat je k účelu, ke kterému byly do tohoto systému zaneseny. Mimo jiné mohou datové modely také sloužit jako prostředek pro komunikaci mezi těmi, kteří definují požadavky na informační systém, a těmi, kdo tento systém vytvářejí. Datové modelování tak představuje statický pohled na realitu. Datové modelování je postaveno na přístupu nazvaném Princip tří architektur.
Cíle a použití datového modelování
![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/14/Process_and_data_modeling_cz.svg/160px-Process_and_data_modeling_cz.svg.png)
Cílem datového modelování je zachytit a popsat tu část reality, o které chceme uchovávat informace. Je to tedy proces návrhu struktury a uspořádání dat, jehož cílem je převést reálné objekty na objekty datové (data). Datové modelování by mělo být zahrnuto do všech projektů vyžadujících analýzu dat. Umožňuje vytvořit standardizovaný a konzistentní návrh datové struktury. Využívá se v mnoha oblastech, například pro:
- návrh databází a datových úložišť,
- integraci informačních systémů,
- správu dat.
Datové modelování mimo jiné usnadňuje komunikaci mezi jednotlivými osobami podílejícími se na návrhu informačního systému. Datový model totiž obsahuje veškeré informace, které jednotliví členové realizačního týmu (programátoři, analytici i osoby, které navrhují databázové struktury) potřebují.
Výsledný datový model doplňuje model podnikových procesů – popisuje strukturu dat, s kterými procesy pracují.
Princip tří architektur
Princip tří architektur je přístup, jenž rozděluje proces tvorby informačního (databázového) systému do tří mentálně zvládnutelných fází, které představují různé úrovně abstrakce. Každá z těchto tří vrstev abstrahuje od specifických charakteristik ostatních úrovní a zaměřuje se na jeden z hlavních aspektů vyvíjeného systému: obsah, technologii a implementační/realizační specifika. Tyto vrstvy navzájem tvoří přirozenou posloupnost, neboť ze specifikace obsahu vyplývají možnosti technologického řešení a konkrétní použitá technologie pak určuje možnosti implementace.[1] Výsledkem každé fáze je jeden konkrétní model, který je vstupem do fáze navazující, ve které je přetransformován do konkrétnější podoby, vyplývající z úrovně obecnosti příslušné vrstvy. Tato dekompozice navíc umožňuje odstínit některé úhly pohledu, které pro jednotlivé aspekty nejsou vhodné. Kromě toho je docíleno mnohem větší pružnosti změn systému. V případě změny se nejprve vždy určí, které z vrstev této architektury se daná změna týká, a podle toho se provedou potřebná opatření. Například aktualizace databázového systému dopadá na implementační úroveň, přechod ze stromové reprezentace dat na relační databázi se týká úrovně technologické a potřeba přidání funkcionality spadá do úrovně konceptuální.[2] Princip tří architektur tedy představuje postup shora dolů, kdy se od nejobecnějšího pohledu postupně dostáváme k tomu nejdetailnějšímu.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/c/c4/P3A.jpg/220px-P3A.jpg)
Konceptuální úroveň
V první fázi datového modelování je nutné vymezit veškeré informace, které budeme v našem systému uchovávat. Ze všech dostupných informací je třeba určit ty, které jsou pro nás důležité a mají tedy být o dané části reality dostupné. Všechny tyto informace včetně vztahů mezi nimi je pak třeba věrně (tedy bez jakéhokoliv přizpůsobování se potřebám momentálního implementačního záměru) popsat. V této části vzniká model reality, popisující čistě její obsahovou stránku.
K tomu, aby informace o popisovaných objektech byly relevantní, je třeba použít určitou míru abstrakce. To znamená, že jsou zde záměrně ignorovány některé další informace, jako jsou například technologická či implementační specifika. Toto zjednodušení nám poskytne patřičné zpřehlednění jinak příliš obsáhlé a složité reality.
Jelikož z této vrstvy vycházejí zbylé dvě, je nutné, aby v konceptuálním modelu bylo popsané vše, co je nebo bude podstatné pro kohokoli z členů realizačního týmu. Nikdo z nich nemá mít potřebu domýšlet si něco, co by mu v konceptuálním modelu chybělo.[3] V tomto návrhu tedy určujeme pouze CO je obsahem systému a ne jaké řešení pro zprostředkování tohoto obsahu v našem systému následně použijeme.
K tvorbě datového modelu na konceptuální úrovni se nejčastěji používá některá z modifikací ER diagramů.
Technologická úroveň
Na konceptuální úroveň přirozeně navazuje technologická (někdy též zvaná logická) úroveň, která představuje střední míru abstrakce. V této fázi, obsahově vyplývající z konceptuálního schématu, je zohledňováno technologické řešení problému. Zde se určuje, jak budou uchovávaná data strukturována (například zda budou uchovávána v objektové databázi, relační databázi apod.) a jak bude toto pojetí v dané technologii realizováno. Jsou zde brány v úvahu dostupné technologické prostředky a možnosti dané architektury, nicméně tato úroveň je stále odlehčena od konkrétních implementačních specifik řešení. Ta jsou zohledňována až v poslední fázi.[1] Technologický model, který je dosud platformě nezávislý, popisuje, JAK je obsah systému vymezený v předchozí konceptuální úrovni realizován. Z toho vyplývá, že jeden konceptuální model může být interpretován mnoha různými technologickými modely, neboť jeden obsah může být vyjádřen mnoha způsoby.
Implementační úroveň
Implementační úroveň datového modelování představuje nejnižší míru abstrakce. Není zde již prostor pro žádné zjednodušení. V této fázi probíhá realizace (implementace) datové struktury, popsané v předchozí technologické úrovni, v konkrétním zvoleném programovacím jazyce. Doposud nezávislý technologický model je na této úrovni transformován do modelu, který vyplývá z konkrétních specifik použité databázové platformy. Implementační fáze tedy musí zohledňovat všechny její dostupné prostředky a možnosti. Z toho vyplývá, že implementační úroveň popisuje, ČÍM je datový obsah systému, popsaný konceptuálním modelem a strukturovaný modelem technologickým, realizován.
Ze stejného důvodu, jako tomu bylo u konceptuálního modelu, může být model technologický rovnocenně vyjádřen několika implementačními modely. Konkrétní technologické řešení popsané v druhé fázi datového modelování lze totiž realizovat několika odlišnými způsoby. Vzniká zde fyzický model, který si lze představit jako model technologický (logický), rozšířený o některé specifické informace pro konkrétní databázovou platformu (například datové typy).
Shrnutí
Datové modelování tedy slouží k vymezení standardů definujících formát a uspořádání dat, používaných v konkrétním informačním systému. Díky tomu jsou tato data napříč systémem konzistentní a je možné je plnohodnotně využívat a sdílet různými částmi systému. Mají-li být data sdílena i mezi různými informačními systémy navzájem, je potřeba, aby mezi nimi bylo společné rozhraní sloužící k jejich vzájemné komunikaci, neboť různé informační systémy mají často odlišné datové modely. Tato požadovaná rozhraní musí být brána v úvahu již při návrhu datového modelu, jelikož datový model sám o sobě nemůže být použit ke sdílení dat mezi různými systémy s odlišnými datovými reprezentacemi, které nejsou vzájemně kompatibilní.
Odkazy
Reference
- ↑ a b ŘEPA, Václav. VÝVOJOVÉ TRENDY METODIK VÝVOJE INFORMAČNÍCH SYSTÉMŮ - VÝZVA BPR. Dostupné z: http://nb.vse.cz/~repa/veda/EurOpen99%20Paper.pdf
- ↑ KYBKALO, Anatoliy. Datové modelování. Praha, 2013. Dostupné z: http://www.unicorncollege.cz/european-it-center/kybkalo-anatoliy/attachments/PB_Kybkalo_Anatoliy_1-4146-1.pdf Archivováno 4. 12. 2014 na Wayback Machine.. Bakalářská práce. UNICORN COLLEGE. Vedoucí práce Ing. Miroslav Žďárský.
- ↑ Principy datového modelování. Krokodýlovy databáze [online]. [cit. 2014-11-19]. Dostupné z: http://krokodata.vse.cz/DM/Principy
Externí odkazy
Obrázky, zvuky či videa k tématu datové modelování na Wikimedia Commons
Média použitá na této stránce
Process and data modeling