Database Design
Definition
Database design is the
design subactivity consisting of the
cohesive collection of all
tasks involving the design of
one or more related
databases (or datastores).
Goals
The goals of database
design are to:
- Produce the design of one or more related databases.
- Ensure that the design fulfills the relevant
requirements.
- Ensure that the design conforms to the relevant
architecture.
Objectives
To meet
this goal, the objectives of database design are to:
- Produce logical database designs.
- Produce physical database designs.
- Ensure that these designs are properly documented.
Examples of database design include:
- Flat File Design
- Hierarchical Database Design
- Network Database Design
- Object Database Design
- Relational Database Design
- XML Database Design
Databse design may typically begin when the following
preconditions hold:
- The
initiation phase has started.
- The
database
team is initially staffed and adequately trained in database
design.
- The following documents are largely complete and are
relatively stable:
- Requirements Documents:
- Architecture Documents:
Database design is typically complete when the following
postconditions hold:
Tasks
Database design
typically involves the following producers performing the
following design tasks in an iterative, incremental, and parallel
manner:
-
Database Team, which performs:
-
Design
Reuse
-
Design
Prototyping
-
Design
Production:
- Logical Data Model (i.e., Logical Database Schema)
Production:
- Relational Model (e.g., entity relationship attribute
(ERA) diagrams and table definitions).
- Object Model (e.g., class diagrams, class
specifications).
- Hierarchical Model (e.g., hierarchy diagrams).
- Physical Data Model (i.e., Physical Database Schema)
Production:
- Relational Model (e.g., entity relationship attribute
(ERA) diagrams,table definitions, stored procedures,
triggers).
- Object Model (e.g., class diagrams, class
specifications).
- Hierarchical Model (e.g., hierarchy diagrams).
- Database Facade Design using the following techniques:
-
Design
Refactoring using the following techniques:
-
Design Documentation
Work Products
Database design
results in the production of the following work products:
- Documents:
- Models:
- Diagrams:
Guidelines