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