The following guidelines are often critical to the success of database design: n Work interactively with the users as much as possible. n Follow a structured methodology throughout the data modeling process. n Employ a data-driven approach. n Incorporate structural and integrity considerations into the data models. n Combine conceptualization, normalization, and transaction validation techniques into the data modeling methodology. n Use diagrams to represent as much of the data models as possible. n Use a Database Design Language (DBDL) to represent additional data semantics that cannot easily be represented in a diagram. n Build a data dictionary to supplement the data model diagrams and the DBDL. n Be willing to repeat steps. These factors are built into the methodology we present for database design.