Data Evolution in conjunction with Domain Specific Languages Intermediate Presentation Guido Smeets.

Slides:



Advertisements
Similar presentations
Three-Step Database Design
Advertisements

The transformation of an ER or EER model into a relational model
Conceptual / semantic modelling
Normalisation.
Lecture plan Outline of DB design process Entity-relationship model
Relational Database. Relational database: a set of relations Relation: made up of 2 parts: − Schema : specifies the name of relations, plus name and type.
ISO DSDL ISO – Document Schema Definition Languages (DSDL) Martin Bryan Convenor, JTC1/SC18 WG1.
1 Information Systems Development (ISD) Systems Development Life Cycle Overview of Analysis Phase Overview of Design Phase CP2236: Information Systems.
SQL Lecture 10 Inst: Haya Sammaneh. Example Instance of Students Relation  Cardinality = 3, degree = 5, all rows distinct.
1 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Databases Revision.
Requirements Specification
Chapter 6 Methodology Conceptual Databases Design Transparencies © Pearson Education Limited 1995, 2005.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
Data Modelling. EAR model This modelling language allows a very small vocabulary: Just as English has nouns, verbs, adjectives, pronouns.., EAR models.
--The Entity Relationship Model(4)--1 Outline  ER model  Overview  Entity types Attributes, keys  Relationship types  Weak entity types  uses Integration.
The Relational Model Codd (1970): based on set theory Relational model: represents the database as a collection of relations (a table of values --> file)
July 14, 2015ICS 424: recap1 Relational Database Design: Recap of ICS 324.
Modeling & Designing the Database
Michael F. Price College of Business Chapter 6: Logical database design and the relational model.
Web-Enabled Decision Support Systems
Section 11 : Normalisation
Chapter 16 Methodology - Conceptual Database Design.
Methodology - Conceptual Database Design Transparencies
Software School of Hunan University Database Systems Design Part III Section 5 Design Methodology.
Methodology Conceptual Databases Design
9/14/2012ISC329 Isabelle Bichindaritz1 Database System Life Cycle.
1 Chapter 15 Methodology Conceptual Databases Design Transparencies Last Updated: April 2011 By M. Arief
Concepts and Terminology Introduction to Database.
3 April SOA: Services Oriented Architecture MDA: Model Driven Architecture.
Copyright  Oracle Corporation, All rights reserved. 4 CMIS Powell Oracle Designer: Creating the Database Design CMIS Powell.
Lecture 2 An Overview of Relational Database IST 318 – DB Admin.
Entity Framework Overview. Entity Framework A set of technologies in ADO.NET that support the development of data-oriented software applications A component.
Methodology - Conceptual Database Design. 2 Design Methodology u Structured approach that uses procedures, techniques, tools, and documentation aids to.
Object Oriented Analysis and Design 1 Chapter 7 Database Design  UML Specification for Data Modeling  The Relational Data Model and Object Model  Persistence.
1/26/2004TCSS545A Isabelle Bichindaritz1 Database Management Systems Design Methodology.
Methodology: Conceptual Databases Design
© Pearson Education Limited, Chapter 9 Logical database design – Step 1 Transparencies.
Conceptual Database Design
Chapters 15 &16 Conceptual and Logical Database Design Methodology.
Methodology - Conceptual Database Design
1 Digital Preservation Testbed Database Preservation Issues Remco Verdegem Bern, 9 April 2003.
Chapter 9: Logical Database Design and the Relational Model (ERD Mapping)
Automated Transformation of Statements Within Evolving Domain Specific Languages Peter Bell CEO/CTO, SystemsForge 7th OOPSLA Workshop on Domain-Specific.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
MDA – Model Driven Architecture Olivier Riboux. Overview What is MDA? The Challenges MDA addresses Developing in the MDA Benefits / Conclusion Case Study:
Jozef Kuper.  Describe a Database  Entities  Atributes  Relationships.
Database Design – Lecture 6 Moving to a Logical Model.
Slide title In CAPITALS 50 pt Slide subtitle 32 pt Robust Reconfigurable Erlang Component System ErlCOM Gabor Batori, Zoltan Theisz, Domonkos Asztalos.
Monte-Carlo Event Database: current status Sergey Belov, JINR, Dubna.
Conceptual Databases Design Step 1 © Pearson Education Limited 1995, 2005.
Chapter 15 & 16 Conceptual and Logical Database Design Methodology Thomas Connolly, Carolyn Begg, Database System, A Practical Approach to Design Implementation.
Starting with Oracle SQL Plus. Today in the lab… Connect to SQL Plus – your schema. Set up two tables. Find the tables in the catalog. Insert four rows.
Lecture 03 Constraints. Example Schema CONSTRAINTS.
PowerPoint Animated Template For technology, originality presentation.
Hoi Le. Why database? Spreadsheet is not good to: Store very large information Efficiently update data Use in multi-user mode Hoi Le2.
IT 5433 LM3 Relational Data Model. Learning Objectives: List the 5 properties of relations List the properties of a candidate key, primary key and foreign.
Oracle sql Online Training By SMART MIND ONLINE TRAINING Website:
INTRODUCTION TO DATABASES (MICROSOFT ACCESS)
Methodology Conceptual Databases Design
SEEM3430: Information Systems Analysis and Design
Methodology Conceptual Database Design
Translation of ER-diagram into Relational Schema
Data, Databases, and DBMSs
Relational Database.
Methodology Conceptual Databases Design
Information Systems Development (ISD) Systems Development Life Cycle
Add You Title Here Your Text
Presentation transcript:

Data Evolution in conjunction with Domain Specific Languages Intermediate Presentation Guido Smeets

Overview Recap of the Problem Description Recap Research Questions Current Status Implementation Details Observations

Recap: Problem Description Handwritten Generated Handwritten

Recap: Research Questions Research and implement a solution to generate relational database schemas for the data models and business logic to operate on these data models; Research and implement a solution to generate deltas for the relational database for different version of the same data model.

Current Status DB Creation Fully Functional DB Evolution Partially Functional Fully Functional Partially Functional Not Functional Partially Functional

Implementation: Specification Language Module News { Entity Article { UniqueName [!]: String; Title : String; SubTitle String; Location : String; HyperLink String; ShortIntro : Text; ArticleText : Text; } Entity Category { UniqueName [!]: String; Description String; } Relationship { Category: 1!; Article : n?; } ! : Unique Constraint on : Multi-Lingual Attribute ? : Optional : Website Bound Entity ^ : Tree Structure

Implementation: Specification Language Module News { Entity Article { UniqueName [!]: String; Title : String; SubTitle : String; Location : String; HyperLink String; ShortIntro : Text; ArticleText : Text; } Entity Category { UniqueName [!]: String; Description String; } Relationship { Category: 1!; Article : n?; }

Implementation: Generation Pipeline

Implementation: Transformation Overview

Implementation: Data Model Evolution Remove all current Foreign Key Constraints Add new Entities Add new Attributes to existing Entities Perform data preserving operations Remove Attributes from Entities Remove Entities Restore existing Foreign Key Constraints & Add new Foreign Key Constraints

Implementation: Data Model Evolution Module News { Entity Article { UniqueName [!]: String; Title : String; } Module News { Entity Article { UniqueName [!]: String; Title : String; }

Observations Code too immature to be converted to templates Restricted possibilities in Repleo templates disallows Template hacking Multi-Tier Transformation Pipeline enhances consistency between different target platforms Development is an iterative process which involves a lot of rework. More tooling to help the developer with this process is needed.

Questions?