The database design process is a structured approach that involves several stages, each crucial for ensuring that the final database system meets the requirements of the users and supports the data needs of the application it underpins. This process can be broadly divided into three main phases: conceptual, logical, and physical modeling. Each phase serves a distinct purpose and builds upon the previous one to progressively refine and detail the database structure and functionality.
The overall database design workflow is illustrated in the flow diagram below:
Explanation of the steps:
Requirements Analysis: The first stage involves gathering and analyzing the requirements. This step is crucial for understanding what data needs to be stored and how it will be used, which informs the entire design process. A common requirements analysis method is use case analysis which also helps bound the scope of the design process.
Conceptual Modeling: Commonly using UML Class Diagrams and/or Structured English, this phase focuses on creating a conceptual model of the domain. It’s a high-level representation, showing entities, relationships, and key attributes without delving into database-specific details. The conceptual model also serves as a visualization of the domain ontology.
Logical Modeling: In this phase, the conceptual model is translated into an Entity-Relationship Diagram (ERD). The ERD provides a more detailed view of how data is interconnected, including primary and foreign keys, entity relationships, and multiplicity.
Physical Modeling: This step converts the logical model into a physical model, specifying the actual structure of the database schema in a relational database. It includes table structures, columns, data types, constraints, and indexes.
Database Implementation: The final step is where the physical model is implemented as a working database. This involves creating the database using a database management system (DBMS), defining tables, relationships, and constraints as per the relational schema, and then populating the database with data.
This workflow outlines a structured and methodical approach to database design, ensuring that the database is well-organized, scalable, and effectively meets the users’ requirements.
In this short video tutorial below, Khoury Seattle’s Prof. Chhay provides an overview of data modeling and representing data models visually in an ERD (Entity-Relationship Diagram). In his tutorial he presents the classic (and original) E-R diagramming approach developed by Dr. Peter Chen. He then moves into the common “Crow’s Feet” notation.
In practice, UML Class Diagrams are the preferred way to build data models, although in many organization “Crow’s Feet” notation is still very popular. Thus, we need to study both.
The entity-relationship (E-R) model is the most popular conceptual model used for designing a database. It was originally proposed by Dr. Chen in 1976 as a way to unify the network and relational database views. The E-R model views the real world as a set of basic objects (known as entities), their characteristics (known as attributes), and associations among these objects (known as relationships). The entities, attributes, and relationships are the basic constructs of an E-R model.
The information gathered from the user forms the basis for designing the E-R model. The nouns in the requirements specification document are represented as the entities, the additional nouns that describe the nouns corresponding to entities form the attributes, and the verbs become the relationships among various entities.
Building an E-R model is an important step in conceptual modeling as it presents a simple and easy to understand definition of the information objects of a business domain and thus becomes an effective way for database designers, business analysts, and subject domain experts as well as users to communicate. An E-R model represents the actual information objects in a simple and meaningful way that can be easily mapped into a relational model for implementation in a relational database. Entities correspond to tables, attributes become columns in the tables. Relationships become primary and foreign key links.
An Entity-Relation Diagram (ERD) is any diagram that shows the entities in a domain, their attributes, and their relationships. There are four major visual notations with which to express an ERD: Chen, IE (Crow’s Feet), IDEF1X, and UML Class Diagrams. Commonly, the first three are referred to as ERD notations while the UML Class Diagram is actually an object-oriented notation. Much of the choice of notation depends on what a tool supports. For example, Microsoft Access supports IDEF1X, while TOAD supports IE. On the other hand, LucidChart and Enterprise Architect – both tools support IE and UML.
In summary, the database design process, through its conceptual, logical, and physical phases, systematically transforms high-level data concepts into a concrete, optimized database structure. This structured approach ensures that the database supports the required data, relationships, and integrity constraints efficiently and effectively, aligning with both the business objectives and technical requirements.
The design of a database starts with a conceptual model that is database and implementation agnostic, moves to a logical model that is database model specific, and then to a physical model that is specific to the capabilities of a database.
None.