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

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

Databázové systémy úvod

Databázové systémy úvod

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

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

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

Analýza a Návrh. Analýza

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

Databázové systémy BIK-DBS

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

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

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

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

Databázové a informační systémy

CASE. Jaroslav Žáček

Databázové systémy úvod

Objektově orientované databáze. Miroslav Beneš

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

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

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

4IT218 Databáze. 4IT218 Databáze

CASE nástroje. Jaroslav Žáček

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

Znalostní systém nad ontologií ve formátu Topic Maps

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

Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme

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

Kolaborativní aplikace

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

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

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

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

Sémantický web 10 let poté

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

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

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

Návrh a implementace algoritmů pro adaptivní řízení průmyslových robotů

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

Principy UML. Clear View Training 2005 v2.2 1

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Materiál byl vytvořen v rámci projektu Nové výzvy, nové příležitosti, nová škola

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

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

Databázové systémy trocha teorie

Obsah. Zpracoval:

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

2. Začlenění HCI do životního cyklu software

Datové modelování II

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

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

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server

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

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í

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

SenseLab. z / from CeMaS. Otevřené sledování senzorů, ovládání zařízení, nahrávání a přehrávání ve Vaší laboratoři

Ontologie. Otakar Trunda

Archivace relačních databází

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

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

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

Inovace CRM systémů využitím internetových zdrojů dat pro malé a střední podniky. Ing. Jan Ministr, Ph.D.

ČESKÁ TECHNICKÁ NORMA

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

Databáze Bc. Veronika Tomsová

Uživatelem řízená navigace v univerzitním informačním systému

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

DATOVÉ MODELOVÁNÍ A TYPOVÁNÍ

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

Relace x vztah (relationship)

Tvorba informačních systémů

SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR

Příloha: Dodatečné informace, včetně přesného znění žádosti dodavatele o dodatečné informace

IS pro podporu BOZP na FIT ČVUT

Semestrální práce ke kurzu 4IT421 Zlepšování procesů budování IS Semestr LS 2014/2015

DIPLOMOVÁ PRÁCE. Bc. Hana Kozelková. Editor datových modelů s podporou reverzního datového inženýrství

3 Inženýrství systémů založených na počítačích (Computer-based System Engineering)

Střední průmyslová škola Zlín

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

Klasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

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

Institute of Computer Science

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

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

Úvod do principů objektově orientovaného programování

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

3 Inženýrství systémů založených na počítačích (Computer-based System Engineering)

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d

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

Vědecký tutoriál, část I. A Tutorial. Vilém Vychodil (Univerzita Palackého v Olomouci)

Konceptuální modelování a SQL

Digitální technická mapa ČR

III. Informační systém & databáze

1. Dědičnost a polymorfismus

NOVINKY VE WEBOVÝCH METODIKÁCH A METODIKA ONTOWEAVER

OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013

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

Unstructured data pre-processing using Snowball language

Západočeská univerzita FAKULTA APLIKOVANÝCH VĚD

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

Transkript:

REVERSNÍ INŽENÝRSTVÍ RELAČNÍCH DATABÁZÍ REVERSE ENGINEERING OF RELATIONAL DATABASES Vít Holub Anotace: Údržba a rozvoj relační databáze závisí na porozumění datových struktur. Pokud informace běžně vedoucí k tomuto chybí, je možné je získat přímo z databáze samotné. Příspěvek přináší definici datového reversního inženýrství, stručný historický exkurs a přehled v současnosti nejčastěji používaných metod sémantického obohacení. Klíčová slova: DRE, datové reversní inženýrství, relační databáze, sémantické obohacení, EER Abstract: The maintenance and evolution of an existing relational database depends on understanding the data structures within. When the information required for such an understanding is missing, the way to obtain it is from the database itself. This paper presents a definition of data reverse engineering, brief historical survey and an overview of presently most-used methods of semantic enrichment. Key words: DRE, data reverse engineering, relational databases, semantic enrichment, EER, extended entity relationship model ÚVOD Vnitřní procesy a často i struktura firmy v konkurenčním prostředí procházejí neustálým vývojem. Změny vyvolané tržní situací je třeba reflektovat v informačních systémech (IS) tak, aby tyto systémy splňovaly s maximální účinností své původní cíle. Prakticky to znamená jejich průběžnou údržbu a rozvoj, nejsou-li vyžadované změny příliš rozsáhlé, a v situacích, kdy je zapotřebí radikálního řešení (rekonstrukce stávajícího systému není ekonomicky výhodná), pak nasazení systému nového. Obě tyto varianty s sebou přinášejí svá úskalí společným prvkem je nutnost vycházet ze stávající databáze. V prvním případě je možné, že se zamýšlená inovace obejde bez zásahu do databázového schématu. Nově požadované funkčnosti lze implementovat v aplikační vrstvě a rozhraní databáze aplikace zůstane beze změn. Častější jsou ale případy, kdy se změna týká i datových struktur, úprava databázového schématu je nevyhnutelná a tedy znalost sémantiky existujících dat nezbytná. V druhém případě nemusí být tato znalost pro vytvoření vlastního systému nutná, je však klíčová pro následnou migraci dat. Databázové schéma nového systému se bude od stávajícího téměř jistě lišit, pravděpodobně ale bude z velké části naplněno původními (a nějak transformovanými) daty. 617

