ROZDÍLY V NÁVRZÍCH RELAČNÍCH A OBJEKTOVÝCH DATABÁZÍ A JEJICH DŮSLEDKY PRO TRANSFORMACI MODELŮ

Podobné dokumenty
TRANSFORMACE RELAČNÍHO DATOVÉHO MODELU NA OBJEKTOVÝ TRANSFORMATION OF RELATIONAL TO OBJECT DATA MODEL

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

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

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

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

Obsah přednášky. Databázové systémy. Normalizace relací. Normalizace relací. Normalizace relací. Normalizace relací

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

Informační systémy 2006/2007

POROVNÁNÍ RELAČNÍHO A OBJEKTOVÉHO DATOVÉHO MODELU V KONSTRUKCI DATABÁZOVÝCH SYSTÉMŮ

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

Objektově orientované databáze. Miroslav Beneš

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

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

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

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

Obsah. Zpracoval:

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

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

Metody inventarizace a hodnocení biodiverzity stromové složky

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

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

Databázové systémy úvod

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

Modelování procesů s využitím MS Visio.

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

Unifikovaný modelovací jazyk UML

Tvorba informačních systémů

Dolování v objektových datech. Ivana Rudolfová

Metodika návrhu databáze

Databázové systémy úvod

Profilová část maturitní zkoušky 2017/2018

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

Návrh databázového modelu

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

MODELOVÁNÍ DAT V INFORMAČNÍCH SYSTÉMECH. Jindřich Kaluža Ludmila Kalužová

TÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů

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

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

UML. Unified Modeling Language. Součásti UML

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

Profilová část maturitní zkoušky 2013/2014

NĚKOLIK POZNÁMEK K FORMÁLNÍM TECHNIKÁM NÁVRHU OBJEKTOVÝCH DATABÁZÍ COMMENTS TOWARDS THE FORMAL TECHNIQUES OF THE OBJECT DATABASE DESIGN

DATOVÉ MODELOVÁNÍ A TYPOVÁNÍ

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

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

ZÁZNAM PROCESU TVORBY INFORMAČNÍHO SYSTÉMU CAPTURING OF AN INFORMATION SYSTEM DEVELOPMENT

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

Databáze fotbalové ligy

Relační datový model. Integritní omezení. Normální formy Návrh IS. funkční závislosti multizávislosti inkluzní závislosti

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Stěhování aplikací. Michal Tomek, Sales Manager

A Metodologie návrhu ERD (Batini, Ceri, Navathe)

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

Metody popisu systému, základy UML

Novinky v oblasti prodeje nových a ojetých vozů. Hana Dolejšová,

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

Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu:

REVERSNÍ INŽENÝRSTVÍ RELAČNÍCH DATABÁZÍ REVERSE ENGINEERING OF RELATIONAL DATABASES. Vít Holub

A Metodologie návrhu ERD (Batini, Ceri, Navathe)

Návrh softwarových systémů - architektura softwarových systémů

Návrh softwarových systémů - architektura softwarových systémů

Úvod do modelování a simulace. Ing. Michal Dorda, Ph.D.

Analýza a Návrh. Analýza

Objektově relační databáze a ORACLE 8

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

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

Archivace relačních databází

7.5 Diagram tříd pokročilé techniky

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura

Tvorba informačních systémů

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

7.3 Diagramy tříd - základy

Co nového ve spisové službě? Národní standard pro elektronické systémy spisové služby a jeho optimalizace

Diagramy stavů. Michale Blaha, James Rumbaugh: Object-Oriented Modeling and Design with UML, Second Edition, Pearson Prentice Hall, 2005

Program pro tvorbu technických výpočtů. VIKLAN - Výpočty. Uživatelská příručka. pro seznámení se základními možnostmi programu. Ing.

Když jde řídit podnik formou SaaS, tak proč by to nemělo jít v případě státu

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ

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

UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0

EXTRAKT z mezinárodní normy

Algebraické struktury s jednou binární operací

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í

7.5 Diagram tříd pokročilé techniky

Univerzita Pardubice Fakulta ekonomicko-správní Ústav systémového inženýrství a informatiky

45 Plánovací kalendář

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

Hierarchický databázový model

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

IS pro podporu BOZP na FIT ČVUT

Požadavky pro výběrová řízení TerraBus ESB/G2x

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

I N O V A C E A G E N D Y DPH V NO T I A B U S I N E S S S E R V E R

ÚLOHY S POLYGONEM. Polygon řetězec úseček, poslední bod je totožný s prvním. 6 bodů: X1, Y1 až X6,Y6 Y1=X6, Y1=Y6 STANOVENÍ PLOCHY JEDNOHO POLYGONU

Výukový materiál zpracován v rámci projektu EU peníze školám

6. blok část C Množinové operátory

