Information Modeling and Relational Databases: From Conceptual Analysis to Logical Design

Most database modeling tools allow you to enter a data model in one or more high-level notations (e.g., ER, IDEF1X, ORM, or UML) as well as a logical-level notation (e.g., relational). Typically a high-level (conceptual or semiconceptual) schema must be mapped down to a logical and then physical schema in order for the database to be populated and queried. Assuming you do the right thing and model first at the conceptual level, the main steps in implementing your data model are as follows:
Design the conceptual schema.
Annotate the conceptual schema with mapping choices as needed.
Map the design to a logical schema (e.g., relational or object-relational).
Finesse the logical schema as needed (e.g., rename or reorder some columns).
Generate the internal schema (e.g., in Microsoft Access or SQL Server).
Create external schema(s): (e.g., forms, reports).
Enforce security levels as needed.
Populate the database.
Issue queries and updates.
Update the schemas as needed.
Earlier chapters discussed how to design the conceptual schema. The focus of this chapter is on mapping from conceptual to logical. Because of the dominance of relational database systems, the relational model is used for the logical schema. Basic ideas about relational databases were introduced in Chapters 1 and 2. Section 10.2 summarizes these points, and expands briefly on them. Section 10.3 discusses the basic procedure for mapping an ORM conceptual schema onto a relational schema. This can be easily adapted to cover mapping from other notations such as ER or...