Schema Evolution & Version Control in OODB Group members: Lynne Ward, Alistair Hamilton,Ben Hall, Joe W Falke, Kriss PaulPresenter: Joe W Falke.

Slides:



Advertisements
Similar presentations
OO databases 1 Object Oriented databases. OO databases 2 Developing OODBMS - motivation motivation more and more application areas require systems that.
Advertisements

Programming Paradigms Introduction. 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1:
George Blank University Lecturer.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Database Development CIT 731 Preliminary. Main Objective The objective of this course is to design and construct a well-structured and secure database.
Classes & Objects Computer Science I Last updated 9/30/10.
Classes and Object- Oriented... tMyn1 Classes and Object-Oriented Programming The essence of object-oriented programming is that you write programs in.
Introduction To System Analysis and Design
L3-1-S1 OO Concepts © M.E. Fayad SJSU -- CMPE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
Object-Oriented Databases v OO systems associated with – graphical user interface (GUI) – powerful modeling techniques – advanced data management capabilities.
Object-Oriented Databases
© Wolfgang Pelz Introduction Object-Oriented Methods: Analysis, Design & Programming Dr. Wolfgang Pelz Dr. Yingcai Xiao The University of Akron.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Data Abstraction and Object- Oriented Programming CS351 – Programming Paradigms.
Object Oriented Databases - Overview
CO320 Introduction to Object- Oriented Programming Michael Kölling 3.0.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra,
Chapter 4 Object and Object-Relational Databases (Part ½: Object-Oriented Concepts) Lecturer: H.Ben Othmen Department of Computer Science, Umm Al-Qura.
Introduction To System Analysis and design
Introduction to Object-oriented Programming CSIS 3701: Advanced Object Oriented Programming.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 2: Modelling.
MT311 Java Application Development and Programming Languages Li Tak Sing( 李德成 )
IS0514Slide 1 IS0514 Lecture Week 5 Introduction to Object Orientation.
5.0 Objects First with Java A Practical Introduction using BlueJ Introduction to Computer Science I Instructor: Allyson Anderson.
Introduction To System Analysis and Design
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Object-Oriented Programming (OOP) CSC-2071 (3+1=4 Credits) Lecture No. 1 MBY.
1 The module aims to: n Extend the concepts and practical implementation of the relational model. n Introduce the concepts of Object Oriented and Object-
Chapter 1 : Introduction §Purpose of Database Systems §View of Data §Data Models §Data Definition Language §Data Manipulation Language §Transaction Management.
XML Registries Source: Java TM API for XML Registries Specification.
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
Chapter 18 Object Database Management Systems. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Motivation for object.
OBJECT-ORIENTED PROGRAMMING (OOP) WITH C++ Instructor: Dr. Hany H. Ammar Dept. of Electrical and Computer Engineering, WVU.
C++ Programming Basic Learning Prepared By The Smartpath Information systems
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
E.Bertino, L.Matino Object-Oriented Database Systems 1 Chapter 5. Evolution Seoul National University Department of Computer Engineering OOPSLA Lab.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
PROC-1 1. Software Development Process. PROC-2 A Process Software Development Process User’s Requirements Software System Unified Process: Component Based.
Object-Oriented Programming Chapter Chapter
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
ISBN Object-Oriented Programming Chapter Chapter
1 Unified Modeling Language, Version 2.0 Chapter 2.
Mr.Prasad Sawant, MIT Pune India Introduction to DBMS.
Copyright (c) 2014 Pearson Education, Inc. Introduction to DBMS.
Chapter 20 Concepts for Object-Oriented Databases Copyright © 2004 Pearson Education, Inc.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
E.Bertino, L.Matino Object-Oriented Database Systems 1 Chapter.4 Version Seoul National University Department of Computer Engineering OOPSLA Lab.
Databases Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
LECTURE TWO Introduction to Databases: Data models Relational database concepts Introduction to DDL & DML.
SERVICE ANNOTATION WITH LEXICON-BASED ALIGNMENT Service Ontology Construction Ontology of a given web service, service ontology, is constructed from service.
Object-oriented programming (OOP) is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their.
CS 325 Spring ‘09 Chapter 1 Goals:
Introduction to DBMS Purpose of Database Systems View of Data
Visual Basic 2010 How to Program
Systems Analysis and Design With UML 2
Introduction to UML.
Section 11.1 Class Variables and Methods
TIM 58 Chapter 8: Class and Method Design
Information Technology
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Introduction to DBMS Purpose of Database Systems View of Data
Programming Languages and Paradigms
Appendix A Object-Oriented Analysis and Design
Information Technology
Appendix A Object-Oriented Analysis and Design
Presentation transcript:

