next up previous contents
Next: Protocol Classes and Up: Derived Classes Previous: Specialization Derived Classes

Generalization Derived Classes

A generalization derived object class, , is defined as the superclass of object classes , , (m 2), and consists of the union of objects belonging to these classes. is associated with a derived identifier attribute that is defined as the union of the identifiers of classes , , and . does not ``upward inherit'' any attributes from , , as described in [Abiteboul & Bonner 91]. However, can have explicitly defined derived attributes, and attributes from subclasses , , can be defined on using attribute composition derivations.

<generalization derived class> ::= DERIVED OBJECT CLASS <class name>
                                   <permission model>
                                   <class description>
                                   <class example>
                                   <generalization derivation>
                                   <derived view attributes>
                                 ;
<generalization derivation> ::= DERIVATION ':' <generalization class list>
                              ;
<generalization class list> ::= <class name>
                              | <generalization class list> or <class name>
                              ;

An example of a generalization derived object class is class OWNED_OBJECT shown below:

DERIVED OBJECT CLASS OWNED_OBJECT 
   DESCRIPTION: "generalization of CONTIG_MAP and FRAGMENT" 
   DERIVATION: CONTIG_MAP or FRAGMENT
   ATTRIBUTE owned_obj_id     DERIVATION: [CONTIG_MAP] contig_id [INTEGER] or
                                          [FRAGMENT] fragment_id [INTEGER]
   ATTRIBUTE owner            DERIVATION: [CONTIG_MAP] owner [PERSON] or
                                          [FRAGMENT] owner [PERSON]