• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Extracting UML/OCL Integrity Constraints and Derived Types from Relational Databases
 

Extracting UML/OCL Integrity Constraints and Derived Types from Relational Databases

on

  • 735 views

Relational databases usually enforce relevant organizational business rules. This aspect is ignored by current database reverse engineering approaches which only focus on the extraction of the ...

Relational databases usually enforce relevant organizational business rules. This aspect is ignored by current database reverse engineering approaches which only focus on the extraction of the structural part of the conceptual schema.
Other database elements like triggers, views, column constraints, etc. are not considered by those methods. As a result, the generated conceptual schema is incomplete
since integrity constraints and derivation rules enforced by the database are not represented.
In this sense, this paper extends existing approaches by enriching the generated (UML) conceptual schema with a set of OCL integrity constraints and derivation rules inferred from the database schema. Our method has been implemented in a prototype tool for the Oracle database management system.

Statistics

Views

Total Views
735
Views on SlideShare
389
Embed Views
346

Actions

Likes
2
Downloads
12
Comments
0

4 Embeds 346

http://modeling-languages.com 337
https://twitter.com 7
http://plus.url.google.com 1
http://translate.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Extracting UML/OCL Integrity Constraints and Derived Types from Relational Databases Extracting UML/OCL Integrity Constraints and Derived Types from Relational Databases Presentation Transcript

    • © AtlanMod - atlanmod-contact@mines-nantes.fr Extracting UML/OCL Integrity Constraints and Derived Types from Relational Databases Valerio Cosentino Salvador Martínez {valerio.cosentino, salvador.martinez}@mines-nantes.fr
    • 07/10/13 © AtlanMod - atlanmod-contact@mines-nantes.fr Outline  Introduction  Approach overview  Model Extraction  Constraint Extraction  Conclusion and future work
    • 07/10/13 © AtlanMod - atlanmod-contact@mines-nantes.fr Introduction Relational databases play a key role in most organizations  They store relevant information according to: –Schema: data structure definitions and relations –Integrity constraints (declarative, operational): implementation of organization policies/business rules  These constraints should evolve together with the organization policies
    • 07/10/13 © AtlanMod - atlanmod-contact@mines-nantes.fr Introduction  Discovering/understanding the business rules in a db is: –Time-consuming (querying/browsing the database) –Error-prone (manual analysis) –Tailored process (each SQL vendor offers slight variations for the standard language)  Model Driven Engineering offers: –Homogeneous representation (schema + constraints) –Higher abstraction level (no SQL vendor specificities) –Automatation of repetitive activities (extraction of schema and constraints)
    • 07/10/13 © AtlanMod - atlanmod-contact@mines-nantes.fr Approach overview  Model Extraction translates tables, relations and views into UML classes and associations  Constraint Extraction focuses on inferring the OCL expressions required to complement the UML model
    • 07/10/13 © AtlanMod - atlanmod-contact@mines-nantes.fr Model Extraction  Mappings: – Tables → classes – Views → derived classes – Columns → class's attributes – Database data types → UML data types  CHAR(n), VARCHAR2(n) → String  Integer, Float, Date → Integer, Real, Date  Number(precision, scale) → if precision = 0 Integer else Real – Foreign keys → associations between classes – SQL queries → associations' cardinalities
    • 07/10/13 © AtlanMod - atlanmod-contact@mines-nantes.fr Model Extraction  Example: human resource database
    • 07/10/13 © AtlanMod - atlanmod-contact@mines-nantes.fr Constraint Extraction  Declarative constraints: – PRIMARY KEY – UNIQUE – NOT NULL – CHECK  Operational constraints: – Triggers: PL/SQL - SQL code automatically executed in response to certain database events  Key elements: SQL-to-OCL and PL/SQL-to-OCL – they map SQL and PL/SQL constructs to OCL
    • 07/10/13 © AtlanMod - atlanmod-contact@mines-nantes.fr Declarative constraints  Declarative constraints:  Example:
    • 07/10/13 © AtlanMod - atlanmod-contact@mines-nantes.fr SQL to OCL  Projection and selection:  Example:
    • 07/10/13 © AtlanMod - atlanmod-contact@mines-nantes.fr SQL to OCL  Join:  Example:
    • 07/10/13 © AtlanMod - atlanmod-contact@mines-nantes.fr SQL to OCL  Group and having clause:  Example:
    • 07/10/13 © AtlanMod - atlanmod-contact@mines-nantes.fr Triggers  Triggers are composed by: – Triggering event: SQL statement, database or user event – Trigger condition (optional): boolean expression – Triggered action: PL/SQL block (procedural and SQL code)  They can be executed: instead of, before or after performing the triggering event
    • 07/10/13 © AtlanMod - atlanmod-contact@mines-nantes.fr PL/SQL to OCL  All triggers that embed in their action a PL/SQL statement raising an exception defined by the user are classified as business-relevant – Two ways to use user exceptions:  RAISE statement (Override an already-defined exception)  RAISE APPLICATION ERROR statement  These exceptions are generally nested in conditional statements. For each exception, the conditions triggering the exception are mapped to an equivalent OCL expression.
    • 07/10/13 © AtlanMod - atlanmod-contact@mines-nantes.fr PL/SQL to OCL  Trigger:  Example: SQL to OCL mappings
    • 07/10/13 © AtlanMod - atlanmod-contact@mines-nantes.fr Refining OCL Constraints  UML stereotype mechanisms are used to annotate each OCL constraint extracted from a Trigger with the information of the events that apply to it (insert, update, delete)  Annotated OCL constraints can be merged together when: – they are semantically-equivalent – they are applied to different events
    • 07/10/13 © AtlanMod - atlanmod-contact@mines-nantes.fr Conclusion and future work  MDE benefits: – Modular and generic approach – Automatic extraction of the organization policies in databases  Future work – Test the framework on a real database application – Extend the OCL language with additional libraries for representing calendar-based constraints – Integrate the extracted business rules with those ones extracted from other system's components
    • 07/10/13 © AtlanMod - atlanmod-contact@mines-nantes.fr Questions