A predicate is an attribute type or a relationship membership. A predicate value is an attribute value or a pairing.
Predicate and Predicate Value
You will need to know many things about discovered entity types. Some of these things will be other entity types (e.g., SALEs to each CUSTOMER). You describe this by defining the other entity types and associating them by relationships. The other things you need to know about entity types are particular to the entity type and describe it (e.g., a Customer Name and Address). These are the attributes that describe an entity type. Attributes and relationships have a similar effect on entity types; they also have similar properties. Because of this, you can use the generic term "predicate" to describe them, and "predicate value" to describe their occurrences.
Predicate Condition
A condition that affects the values of predicates and their properties.
You often need to define conditions that affect the values of predicates and their properties. These are called predicate conditions. There are a number of different types of predicate conditions.
Conditional Membership
A common cause of optionality is conditional membership, where the participation of an entity in a pairing depends upon predicate values (e.g., BOOK can be used for TEACHING if the condition "Book Type = textbook" is true).
Condition Logic
The logic "Book Type = textbook" is known as the condition logic for the condition. The attribute values in the condition logic need not belong to the entity types affected by the condition. Also, the condition logic may include participation in a relationship membership (e.g., BOOK sent to DISTRIBUTOR if the condition logic "book is published" is true). A condition can be expressed through a number of varying condition logic statements, but it can still have the same meaning (e.g., the condition logic "A nor B" is the same as the logic "NOT (A or B)," both of which can apply to a single condition).
Integrity Conditions
Membership conditions may be compound. For example, the previous condition might be made more restrictive by adding the condition that the "distributor type is not a book club." Membership conditions are one way to ensure the integrity of your models and are thus one type of integrity condition. Integrity conditions in their turn are one type of predicate condition.
Cardinality Conditions
It is also possible to define conditions to ensure the integrity of cardinality of a relationship membership where a maximum or minimum cardinality can be defined. Cardinality conditions are rarely used.
Previous : Partitioning
Section Overview : Development Technique Concepts
Overview : Table of Contents
This page was last built on April 12, 1997.