240 likes | 482 Views
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
E N D
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 • Ability Of Database System to respond to changes
Schema Evolution Example • Salary relation • Staff ID Position Code Salary 21677 G55 £33000 21678 G56 £37000 21680 A05 £45500 21683 A09 £65400 21687 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 Decision Tree Schema Evolution Planning
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 1.1.1. Add a new instance variable to a class 1.1.2. Drop an existing instance variable from a class 1.1.3. Change the Name of an instance variable of a class 1.1.4. Change the Domain of an instance variable of a class 1.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 variable 1.1.7. Manipulate the shared value of an instance variable 1.1.7.1. Add a shared value 1.1.7.2. Change the shared value 1.1.7.3. Drop the shared value
Taxonomy (ii) 1.2. Changes to a method 1.2.1. Add a new method to a class 1.2.2. Drop an existing method from a class 1.2.3. Change the Name of a method in a class 1.2.4. 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
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.
Requirements of Version Control • References • Causation • Environment
Change Propagation • Causing changes at higher levels of the Version Hierarchy • Why is Propagation needed? • Are there any problems associated with it?
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 2nd Edition Benjamin/Cummings Publishing Company, Inc ISBN 0-8053-1753-8 Readings in Database Systems Michael Stonebraker 2nd Edition Morgan Kaufmann Publishers, San Francisco, California ISBN 1-55860-252-6 Database Systems, Connolly & Begg 3rd Edition ISBN 0-201-70857-4
References Building an Object-Oriented Database Systems Bancilhon, Delobel, & Kanellakis Morgan Kaufmann Publishers, San Francisco, California ISBN 1-55860-169-4 Object Databases, The Essentials Mary E. S. Loomis Addison-Wesley Publishing Company ISBN 0-201-56341-X Object-Oriented Databases, A Semantic Data Model Approach Gray, Kulkarni, Paton Prentice Hall ISDN 0-13-630203-3
References Object-Oriented Databases Systems, Concepts and Architectures Berthino & Martino Addison-Wesley Publishing Company ISBN 0-201-2439-7 Object-Oriented Databases Management: Applications in Engineering and Computer Science Kemper & Moerkotte Prentice Hall ISBN 0-13-104082-8 Object-Oriented Concepts, Databases, and Applications. Kim & Lochovsky Addison-Wesley Publishing Company ISBN 0-201-14410-7 Websites Used http://support.odi.com/i/documentation/doc/objectstore/r51/ostore/doc/user1/8_schema.htm