Schema Evolution & Version Control in OODB Group members: Lynne Ward, Alistair Hamilton,Ben Hall, Joe W Falke, Kriss PaulPresenter: Joe W Falke

Introduction Schema – The organization or structure for a database Change of Data Structure Over Time Ability Of Database System to respond to changes

Schema Evolution Example Salary relation Staff ID Position CodeSalary 21677G55£ G56£ A05£ A09£ G51£32000 New 4 digit integer position codes are to be implemented. Problem Is another field required to store the old codes, if so, for how long will the new field be kept.

Schema Modifications Problems Consistency checks Structural Behavioural Implementation Changes To The Schema Add & Subtract Classes Methods Properties

Ossevol Database and Schema modification utility Handles many common cases of schema evolution, such as adding and deleting.

Schema Evolution Planning Schema Evolution Decision Tree

Implementation Incorporate Safeguards Testing thoroughly using small databases Validation Techniques

Taxonomy 1. Changes to the contents of a node (a class) 1.1. Changes to an instance variable Add a new instance variable to a class Drop an existing instance variable from a class Change the Name of an instance variable of a class Change the Domain of an instance variable of a class Change the inheritance (parent) of an instance variable (inherit another instance variable with the same name) Change the default value of an instance variable Manipulate the shared value of an instance variable Add a shared value Change the shared value Drop the shared value

Taxonomy (ii) 1.2. Changes to a method Add a new method to a class Drop an existing method from a class Change the Name of a method in a class Change the inheritance of a method 2. Changes to an Edge 2.1. Make a class S a superclass of C 2.2. Remove a class S from the superclass list of a class C 2.3. Change the order of superclass of a class C 3. Changes to a Node 3.1. Add a new class 3.2. Drop an existing class 3.3. Change the name of a class

Invariants Class Lattice Invariant Distinct Name Invariant Distinct Identity Invariant Full Inheritance Invariant Domain Compatibility Invariant

Version Control Introduction “An object version a semantically significant screenshot, taken at a given point in time”. Engineering Systems (e.g. CAD) Car Example

A car consists of multiple top-level objects, e.g. Engine Seat Steering Wheel For example, an engine version and a seat version are specific to one car

Requirements Of Version Control Transient Versions Working Versions Released Versions Can they be amended? How are they created? Where are they stored?

Binding Two types of binding Static Referencing requires the name of the object, the object identifier and the version number. Dynamic References need only specify the object identifier.

Version Evolution as a Hierarchy

Requirements of Version Control References Causation Environment

Chou & Kim’s ORION Model

Change Propagation Causing changes at higher levels of the Version Hierarchy Why is Propagation needed? Are there any problems associated with it?

Propagation Example

Change Notification Team of designers share responsibility of artefact Changes to objects can affect other referenced objects in artefact Notification types: Message – based Immediate Deferred Flag - based

Conclusion Usefulness of taxonomy for schema changes that an object – oriented database should allow and introduced a framework for understanding the semantics of the schema changes. The invariants of the class lattice ensure that changes do not leave the schema in an inconsistent state, (one that violates an invariant). There are a number of components making up version control Importance of Notification

References Books Used Fundamentals of Database Systems Elmasti & Navathe 2 nd Edition Benjamin/Cummings Publishing Company, Inc ISBN Readings in Database Systems Michael Stonebraker 2 nd Edition Morgan Kaufmann Publishers, San Francisco, California ISBN Database Systems, Connolly & Begg 3 rd Edition ISBN

References Building an Object-Oriented Database Systems Bancilhon, Delobel, & Kanellakis Morgan Kaufmann Publishers, San Francisco, California ISBN Object Databases, The Essentials Mary E. S. Loomis Addison-Wesley Publishing Company ISBN X Object-Oriented Databases, A Semantic Data Model Approach Gray, Kulkarni, Paton Prentice Hall ISDN

References Object-Oriented Databases Systems, Concepts and Architectures Berthino & Martino Addison-Wesley Publishing Company ISBN Object-Oriented Databases Management: Applications in Engineering and Computer Science Kemper & Moerkotte Prentice Hall ISBN Object-Oriented Concepts, Databases, and Applications. Kim & Lochovsky Addison-Wesley Publishing Company ISBN Websites Used