A basis for subdividing the entities of one type into subtypes.
Partitionings
The reason for subtyping is called partitioning. For instance, employee may be partitioned because the pay calculations for salaried and hourly employees require different processes and/or different data. The entity type that is subtyped uses the classifying predicate to identify which portion of a partition (which subtype of the partition) the particular entity uses.. Business entity types may be subtyped because there is reason to deal with some entities differently than others.
The subdividing of EMPLOYEEs into either ADMINISTRATORs, EDITORIAL STAFFERs or PRINT ROOM STAFFERs is a partitioning of the entity type. The name of the classifying attribute indicates the purpose of the partitioning, which often has the same name. For the above example, the EMPLOYEE entity type has a "Job Type" partitioning consisting of ADMINISTRATOR, EDITORIAL STAFFER and PRINT ROOM STAFFER subtypes. The classification of entities into one of the subtypes is achieved through the Job Type attribute of EMPLOYEE.
Partitioning Name
A partitioning name is a way of referring to and labeling a partitioning.
Multiple Partitionings
If you decide that the distinction between potential, current and former employee is relevant, you can define another partitioning for EMPLOYEE so that there are multiple partitionings of EMPLOYEE. Each EMPLOYEE may be a member of both partitionings (e.g., a POTENTIAL EMPLOYEE and EDITORIAL STAFFER, a POTENTIAL EMPLOYEE and an ADMINISTRATOR). You need a classifying attribute (e.g., Employee Status) for the new partitioning.
Hierarchy of Partitionings
It is possible to define a hierarchy of partitionings. For example, you might wish to partition administrators further into accountants and salespersons. Thus, ACCOUNTANT is a subtype of ADMINISTRATOR, which, in turn, is a subtype of EMPLOYEE.
Conditions
The membership of an entity in one of the subtypes of a partitioning is determined by a condition that is a property of the partitioning. This condition usually involves the classifying predicate, but it could be more complex, perhaps involving other attributes or relationships. Any attribute or relationship of an entity type can be used to classify entities into its subtypes.
For example EMPLOYEEs can be classified into POTENTIAL, CURRENT and FORMER, depending solely on the classifying attribute "Employee Status." Whether a CURRENT EMPLOYEE is also a TRAINEE, PERMANENT or FREELANCE, however, might be determined by Employee Status, Service Length and Qualifications, together with membership as a plural entity in an "EMPLOYEE managed by EMPLOYEE" grouping.
Example: Subdivisions of EMPLOYEE
An entity subtype is a subdivision or further specialization of an entity type. For example, the entity type EMPLOYEE might be subdivided in several ways to aid in analysis of this entity type. These might include:
* ADMINISTRATOR, EDITORIAL STAFFER and PRINT ROOM STAFFER
* POTENTIAL, CURRENT and FORMER EMPLOYEE
* TRAINEE, PERMANENT and FREELANCE EMPLOYEE
* MALE, FEMALE EMPLOYEE
Optional Partitioning (i.e., Optional Subtype Classification)
A partitioning for which some entities of the entity type may not be members of any of its subtypes.
You may find that VICE PRESIDENT is a useful subtype of EMPLOYEE. Some EMPLOYEEs are VICE PRESIDENTs; most are not. Therefore, membership of this partitioning, which happens to have only one useful subtype, is optional. In the case of ADMINISTRATORs, EDITORIAL STAFFERs and PRINT ROOM STAFFERs, an EMPLOYEE has to be classified into one (and only one) of the subtypes. In this case, membership of the partitioning is mandatory or fully enumerated.
An optional classification is the equivalent of defining an "other" subtype in a partitioning. For example, you could define a mandatory classification for EMPLOYEE to be VICE PRESIDENT or OTHER EMPLOYEE which indicates that an employee must be either a vice president or another type of employee that you have not specified.
When participation in a partitioning is optional, you describe the partitioning as not fully enumerated. This implies that the population of entities existing for the entity type is not completely covered by the subtypes defined within the partitioning (i.e., some lie outside and are not counted within it).
Transient Partitioning
A partitioning for which the membership of an entity in a subtype may change several times during the entity's life.
See also: Classifying Predicate, Classifying Attribute Type, Classifying Entity Type.
Previous : Pairing
Section Overview : Development Technique Concepts
Overview : Table of Contents
This page was last built on April 12, 1997.