Objekty, třídy, vazby 2006 UOMO 30

10 Metody a metodologie strukturované analýzy

Základní informace o co se jedná a k čemu to slouží

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

RELAČNÍ DATABÁZE ACCESS

Transkript:

ROZDÍLY V NÁVRZÍCH RELAČNÍCH A OBJEKTOVÝCH DATABÁZÍ A JEJICH DŮSLEDKY PRO TRANSFORMACI MODELŮ RELATIONAL AND OBJECT DATABASES DESIGN DIFFERENCES AND IT S IMPLICATIONS TO MODEL TRANSFORMATION Vít Holub Anotace: Článek na praktickém příkladu ukazuje vliv některých postupů specifických pro relační a objektový návrh na výslednou strukturu relačního, resp. objektového statického modelu. Zjištěné poznatky dokládají nezbytnost doplnění sémantických informací a zpětného sestavení konceptuálního modelu pro účely transformace schémat. Klíčová slova: databáze, relační design, objektový design, transformace schémat Abstract: The purpose of this article is to present the implications of design-specific approaches to the static structure of relational and object models. Finally the conclusion is taken that semantic enrichment and the conceptual model reverse-engineering are neccesary in the schema transformation process. Keywords: database, relational design, object-oriented design, schema transformation ÚVOD Použití relačních databází (RDBMS) pro uložení dat může být v některých případech nevýhodné. Týká se to zejména případů složitých datových struktur, kdy omezené prostředky RDBMS nemohou zachytit kompletní sémantické informace. Pokud je rozhodnuto o přechodu na objektovou databázi (ODBMS), je nutné provést migraci datové základny. Transformace datového modelu je jejím klíčovým prvkem. VYBRANÉ ODLIŠNOSTI VE STRATEGIÍCH NÁVRHU S VLIVEM NA STRUKTURU MODELU Transformace datových modelů může být na první pohled velmi snadná a přímočará. Třídy by jednoduše odpovídaly tabulkám, objekty záznamům. Informační systém implementovaný podle takového návrhu by pravděpodobně fungoval, jistě by ale nebyl sestaven optimálně a uživateli by nepřinesl žádnou výhodu. Uvedený postup by byl v pořádku jen v případě, kdyby objektový datový model byl analogií relačního, kdyby techniky návrhu nabízely shodné nebo podobné prostředky. Objektové paradigma a je však od relačního značně odlišné. Porovnáme-li dva takto různě vytvořené, ale jinak ekvivalentní modely, zjistíme, že představa o prostém nahrazení tabulek třídami je mylná. V čem se tedy oba přístupy liší a čím je způsoben očividný rozdíl ve struktuře modelů?

Zohlednění dynamické a funkční složky ve statické struktuře objektového modelu Podstatným rysem objektového návrhu je začlenění aplikační logiky přímo do databáze. Každá třída má definované operace, které může po obdržení zprávy vykonat. V RDBMS není tato integrace možná - existují sice uložené procedury, ale mezi nimi a tabulkami neexistuje žádný vztah. Podrobně je vše vidět na následujícím příkladu: je platná pro Provizní období je přiznána Obchodník náleží Výskyt obchodníka je zadrženo Model znázorňuje část informačního systému pro výpočet a správu odměn obchodníkům, kteří pro pojišťovnu sjednávají pojistné smlouvy. Obchodník jako jeden výplatní subjekt může pracovat ve více rolích - výskytech (na různých místech a různých úrovních řízení). Jsou mu přiznány různé druhy odměn, část určité odměny může být deponována a vyplacena až po uplynutí stanovené doby. Kód obchodníka Jméno,FK Datum od Datum do Částka Koeficient krácení depozita,fk2 Datum od,fk Celková částka Provizní období Datum od Datum do V relační formě není zavedena tabulka Obchodník. Je to proto, že entita Obchodník reprezentuje skutečnou osobu, které budou vyplaceny odměny za práci všech jeho výskytů, tyto odměny však primárně náleží výskytům (o výskytech je mj. na jiném místě systému účtováno, entita obchodník slouží pouze pro tisk sestav).

