schema evolution & version control in oodb group members: lynne ward, alistair hamilton,ben...

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

Upload: rodney-sanders

Post on 03-Jan-2016

224 views

Category:

Documents


0 download

TRANSCRIPT

Schema Evolution & Version Control in

OODB

Group members:Group members: Lynne Ward, Alistair Hamilton,Ben Hall,

Joe W Falke, Kriss Paul

Presenter:Presenter: 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 Code Salary

21677 G55 £3300021678 G56 £3700021680 A05 £4550021683 A09 £6540021687 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

Taxonomy1. Changes to the contents of a node (a class)

1.1. Changes to an instance variable1.1.1. Add a new instance variable to a class1.1.2. Drop an existing instance variable from a class1.1.3. Change the Name of an instance variable of a class1.1.4. Change the Domain of an instance variable of a class1.1.5. Change the inheritance (parent) of an instance

variable (inherit another instance variable with the same name)

1.1.6. Change the default value of an instance variable1.1.7. Manipulate the shared value of an instance variable

1.1.7.1. Add a shared value1.1.7.2. Change the shared value1.1.7.3. Drop the shared value

Taxonomy (ii)1.2. Changes to a method

1.2.1. Add a new method to a class1.2.2. Drop an existing method from a class1.2.3. Change the Name of a method in a class1.2.4. Change the inheritance of a method

2. Changes to an Edge2.1. Make a class S a superclass of C2.2. Remove a class S from the superclass list of a class C2.3. Change the order of superclass of a class C

3. Changes to a Node3.1. Add a new class3.2. Drop an existing class3.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

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

Obj[0]

Obj[3]Obj[2]Obj[1]

Obj[1.1] Obj[1.2] Obj[2.3]Obj[2.2]Obj[2.1]

TIME

Fig 1.1 Version History Hierarchy

Requirements of Version Control

References

Causation

Environment

Chou & Kim’s ORION Model

Public Database

Private Workspace

Check-out

Check-inor Promote

Explicit/ImplicitPromotion

Create object from scratch

- Released Version

- Working Version

- Transient Version

Key:

Fig 1.2 Main Components of Chou and Kim’s ORION Version Control 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

1

1 2 21

A

BC

Fig 1.3 Example of Change Propagation

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

ReferencesBooks Used Fundamentals of Database Systems Elmasti & Navathe2nd EditionBenjamin/Cummings Publishing Company, IncISBN 0-8053-1753-8 Readings in Database SystemsMichael Stonebraker2nd EditionMorgan Kaufmann Publishers, San Francisco, CaliforniaISBN 1-55860-252-6  Database Systems, Connolly & Begg3rd EditionISBN 0-201-70857-4

ReferencesBuilding an Object-Oriented Database SystemsBancilhon, Delobel, & KanellakisMorgan Kaufmann Publishers, San Francisco, CaliforniaISBN 1-55860-169-4 Object Databases, The EssentialsMary E. S. LoomisAddison-Wesley Publishing CompanyISBN 0-201-56341-X Object-Oriented Databases, A Semantic Data Model ApproachGray, Kulkarni, PatonPrentice HallISDN 0-13-630203-3

ReferencesObject-Oriented Databases Systems, Concepts and ArchitecturesBerthino & MartinoAddison-Wesley Publishing CompanyISBN 0-201-2439-7 Object-Oriented Databases Management: Applications in Engineering and Computer ScienceKemper & MoerkottePrentice HallISBN 0-13-104082-8 Object-Oriented Concepts, Databases, and Applications.Kim & LochovskyAddison-Wesley Publishing CompanyISBN 0-201-14410-7 Websites Used http://support.odi.com/i/documentation/doc/objectstore/r51/ostore/doc/user1/8_schema.htm