In this paper we formalize the object-oriented data model of the Chimera language. This language supports all the common features of object-oriented data models such as object identity, complex objects and user-defined operations, classes, inheritance. Constraints may be defined by means of deductive rules, used also to specify derived attributes. In addition, class attributes, operations, and constraints that collectively apply to classes are supported.
The main contribution of our work is to define a complete formal model for an object-oriented data model, and to address on a formal basis several issues deriving from the introduction of rules into an object-oriented data model.