Types of Semantic Objects:
The semantic objects are divided into seven
types. These are:
1. Simple objects
2. Composite objects
3. Compound objects
4. Hybrid objects
5. Association objects
6. Parent/Subtype objects
7. Archetype/Version objects
1. Simple Object:
A semantic object that contains only
single-valued attributes and does not contain any object attribute is referred
to as simple object. The attributes of simple object may be simple or group
attributes. For example, a general structure of simple object "CAR" with
attributes; Model and Color is shown in figure 5.6(a) and its instance is shown
in figure 5.6(b).

2. Composite Object:
A semantic object that contains one or more
multi-valued, simple or group attributes, but it does not contain any object
attribute-is known as composite object. For example, general structure of object
"QUALIFICATION" with multi-valued attributes Degree, Exam-Board and Marks is
shown in figure (a), which can be used to represent the educational records of
the employees. The instance of the object "QUALIFICATION" is shown in figure (b)
below.

3. Compound Object:
A semantic object that contains at least one
object attribute is called a compound object. For example, the UNIVERSITY object
diagram is given below that contains two object attributes 'Department' and
'Student'.

In the above figure, the UNIVERSITY is a compound
object because it contains two object attributes 'Student" and 'Department'.
4. Hybrid Object:
A semantic object that has combined features of
composite and compound objects, is called hybrid object (Just like Hybrid
computer which has both features of analog and digital computers). It means that
a semantic object contains one or more multi-value, simple or group attributes
as well as object attributes. For example, the EMPLOYEE object diagram is given
below that contains one multi-valued group attribute ' Education' and one object
attribute 'Department'.

5. Association Object:
A semantic object that associates (relates) two
or more objects and stores data about their association (or relationship), is
called association object. For example, three objects UNIVERSITY, STUDENT and
COURSE are shown below. The object UNIVERSITY is an association object that
associates the two objects STUDENT and COURSE and stores data about their
association. The UNIVERSITY object contains both the STUDENT and COURSE objects
as "object attributes. Similarly, both STUDENT and COURSE objects contain
UNIVERSITY object as object attribute.

6. Parent/Subtype Objects:
A semantic object may contain subtype object
attributes that inherit all the attributes of that object. Such semantic object,
which contains the subtype objects is called parent object or supertype object.
Parent/Subtype objects have an important characteristic called inheritance. A
subtype inherits all of the attributes of its parent.

To understand parent and subtype objects,
consider the EMPLOYEE object that contains a subtype PROGRAMMER object.
Employees who are not programmers have one employee object instance and no
programmer object instances. Employees who are programmers have both an employee
instance and a programmer instance. In this example, the EMPLOYEE object is
called a parent object, while PROGRAMMER object is called subtype object. The
PROGRAMMER inherits all of the attributes of an EMPLOYEE, The cardinality of
subtype object attribute is indicated by 0.ST or 1.ST. The first digit 0 or 1
indicates the minimum cardinality of the subtype. If it is 0, then the subtype
is optional and if it is 1, then the subtype is required. The ST indicates that
the attribute is subtype. Similarly, 'P' in the subtype indicates that the
object attribute is the parent object.
7. Archetype/version Objects:
A semantic object that produces other semantic
objects to represent versions, releases, or editions, is called archetype
object. For example, the archetype object Compiler for which there are various
releases or versions. Example of such Compiler is C++ and its releases (or
versions) are C++ 1.0, C++ 2.0 and C++ 3.0 etc.

|