Schema Evolution & Version Control in OODB
description
Transcript of Schema Evolution & Version Control in OODB
![Page 1: Schema Evolution & Version Control in OODB](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/1.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/2.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/3.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/4.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/5.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/6.jpg)
Schema Evolution Planning
Schema Evolution Decision Tree
![Page 7: Schema Evolution & Version Control in OODB](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/7.jpg)
Implementation Incorporate Safeguards
Testing thoroughly using small databases
Validation Techniques
![Page 8: Schema Evolution & Version Control in OODB](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/8.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/9.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/10.jpg)
Invariants Class Lattice Invariant
Distinct Name Invariant
Distinct Identity Invariant
Full Inheritance Invariant
Domain Compatibility Invariant
![Page 11: Schema Evolution & Version Control in OODB](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/11.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/12.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/13.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/14.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/15.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/16.jpg)
Requirements of Version Control References
Causation
Environment
![Page 17: Schema Evolution & Version Control in OODB](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/17.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/18.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/19.jpg)
Propagation Example
1
1 2 21
A
B C
Fig 1.3 Example of Change Propagation
![Page 20: Schema Evolution & Version Control in OODB](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/20.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/21.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/22.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/23.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062810/56815e1f550346895dcc7ba6/html5/thumbnails/24.jpg)
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