Provizní období -Datum od -Datum do +celkem() 0..* Obchodník -Kód obchodníka -Jméno +spočtiodměny() - -Částka -Koeficient 0..* 0..* 0..* Depozitní období -Datum od -Datum do +odložvýplaty() +odložvýplatyo() Pokud je systém postaven na objektové databázi, navrhují se algoritmy výpočtu odměn přímo v metodách objektů. V systému pak mohou být třídy, jejichž existence není vyžadována pro správu dat, ale právě pro provádění metod. Proto je v příkladu namodelována třída Obchodník, která zajistí výpočet odměn za všechny výskyty daného obchodníka. Podobný účel má i speciálně vytvořená třída Depozitní období. Přestože entita není součástí ER diagramu, její vytvoření si vyžádala funkční analýza, konkrétně potřeba metod odložvýplaty a odložvýplatyo. Metod objektů lze využít také při získávání odvozených údajů. Např. metoda celkem třídy vrací součet všech jejích složek. Sémantická nedostatečnost relačního modelu Nedostatek modelovacích konstruktů vede k neúplnosti sémantických informací obsažených v relačním schématu. Objektový model poskytuje další konstrukty (skládání, agregace, generalizace...), které v případě použití relační databáze musí být implementovány výhradně pomocí tabulek a cizích klíčů. Některé informace tak bývají obsaženy spíše v datech, než ve schématu. Na příkladech v ostatních oddílech je patrné, jaké informace byly při tvorbě relačního modelu zachovány, a jaké ztraceny. Informace, které se takto ztratí, musejí být na počátku transformace modelů doplněny. Identita objektu a jeho příslušnost třídě Jednoznačná identifikace záznamu v tabulce je dána primárním klíčem, jeho hodnotu je možné změnit. Jednoznačnost platí v rámci jediné tabulky, unikátní číslo pro celou databázi neexistuje. Platí také, že dva záznamy jsou totožné, pokud jsou všechny jejich složky shodné. Naproti tomu mají objekty v databázi jedinečné OID číslo určující identitu objektu. Dva objekty jedné třídy se shodnými atributy totožné nejsou. Z uvedeného mj. vyplývá, že v relační databázi lze záznam libovolně přenášet mezi tabulkami (se stejnou strukturou), aniž by se změnila jeho identita. Podobný přenos objektů není možný vytvořením stejně naplněného objektu v jiné třídě vzniká odlišný objekt. Proto vznikají při obou návrzích rozdílné struktury.

patří do dohadný Smlouva patří do živý má podíl Výskyt obchodníka patří do stornovaný má podíl Jako příklad je použita část stejného systému. Obchodník sjednává smlouvy, jejichž části (Základní kameny - ZK) generují odměny. Každý ZK patří jednomu nebo více obchodníkům, a může nabývat těchto stavů: dohadný (fiktivní ZK nepatřící žádnému obchodníkovi), živý (obchodníkovi náleží odměna v plné výši) a stornovaný (obchodníkovi náleží odměna podle Koeficientu storna). Dohadný ZK Živý ZK Datum vzniku Základ odměny,fk,fk2 Podíl na živém ZK Podíl Stornovaný ZK Datum vzniku Základ odměny Koeficient storna Druh storna Datum storna,fk2,fk Podíl na živém ZK Podíl Zdroj storna? Kód obchodníka Jméno V relační databázi mohou být pro každý z možných stavů vyhrazeny zvláštní tabulky. Každá z těchto tabulek má jen potřebné sloupce a ZK je během svého životního cyklu mezi tabulkami podle potřeby přemisťován. Uvedené řešení je výhodné v situaci, kdy se často provádějí operace nad izolovanými tabulkami stavů ZK. Smlouva - Dohadné ZK Živé ZK 0..* Stornované ZK 0..* 0..* Základní kámen - -Datum vzniku -Datum storna -Základ odměny -Koeficient storna -Druh storna Podíl na ZK -Podíl -Zdroj storna? 0..* - Stejný objekt (ZK) nesmí v průběhu svého životního cyklu opustit svou třídu. Při návrhu tříd je s tímto nutné počítat ekvivalentní objektový model má jen jednu třídu ZK a jednu třídu Podíl.

Různé způsoby přístupu k datům Struktura statických modelů odráží i různé způsoby přístupu k datům. Zatímco relační databáze využívají tzv. množinový přístup, mezi objekty se postupuje navigací. Díky zapouzdření mohou objekty pracovat jen se svými daty, k přístupu k cizím datům je zapotřebí využívat metody dalších objektů, ke kterým má původní objekt přímý přístup. Na diagramech k prvnímu příkladu je vidět změněná struktura objektového statického modelu, třída Provizní období byla přesunuta přímo ke třídě. ZÁVĚR Objektový datový model je správný (přínosný), pokud je výsledkem čistě objektového návrhu. Prosté převedení relačních prvků na objektové není korektní a nepřináší uspokojivé výsledky. Proto je při transformaci nutné doplnění sémantických informací a zpětné sestavení konceptuálního modelu. Literatura: Michael Blaha, William Premerlani. Object-Oriented Modeling and Design for Database Applications. Prentice Hall, 998. ISBN: 03238299 J. Rumbaugh et al. Object-Oriented Modeling and Design. Prentice Hall, 99. ISBN: 03629849 V. Merunka. Objektový přístup v databázových systémech. ČZU Praha, 2002. ISBN: 802308826 Kontakt: Ing. Vít Holub Unicorn a.s. +42026799723 vit.holub@unicorn.cz