by Prof. Antonio Albano Univ. di Pisa, Pisa
Object database technology is past its adolescence and it is considered nowaday the technology of the next-generation of database systems. In the last decade many database programming languages and database systems have been defined which are based on the object paradigm. Some of these systems are based on designing from scratch an object data model, and a database programming language; for example, Gemstone, ObjectStore, Ontos, O2, and Orion. Other systems are based on the extension of the relational data model with object-oriented features, as in the Illustra and UniSQL systems, and in the forthcoming new SQL standard, called SQL3. The first part of the tutorial examines the essential features of an object data model and how they are supported by the database language of current OODBMSs. The second part of the tutorial presents some extensions of database languages to support new mechanisms to deal with the evolution of data and applications: objects with roles to allow an object to dynamically change its type and to behave in a way which depends on the role they are accessed through; and object viewing operations to give multiple views for the same object. Examples will be given using the prototype implementation of the database programming language Galileo 95.