While part of the normal design process, in today's computing environments the reliance on a good database design is so crucial, it is often treated separately.
What It Involves
Based on the requirements specification, and in part the application design, the database designer firstly identifies all of the data elements, data sources, data constraints (Do's and don'ts related to the data values).
Next job is to structure these in a logical and efficient manner, ensuring where possible that any piece of data is recorded and stored only once in the database. Following this, the relationships between the data elements is identified and documented.
Finally the validation rules and default values are determined and implemented in the design. The database designer may also take into account how the data will be accessed and filtered, which will have a bearing on the way he chooses to store the data.
What Is Produced
A database design document, describing the data and its structure. The document will usually contain the following:
- Database schema diagrams, which depict the data relationships.
- Data dependencies
- Data constraints
- Physical design of the database
- Storage media
- Table partitions
- Indexing options
Why It Is Done
While a badly designed form or report may be difficult to use or interpret, a badly designed database can cause a query or update that should take minutes, to take hours, which can have an enormous cost to an organisation in many ways.