
- •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

Data Modeling Sessions
ERwin provides direct support for process modeling and can work well with many techniques. For example, Computer Associates also provides BPwin, a function modeling tool that supports IDEF0, IDEF3 workflow, and data flow diagram methods and can be used in conjunction with ERwin to complete an analysis of process during a data modeling project.
Data Modeling Sessions
Creating a data model involves not only construction of the model, but also numerous fact-finding sessions that uncover the data and processes used by a business. Running good sessions, like running good meetings of any kind, depends on a lot of preparation and “real-time” facilitation techniques. In general, modeling sessions should include the right mix of business and technical experts and should be facilitated. This means that modeling sessions are scheduled well in advance, carefully planned to cover sets of focused material, and orchestrated in such a way that desired results are achieved.
When possible, it is highly recommended that modeling of function and data be done at the same time. This is because functional models tend to validate a data model and uncover new data requirements. This approach also ensures that the data model supports function requirements. To create both a function model and data model in a single modeling session, it is important to include a data modeler and a process modeler who are responsible for capturing the functions being explored.
Session Roles
Formal, guided sessions, with defined roles for participants and agreed upon procedures and rules, are a must. The following roles work well:
■The facilitator is the session guide. This person is responsible for arranging the meetings and facilities, providing follow-up documentation, and intervening during sessions, as necessary, to keep sessions on track and to control the scope of the session.
■The data modeler is responsible for leading the group through the process of developing and validating the model. The modeler develops the model, in real-time if possible, in front of the group by asking pertinent questions that bring out the important details and recording the resulting structure for all to see. It is often possible (although somewhat difficult) for the same individual to play both facilitator and data modeler roles.
Information Systems, Databases, and Models 2–3