Explanation of the IDEF1X Notation 233Generalization Generalization is the organization of entity types by their similarities and differences.. Note that as a matter of style we rename p
Trang 1Explanation of the IDEF1X Notation 233
Generalization
Generalization is the organization of entity types by their similarities and differences The supertype holds common attributes and relationships The subtypes add specific attributes
and relationships Each subtype inherits the attributes and relationships of its supertype The IDEF1X notation for generalization is a circle with a double line underneath The double line indicates that the generalization is exhaustive; each occurrence of a supertype must correspond to a subtype (IDEF1X also supports a single horizontal line indicating that
a generalization is not exhaustive As a matter of style all the generalizations in this book are exhaustive.) The attribute next to the circle is called a discriminator and indicates the subtype that elaborates each supertype record
Figure B1.7 shows two generalizations One generalization has a supertype of Actor and subtypes of TangibleActor, ActorRole, and ActorRoleType The other generalization has a su-pertype of TangibleActor and subtypes of Person, Application, and Organization Note that
as a matter of style we rename propagated keys for generalization so that the primary key name corresponds to the entity type name Such a practice makes it easier to understand foreign keys for a large model where there are various relationships to different levels of a generalization
tangibleActorDiscrim
actorDiscrim
actorID
Actor
actorName effectiveDate expirationDate actorDiscrim
ActorRole
actorRoleID (FK) tangibleActorID (FK) actorRoleTypeID (FK)
TangibleActor
tangibleActorID (FK)
tangibleActorDiscrim
ActorRoleType
actorRoleTypeID (FK)
Person
personID (FK)
Application
applicationID (FK)
Organization
organizationID (FK)
Figure B1.7 IDEF1X generalization
Trang 2234 Appendix B / Explanation of the IDEF1X Notation
Bibliographic Notes
The explanation of IDEF1X in this appendix is abridged and only covers the constructs used
in this book [Bruce-1992] has a more extensive discussion of IDEF1X [Blaha-2001] com-pares IDEF1X to other notations
References
[Blaha-2001] Michael Blaha A Manager’s Guide to Database Technology Upper Saddle River, New
Jersey: Prentice-Hall, 2001.
[Bruce-1992] Thomas A Bruce Designing Quality Databases with IDEF1X Information Models.
New York: Dorset House, 1992.
Trang 3Appendix C
Glossary
This book defines the following terms
abstraction the ability to focus on essential aspects of an application while ignoring details
alternate key a candidate key that is not chosen as a primary key Thus each candidate key
is either a primary key or an alternate key An entity type can have any number of
alter-nate keys (See candidate key and primary key.)
antipattern a characterization of a common software flaw An antipattern shows what not
to do and how to fix it
archetype a prominent abstraction that cuts across problem domains This book’s archetype models are small and focus on core concepts
attribute a named property of an entity type that describes a value held by each entity of the entity type
candidate key a combination of attributes that uniquely identifies each entity of an entity type The combination must be minimal and not include any columns that are not needed
for unique identification No attribute in a candidate key can be null (See alternate key and primary key.)
canonical model a submodel that provides a service for many applications A canonical model is an abstract service that is not bound to a particular problem domain in contrast
to a seed model
cardinality the count of elements that are in a collection (Contrast with multiplicity.)
Chen model a graphical approach to modeling originated by Peter Chen that shows entities and the relationships between them The UML class model is based on the Chen model
class model (of the UML) the data structure model of the UML
Trang 4236 Appendix C / Glossary
constraint a boolean condition that governs the validity of a model Entity types, attributes, and relationships can all have constraints
data warehouse a database that takes the disjointed, functional applications of a business and integrates them, accumulating the history of past data A data warehouse puts data
in one database and stores data in a common format for reporting purposes
database a permanent, self-descriptive store of data that is contained in one or more files Self-description is what sets a database apart from ordinary files
database management system the software for managing access to a database
DBMS (acronym) database management system.
default value the value used to initialize an attribute
denormalization the violation of normal forms Developers should violate normal forms
only for good cause, such as to increase performance for a bottleneck (See normal form.)
dependent entity type an entity type that can exist only if some other entity type(s) also exist Accordingly, the primary key of a dependent entity type incorporates one or more
foreign keys Also called a weak entity type (Contrast with independent entity type.)
derived element an element that is defined in terms of other elements Entity types, attri-butes, and relationships can all be derived
design identity the ability to find data within a database (Contrast with intrinsic identity.)
dimension (for a data warehouse) a basis for facts (Contrast with fact.)
directed graph a set of nodes and a set of directed edges Each directed edge originates at
a source node and terminates at a target node (which may be the same as the source node) The nodes of a directed graph can have any number of edges
discriminator an attribute that indicates the appropriate subtype record for each supertype record
domain the set of possible values for an attribute
entity a concept, abstraction, or thing that can be individually identified and has meaning for an application
entity type a description of a group of entities with the same attributes, kinds of relation-ships, and intent
entity type icon a reference to an entity type that is defined elsewhere in a model An entity type icon does not display attributes and shows only the entity type name
enumeration a data type that has a finite set of values
existence-based identity the identification of individual entities for an entity type with an
artificial field that has no application meaning (Contrast with value-based identity.)
Trang 5Glossary 237
fact (for a data warehouse) a measure of the performance of a business (Contrast with
dimension.)
foreign key a reference to a primary key It is the glue that binds tables (See primary key.)
generalization an organization of entity types by their similarities and differences
generic diagram a picture for viewing an underlying model
hardcoded value the direct representation of a value with a row and a column of a database
table (Contrast with softcoded value.)
homomorphism a mapping between two item description templates that expresses an
analogy
IDEF1X a standard notation for designing databases that specifies tables, keys, and indexes
identifier one or more attributes that unambiguously differentiate an entity from all others
identifying relationship a relationship that contributes to the primary key of a dependent
entity type (Contrast with non-identifying relationship.)
identity the means for distinguishing individual entities, so that they can be found
independent entity type an entity type that can exist on its own The primary key of an
independent entity type does not include any foreign keys Also called a strong entity type (Contrast with dependent entity type.)
index a data structure that locates records according to attribute values Indexes are also used to enforce uniqueness Most relational DBMSs create indexes as a side effect of declaring primary keys and candidate keys
inheritance the mechanism that implements generalization
intrinsic identity the ability to find data with fields that have application meaning
(Contrast with design identity.)
item description the template that arises when a model concerns both an item and its description
logical horizon the set of entity types reachable by one or more paths terminating in a combined multiplicity of one The purpose of the logical horizon is to compute the enti-ties that can be inferred from a starting entity
master application an application that enforces the identity of occurrences of a critical concept and unifies its data across an organization’s applications
mathematical template See template.
metadata data that describes other data
model an abstraction of some aspect of a problem Most software models are expressed as graphical diagrams and by their form appeal to human intuition