schema evolution & version control in oodb

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: garima

Post on 13-Feb-2016

42 views

Category:

Documents


0 download

DESCRIPTION

Schema Evolution & Version Control in OODB. Group members: Lynne Ward, Alistair Hamilton , Ben Hall , Joe W Falke , Kriss Paul Presenter: Joe W Falke. Introduction. Schema – The organization or structure for a database Change of Data Structure Over Time - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Schema Evolution  & Version Control in OODB

Schema Evolution & Version Control in

OODBGroup members:Group members:

Lynne Ward, Alistair Hamilton,Ben Hall,

Joe W Falke, Kriss Paul

Presenter:Presenter: Joe W Falke

Page 2: Schema Evolution  & Version Control in OODB

Introduction Schema – The organization or

structure for a database

Change of Data Structure Over Time

Ability Of Database System to respond to changes

Page 3: Schema Evolution  & Version Control in OODB

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.

Page 4: Schema Evolution  & Version Control in OODB

Schema Modifications Problems

Consistency checks Structural Behavioural

Implementation Changes To The Schema

Add & Subtract Classes Methods Properties

Page 5: Schema Evolution  & Version Control in OODB

Ossevol Database and Schema

modification utility

Handles many common cases of schema evolution, such as adding and deleting.

Page 6: Schema Evolution  & Version Control in OODB

Schema Evolution Planning

Schema Evolution Decision Tree

Page 7: Schema Evolution  & Version Control in OODB

Implementation Incorporate Safeguards

Testing thoroughly using small databases

Validation Techniques

Page 8: Schema Evolution  & Version Control in OODB

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 variable1.1.7.1. Add a shared value1.1.7.2. Change the shared value1.1.7.3. Drop the shared value

Page 9: Schema Evolution  & Version Control in OODB

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

Page 10: Schema Evolution  & Version Control in OODB

Invariants Class Lattice Invariant

Distinct Name Invariant

Distinct Identity Invariant

Full Inheritance Invariant

Domain Compatibility Invariant

Page 11: Schema Evolution  & Version Control in OODB

Version Control Introduction

“An object version a semantically significant screenshot, taken at a given point in time”.

Engineering Systems (e.g. CAD) Car Example

Page 12: Schema Evolution  & Version Control in OODB

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

Page 13: Schema Evolution  & Version Control in OODB

Requirements Of Version Control Transient Versions Working Versions Released Versions

Can they be amended? How are they created? Where are they stored?

Page 14: Schema Evolution  & Version Control in OODB

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.

Page 15: Schema Evolution  & Version Control in OODB

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

Page 16: Schema Evolution  & Version Control in OODB

Requirements of Version Control References

Causation

Environment

Page 17: Schema Evolution  & Version Control in OODB

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

Page 18: Schema Evolution  & Version Control in OODB

Change Propagation Causing changes at higher levels

of the Version Hierarchy Why is Propagation needed? Are there any problems associated

with it?

Page 19: Schema Evolution  & Version Control in OODB

Propagation Example

1

1 2 21

A

B C

Fig 1.3 Example of Change Propagation

Page 20: Schema Evolution  & Version Control in OODB

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

Page 21: Schema Evolution  & Version Control in OODB

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

Page 22: Schema Evolution  & Version Control in OODB

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

Page 23: Schema Evolution  & Version Control in OODB

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

Page 24: Schema Evolution  & Version Control in OODB

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