In a typical database application, there are many different users with a great variety of skills, needs and perceptions. The problem of supporting this plethora of user views in a dynamic, data intensive environment is the topic of this dissertation.
In traditional record-based systems, all information is represented by an idealized data structure and a set of operations on that structure. User views are defined by simple variations in this structure, such as permuting field names, selecting a subset of the data, or creating links between records. Semantic database models support more complex, "natural" structures. It is often claimed that relativism is supported because semantic schemas can be correctly interpreted (by users) in different ways. The object-oriented paradigm, with its simple and elegant structural semantics, provides both simplicity and richness. Unfortunately, current object-oriented systems only provide a single object interface (or protocol). This dissertation presents PolyView; an object-oriented data model capable of simultaneously supporting many points of view. In PolyView, objects encapsulate a single structure and any number of object interfaces (view instance descriptions). PolyView, therefore, supports distributed mappings from user views to the underlying database structure.
Algorithms are presented for generic methods which retrieve and update information through user views. PolyView "colors" queries (messages) by attaching a view identity to them. As messages are propagated through the schema, each receiving object uses the color to determine how the message is to be processed. The color is used to select the user's protocol and allows different user's queries to be processed through apparently different database structures. Because objects act independently, PolyView is a data-driven system; messages are processed without any centralized control or shared memory.
Finally, PolyView provides a set of view transformations which allow view administrators to build object interfaces. Since views are supported by both global and localized mechanisms, there are transformations which operate at each of these levels. There are three major categories of transformations presented in this thesis: those which customize the schema as a whole, transformations for changing the structure of the IS-A hierarchy and transformations for customizing attributes.