Zmiňovaná úplná znalost sémantiky dat, kvalifikující data na informace, není vždy samozřejmostí. Velmi často je pouze intelektuálním vlastnictvím řešitelského týmu, ačkoli má být obsažena v projektové dokumentaci. Není výjimkou, že jediný dokumentační zdroj IS (včetně jeho databázové vrstvy), který je podniku k dispozici, je informační systém (resp. databáze) sám. (DATOVÉ) REVERSNÍ INŽENÝRSTVÍ Reversní (systémové) inženýrství (RE) je opačným procesem k tvorbě informačních systémů. Artefakty, které tvoří vstupy dopředného inženýrství, tedy různé formy zadání, jsou v případě RE sledovaným cílem. Naopak implementace zadání je v zásadě jediným vstupem, který je řešiteli k dispozici. Elliot Chikofsky definuje v [CHIK96] reversní inženýrství jako...proces vedoucí k porozumění struktury a vnitřních vztahů systému.... Reversní inženýrství se týká všech tří základních aspektů systému dat, procesu a řízení. Z uvedeného je zřejmé, že techniky a nástroje datového reversního inženýrství (DRE) tvoří podmnožinu téhož v reversním inženýrství (RE) zatímco RE se zabývá daty, procesem a řízením, DRE se týká pouze dat. Tomuto odpovídá i jedna z možných definic DRE - Datové reversní inženýrství je sada nástrojů a metod, které pomáhají určit strukturu, účel a význam (podnikových) dat [DAVI00]. Datové reversní inženýrství není doménou pouze relačních databází. V 80. a 90. letech minulého století, v době jejich masového rozšíření, bylo k jejich naplnění třeba zpracovat data z existujících struktur. To byly často ploché soubory bez hierarchických vztahů (tzv. konvenční systémy) nebo síťové a hierarchické databáze. Prvně zmíněný problém řešily mj. práce [CASA83] a [DAVI85], druhý např. [NAVA87] nebo [FONG93]. Velký praktický význam této problematiky dal vzniknout i CASE nástrojům jako např. DB-MAIN [HAIN95]. REVERSNÍ INŽENÝRSTVÍ RELAČNÍCH DATABÁZÍ Návrh relačních databázových schémat je proces, který může být plně automatizován. Veškeré potřebné vstupní informace jsou obsaženy v konceptuálním datovém modelu. Ten je většinou reprezentován entity-relationship (ER) modelem (diagramem). V původní verzi podle [CHEN76] obsahuje prvky entita, role, vazba a atribut. Rozšířením o objektovou agregaci a generalizaci vznikl extended entity-relationship (EER), který je používán pro návrh statické složky objektově orientovaných aplikací. 618

cd EER model Atribut + jeklíčový: boolean 2..* Entita +předek +potomek +komponent +kompozit Asociace + jméno: Generalizace Agregace Vztah Model tohoto typu je požadovaným výstupem datového reversního inženýrství. V případě reversního inženýrství relačních databází (RDRE) je základním vstupem databázové schéma. To je vyjádřeno pomocí relačních konstruktů uvedených v následujícím schématu: cd Relační model Schéma relace reference 1 vlastnictví Atribut + jeklíčový: boolean 1 Datový typ Dopředný proces, tedy mapování konstruktů ER modelu na konstrukty relačního modelu je definován jednoznačným a bezproblémovým postupem v [CHEN76]. Problémy zpětné transformace modelů Na rozdíl od relačního návrhu je automatizace zpětného procesu velmi komplikovaná, ne-li nemožná. Existuje mnoho problémů, které přímočaré transformaci zabraňují ([BLAH95], [HAIN98], [PETI94] a [PREM93]). Jejich příčiny je možno kategorizovat takto: Nedostatečnost relačního modelu Během transformace konceptuálního modelu do relačního dochází ke ztrátě informace. Konstrukty relačního modelu jsou omezené a část sémantiky tak musí být uložena mimo databázové schéma. Výkonová nebo zdrojová optimalizace: Databázové schéma může obsahovat takové struktury, které přímo nesouvisejí se sémantikou. Tyto byly doplněny jako důsledek optimalizačních úprav a proto nemají v konceptuálním modelu svůj obraz. Charakteristickým rysem je redundance a denormalizace. Implicitní struktury: Některé konstrukce vyjádřitelné v jazyce DDL naopak v databázovém schématu mohou chybět. Z jistých důvodů byla jejich hypotetická funkčnost realizována v aplikační vrstvě. 619

