AbstractTo deal with the evolution of data and applications and with the existence of multiple views for the same data, the object data model needs to be extended with the object extension functionality to allow an object to dynamically change its type, and the object viewing functionality to allow an object to be seen as if it had a different structure and behavior. This paper proposes the virtual type facility which provides a persistent object of ?, an enhanced C++ persistent programming language compliant with the ?standard, with a different structure and behavior from those of its base types. Additionally, it presents the implementation details of the facility. The virtual type facility gives a different interface of an object to redefine its structure and behavior without affecting the behavior of a base type, while the multiple‐type object of ?allows an object to be dynamically extended to model an entity which changes its behavior with time. The virtual type facility integrates the object extension functionality and the object viewing functionality for dealing with the database evolution. © 2007 Wiley Periodicals, Inc. Syst Comp Jpn, 38(11): 25–35, 2007; Published online in Wiley InterScience (www.interscience.wiley.com). DOI 10.1002/scj.20781