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. (C) 2003 Elsevier Science B.V. All rights reserved.