Nekvalitní návrh: Většina autorovi dostupných databázových schémat (skutečně nasazených informačních systémů) vykazuje nedostatky, které lze přisoudit nekvalitně provedenému návrhu. Některé z nalezených nesrovnalostí nemusejí mít přímý vliv na správnost případné zpětné transformace, řada z nich je však pro tento proces kritická. Závažnost těchto chyb přitom může být pro funkčnost systému nízká až nulová. Jinak nerelevantní struktury: Databázová schémata mohou obsahovat struktury, které jsou z různých důvodů pro zpětnou transformaci nežádoucí. Jde například o pozůstatky opuštěných nebo nedokončených funkčností, které v důsledku minimální údržby schématu přetrvaly. Jiným příkladem jsou procesní a řídící struktury bez obrazu v konceptuálním modelu. Používané metody sémantického obohacení Většina prací zabývajících se reversním inženýrstvím relačních databází je založena na analýze databázového schématu. Podstatné pro tento přístup jsou deklarace primárních a cizích klíčů. Tento přístup je algoritmizován např. v [ALHA02], podmínkou jsou však zásahy uživatele, který v mnoha situacích zastupuje rozhodovacího agenta. Tato práce částečně vychází z [CHIA94]. Schématem se kromě skutečně vytvořených databázových struktur rozumí také kód v jazyce DDL, který je k dispozici jako zdrojový kód sloužící k vygenerování schématu, běžně je také možné jeho dodatečné vygenerování. Definice schématu je také obsažena v systémových tabulkách SŘBD. Přístupy založené na analýze schématu předpokládají, že toto schéma je v souladu s minimálně třetí normální formou. Vzhledem ke skutečnostem popsaným v předchozí kapitole a tudíž prakticky nereálným nárokům kladeným na kvalitu databázového schématu se některé práce zabývají využitím jiných zdrojů sémantických informací. Jedním z dalších možných způsobů doplnění sémantiky je analýza příkazů jazyka DML. Prostředkem takto založených metod je identifikace funkčních a inkluzních závislostí 3 na úrovni schématu. Příkazy jazyka DML mohou být součástí systémových tabulek (PLAN_TABLE ), interpretovaných aplikací (HTML ) nebo zdrojových kódů kompilovaných aplikací (Java aplikace, uložené procedury...). Zároveň je možné využít deklarace pohledů, které jsou také sestavovány dotazy DML. Andersson v [ANDE94] zkoumá podmínky spojení a právě deklarace pohledů (při nejednoznačných interpretacích vyžaduje zásah uživatele). Barbar předpokládá existenci expertů, kteří databázi v průběhu určité doby dotazují, a jejichž dotazy (uchovávané v Query Base ) podrobuje analýze ([BARB01]). Astrova používá v [ASTR04] jako zdroj dotazů webové formuláře. Sémantické informace je také možno vytěžit přímo z dat. Jejich statistická analýza však může být (nejen) časově velmi náročná. Principem je nalézání funkčních a inkluzních závislostí na datové úrovni. Premerlani a Blaha navrhli v [PREM94] komplikovaný postup, který využívá sadu nesourodých metod a množství uživatelských interakcí. Vstupem jsou mj. unikátní indexy pro 3 Funkční závislosti se zkoumají uvnitř relací a odhalují unikátní klíče (candidate keys), inkluzní pak mezi relacemi, výstupem jsou cizí klíče. 620

