
- •Contents
- •Intended Audience
- •Typographical Conventions
- •Benefits of Data Modeling
- •Data Modeling Sessions
- •Session Roles
- •Sample IDEF1X Modeling Methodology
- •Logical Models
- •The Entity Relationship Diagram
- •The Key-Based Model
- •The Fully-Attributed (FA) Model
- •Physical Models
- •The Transformation Model
- •The DBMS Model
- •Benefits of Data Modeling in ERwin
- •The Entity-Relationship Diagram
- •Defining Entities and Attributes
- •Logical Relationships
- •Many-to-Many Relationships
- •Validating the Design of the Logical Model
- •Data Model Example
- •Identifying Types of Keys
- •Selecting a Primary Key
- •Designating Alternate Key Attributes
- •Designating Inversion Entry Attributes
- •Relationships and Foreign Key Attributes
- •Dependent and Independent Entities
- •Identifying Relationships
- •Non-Identifying Relationships
- •Rolenames
- •Naming Entities and Attributes
- •Synonyms, Homonyms, and Aliases
- •Entity Definitions
- •Definition References and Circularity
- •Constructing a Business Glossary
- •Attribute Definitions
- •Rolenames
- •Definitions and Business Rules
- •Relationship Cardinality
- •Cardinality in Non-Identifying Relationships
- •Referential Integrity
- •Reading Referential Integrity Options
- •RI, Cardinality, and Identifying Relationships
- •RI, Cardinality, and Non-Identifying Relationships
- •Additional Relationship Types
- •Many-to-Many Relationships
- •N-ary Relationships
- •Recursive Relationships
- •Subtype Relationships
- •Complete Versus Incomplete Subtype Structures
- •Inclusive and Exclusive Relationships
- •When to Create a Subtype Relationship
- •Overview of the Normal Forms
- •Functional Dependence (FD)
- •Full Functional Dependence
- •First Normal Form (1NF)
- •Second Normal Form (2NF)
- •Third Normal Form (3NF)
- •Common Design Problems
- •Repeating Data Groups
- •Multiple Use of the Same Attribute
- •Multiple Occurrences of the Same Fact
- •Conflicting Facts
- •Derived Attributes
- •Missing Information
- •Unification
- •How Much Normalization Is Enough?
- •ERwin Support for Normalization
- •First Normal Form Support
- •Second and Third Normal Form Support
- •Creating a Physical Model
- •Summary of Logical and Physical Model Components
- •Denormalization
- •Classification of Dependent Entities
- •Glossary
- •Index

Referential Integrity
RI, Cardinality, and Non-Identifying Relationships
If the business decides that PROJECT-EMPLOYEEs are not existence or identification-dependent on PROJECT, you can change the relationship between PROJECT and PROJECT-EMPLOYEE to optional, non-identifying. In this type of relationship, the referential integrity options are very different.
Referential Integrity for a Non-Identifying Relationship
Because a foreign key contributed across a non-identifying relationship is allowed to be NULL, one of the referential integrity options you could specify for PARENT DELETE is "set null." Set null indicates that if an instance of PROJECT is deleted, then any foreign key inherited from PROJECT in a related instance in PROJECT-EMPLOYEE should be set to NULL. The delete does not cascade as in our previous example, and it is not prohibited (as in restrict). The advantage of this approach is that you can preserve the information about the PROJECTEMPLOYEE while effectively breaking the connection between the PROJECTEMPLOYEE and PROJECT.
Decisions to use cascade or set null reflect business decisions about maintaining the “historical” knowledge of relationships represented by the foreign keys.
Refining Model Relationships 6–9