Explanation 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. 234 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. 235 Appendix 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. 236 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.) Glossary 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. . 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. 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. 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