nalezení klíčů, jsou prováděny rozsáhlé iterativní analýzy dat (mj. k odhalení generalizací a agregací) a zkoumáno názvosloví atributů (odhalení inkluzních závislostí). Tari v [TARI97] vyžaduje prvotní uživatelskou klasifikaci relací, závislosti pak získává analýzou schématu a právě dat, kde sleduje korelaci klíčů mezi relacemi a korelaci záznamů uvnitř relací. Závislosti zjištěné z testů dat i schématu (DML) jsou rovnocenné, v ideálním (prakticky ale těžko dosažitelném) případě vedou všechny tři popsané metody ke stejným výsledkům, nejuspokojivější výsledky dává jejich kombinované provedení. Pro nejednoznačné interpretace a řešení konfliktů je ale stále potřeba lidského zásahu, což je jedním z hlavních faktorů vylučující plně automatizované zpracování. ZÁVĚR Reversní inženýrství relačních databází je komplikovaný proces náchylný na vznik chyb a konfliktních situací. Přestože je téměř dvě desetiletí předmětem zájmu řady odborníků, kteří jsou motivováni relativně velkou tržní poptávkou, neexistuje zatím jednotný pohled či všeobecně uznávaná metodika umožňující jeho efektivní a obecně použitelné provedení. LITERATURA [ALHA02] Alhajj, R.: Extracting the EER model from a legacy relational database, Information Systems Volume 28, Issue 6 (September 2003), pp. 597 618, ISSN:0306-4379 [ANDE94] Andersson, M.: Extracting an Entity Relationship Schema from a Relational Database through Reverse Engineering, Proc. of the Int. Conf. on the Entity-Relationship Approach (ERA), Manchester, 1994, pp. 403-419 [ASTR04] Astrova, I., Stantic, B.: Reverse Engineering of Relational Databases to Ontologies: An Approach Based on an Analysis of HTML Forms In: Proceedings of the 1st European Semantic Web Symposium (ESWS), LNCS 3053 (2004) [BARB01] A. Barbar, M. Collard: Semantic Extraction: a User-Driven Method, 4th International Conference on Information Systems Modelling, ISM'01, Republique Tchèque, 2001, pp 77-84. [BLAH95] Blaha, M.R., Premerlani, W., J.: Observed Idiosyncracies of Relational Database designs, in Proc. of the 2nd IEEE Working Conf. on Reverse Engineering, Toronto, July 1995, IEEE Computer Society Press [CASA83] Casanova, M.A. and Jose Eduardo Amaral de Sa, Designing Entity-Relationship Schemas for Conventional Information Systems, Proceedings of the Third International Conference on Entity-Relationship Approach, 1983 [DAVI00] K.H. Davis, P.H. Aiken. Data Reverse Engineering: A Historical Survey. Proceedings of the 7th Working Conference on Reverse Engineering WCREˇŻ2000, Brisbane, Queensland, Australia, 2000, p70-78. [FONG93] Fong, J. and M. Ho, Knowledge-Based Approach for Abstracting Hierarchical and Network Schema Semantics, Proceedings of the Twelve International Conference on Entity-Relationship Approach, Dallas, 1993. [HAIN95] Hainaut, J-L., Englebert, V., Henrard, J., Hick, J-M. and Roland, D.: Requirements for Information Systems Reverse Engineering Support, Proc. of the Int. Working Conference on Reverse Engineering (WRCE), Toronto 1995. [HAIN98] Jean-Luc Hainaut: Database Reverse Engineering, Proc. of the 10th Conf. on ER Approach, San Mateo (CA), 1998 [CHEN76] P. P. Chen; The Entity-Relationship Model: towards a unified view of data; ACM TODS, Vol. 1, Nb.1, 1976 [CHIA94] Chiang, R.H.L., Barron, T-M. and Storey, V.C.: Reverse Engineering of Relational Databases: Extraction of an EER Model from a Relational Database, Data and Knowledge Engineering (DKE), 12, 1994 pp. 107-142 [CHIK96] Chikofsky, Elliot; Předmluva k Data Reverse Engineering: Slaying the Legacy Dragon, McGraw-Hill, 1996, str. xiii xvi. 621

[NAVA87] Navathe, S and A. Awong, Abstracting Relational and Hierarchical Data with a Semantice Data Model, Proceedings of the Sixth International Conference on Entity-Relationship Approach, 1987 [PETI94] Petit, J-M., Kouloumdjian, J., Boulicaut, J-F. and Toumani, F.: Using Queries to Improve Database Reverse Engineering, Proc. of the Int. Conf. on the Entity-Relationship Approach (ERA), Manchester, 1994, pp. 369-386 [PREM93] Premerlani, W., J., Blaha, M.R.: An Approach for Reverse Engineering of Relational Databases, in Proc. of the IEEE Working Conf. on Reverse Engineering, 1993, IEEE Computer Society Press [PREM94] Premerlani, W. and and Blaha, M.: An Approach for Reverse Engineering of Relational Databases, Communications of the ACM (CACM), 37(5), 1994, pp. 42-49 [TARI97] Z Tari, O Bukhres, J Stokes and S. Hammoudi: The Reengineering of Relational Databases based on Key and Data Correlations. In: Searching for Semantics: Data Mining, Reverse Engineering, etc., S. Spaccapietra and F. Maryanski (eds.), Chapman & Hall, 1998. Kontaktní adresa autora: Ing. Vít Holub Česká zemědělská univerzita v Praze, Provozně-ekonomická fakulta, Katedra informačního inženýrství, Kamýcká 129, 165 21 Praha 6 - Suchdol(holub@pef.czu.cz) +420 2 2438 3243 622