4. Conceptual Overview
Database Design for Mere Mortals: A Hands - on Guide to Relational Database Design
What does this chapter cover?
The general idea of the steps involved within the design process
They are covered in detail in subsequent chapters
What are these steps useful for?
The design steps can be used for either designing a new DB from scratch or refactoring an existing one
These steps are mandatory regardless of the size, type, or purpose of the database
The steps must be followed from beginning to end
What are these steps in brief?
Defining a missing statement and missing objectives
Analyzing the current database
Creating the data structure
Determining and establishing the table relationship
Determining and defining the business rules
Determining and defining views
Reviewing data integrity
What is "Defining a missing statement and missing objectives"?
Missing statement - Why are you building this database? Answering provides design focus
Mission objective - What can users do with your database?
What is "Analyzing the current database"?
Note existing mode of database (paper files, other DB, etc.)
Note mode of data collection, representation, and making it available to external customers (if any)
Interview stakeholders of the database data on how it's used
The answers obtained in (3) are used to define the initial list of fields on which stakeholders’ feedback is requested. The list is nowhere finalized, just a starting point.
What is "Creating the data structure"?
Define tables and fields
Establish keys
Define field specifications for every field
What is "Determining and establishing the table relationship"?
Conduct interviews again to identify the relationship
Relationship characteristics (Type and Degree of participation)
Establish relationship-level integrity (Foreign keys and keeping records in sync)
What is "Determining and defining the business rules"?
This phase imposes additional constraints on data, table, and relationship based on interviewing stakeholders again.
The constraints are defined based on ways organization perceives that data
The rules are intended to be changed as the business evolves
What is "Determining and defining views"?
Conduct interviews once again to identify how the information is consumed by different users e.g. some may require a detailed list, others might need just summary
Views are defined for ease of data access and security purposes
What is "Reviewing data integrity"?
This is essentially reviewing the output of the above steps and bug (inconsistency) fixing
Review and check the table structure, field specifications, relationships, and then business rules
Is the process complete by performing these steps?
Yes and No. This is an iterative approach.
As business evolves the database needs refinement.
***