Академический Документы
Профессиональный Документы
Культура Документы
www.elsevier.com/locate/knosys
Department of Computer Science, University of Calgary, 2500 University Drive NW, Calgary, AB, Canada T2N 1N4
b
Department of Computer Engineering, Middle East Technical University, 06531 Ankara, Turkey
Received 1 August 2000; revised 18 March 2002; accepted 3 April 2002
Abstract
In this paper, a rule-based mechanism for schema evolution in object-oriented databases is presented. We have benefited from having an
object algebra maintaining closure that makes it possible to have the output from a query persistent in the hierarchy. The actual class
hierarchy and the corresponding hierarchy which reflects the relationship between operands and results of queries are utilized. In order to
have query results reflected into the class hierarchy and classes reflected into the operands hierarchy, we also define mappings between the
two hierarchies. As a result, it is possible to maximize reusability in object-oriented databases. The object algebra is utilized to handle basic
schema evolution functions without requiring any special set of built-in functions. The invariants and the conflict resolving rules are
specified. It is also shown how other schema functions are derivable from the basic ones. q 2003 Elsevier Science B.V. All rights reserved.
Keywords: Rule-based systems; Object-oriented data model; Schema evolution; Conflict resolution; Reusability
1. Introduction
Object-oriented systems evolved to satisfy the needs of
application areas where information about the domain is
incomplete or becomes available incrementally or even
highly subject to change. This requires flexibility in
changing the database schema. Consequently, existing
object-oriented data models allow a wide variety of schema
changes [29]. O2 [31] provides two modes for running an
application. Schema changes are allowed in the development mode, but not in the execution mode where the schema
is frozen and changes to it are forbidden. Schema changes in
ORION [6] are based on multiple inheritance while in
GemStone [21] simple inheritance based schema changes
are treated. The approach used in Ref. [27] is based on
keeping versions to maintain a consistent view of the type
hierarchy after a schema change. Monk and Sommerville
[16] described a model for the versioning of classes.
Programs written to access an old version of the schema can
use the new schema version. Lerner and Habermann [14]
discussed a method to schema evolution that keeps versions
to the whole schema rather than individual classes.
Lautemann [13] uses a propagation based algorithm to
handle schema versions in a coherent way. Sjoberg [26]
* Corresponding author.
E-mail addresses: alhajj@cpsc.ucalgary.ca (R. Alhajj), polat@ceng.
metu.edu.tr (F. Polat).
0950-7051/03/$ - see front matter q 2003 Elsevier Science B.V. All rights reserved.
PII: S 0 9 5 0 - 7 0 5 1 ( 0 2 ) 0 0 0 5 1 - 5
48
49
n
X
Wbehavior cpi
i1
t
X
Winstances cbi
i1
n
X
Wattributes cpi
i1
50
coursesMexpression course
[
51
n
X
Wbehavior cpi
i1
t
\
!
Lbehavior cbi
i1
52
{xlx1
Iprojectei ; {m1 : f1 ; m2 : f2 ; ; mn : fn }
53
54
55
56
5. Conclusions
The approach emphasized in this paper is based on an
object algebra developed for object-oriented databases.
Having the object algebra properly maintaining closure and
facilitating the proper placement of a query result as a class
in the hierarchy were the basic properties that led to the
study described in this paper. Reusability information
provided by the query model form the basis for further
adjustments of the class hierarchy towards the maximization
of reusability. Furthermore, enforcing multiple inheritance
in a data model helps in increasing reusability by having the
flexibility of adjusting superclasses when possible in a way
to increase the facilities that a class inherits and hence
decrease its locally defined facilities. Thus, it is proved that
a wide variety of schema changes could be handled using
the object algebra without requiring a stand-alone language
to serve the purpose. Different rules and constraints were
derived to detect and resolve conflicts and inconsistencies
due to any schema change. Hence, the approach followed is
different than other approaches described in the literature.
References
[1] S. Abiteboul, A. Bonner, Objects and views, Proceedings of ACMSIGMOD (1991) 238247.
[2] R. Alhajj, F. Polat, View maintenance in object-oriented databases,
Lecture Notes in Computer Science, Springer, New York, 1996,
DEXA Conference, Zurich.
[3] R. Alhajj, F. Polat, Closure maintenance in an object-oriented query
model, Proceedings of ACM CIKM, MD (1994).
[4] R. Alhajj, M.E. Arkun, A query model for object-oriented database
systems, Proceedings of IEEE ICDE, Vienna (1993).
[5] R. Alhajj, F. Polat, Proper handling of query results towards
maximizing reusability in object-oriented databases, Information
Sciences 107 (1998) 247 272.
[6] J. Banerjee, W. Kim, H.-J. Kim, H.F. Korth, Semantics and
implementation of schema evolution in object-oriented databases,
Proceedings of ACM-SIGMOD, San Francisco, CA (1987).
[7] E. Bertino, M. Negri, G. Pelagatti, L. Sbattella, Object-oriented query
languages: the notion and the issues, IEEE Transactions on Knowledge and Data Engineering (1992) 4.
[9] V.M. Crestana-Jensen, A.J. Lee, Consistent schema version removal:
an optimization technique for object-oriented views, IEEE Transactions on Knowledge and Data Engineering 12 (2000) 261280.
[11] M. Kifer, W. Kim, Y. Sagiv, Querying object-oriented databases,
Proceedings of ACM-SIGMOD, San Diego, CA (1992).
[12] W. Kim, Object-oriented databases: definition and research directions,
IEEE Transactions on Knowledge and Data Engineering 2 (1990)
327 341.
[13] S.-E. Lautemann, A propagation mechanism for populated schema
versions, Proceedings of IEEE International Conference on Data
Engineering, Birmingham UK (1997) 67 78.
[14] B. Lerner, A. Habermann, Beyond schema evolution to database
reorganization, SIGPLAN Notes (1990) 25.
[15] F. Manola, U. Dayal, PDM: an object-oriented data model,
Proceedings of the International Workshop on Object-Oriented
Databases, Pacific Grove, CA (1986) 18 25.
[16] S. Monk, I. Sommerville, A model for versioning of classes in objectoriented DBMS, Proceedings of the British National Conference on
Databases (1992).
[28]
[29]
[30]
[31]
57
Further Reading
M.J. Carey, D.J. Dewitt, The architecture of the EXODUS extensible
DBMS, Proceedings of IEEE International Workshop on ObjectOriented Database Systems, Pacific Grove, CA (1986) 52 65.
D.H. Fishman, et al., IRIS: an object-oriented database management
system, ACM Transactions on Office Information Systems 5 (1987)
48 69.