Principles of a good database design
A good database design is one that:
- Diuvides your information into subject-based tables to reduce redundant data.
- Helps support and ensure the accuracy and integrity of your information.
- Accommodates your data processing and reporting needs.
Process of database design
The database design follows a usual process
- Determining data to be stored
The data to be stored in the database must be determined in cooperation with a person who has expertise in the domain for which the data needs to be stored, and who is aware of what data must be stored within the system. This process is one which is generally considered part of requirements analysis, and requires skill on the part of the database designer to elicit the needed information from those with the domain knowledge. This is because those with the necessary domain knowledge frequently cannot express clearly what their system requirements for the database are as they are unaccustomed to thinking in terms of the discrete data elements which must be stored.
- Relating the data to one another
When performing this step, the designer is generally looking out for the dependencies in the data, where one piece of information is dependent upon another i.e. when one piece of information changes, the other will also. A common misconception is that the Relational model of databases is so called because of the stating of relationships between data elements therein which is not true. The relational model is so named because it is based upon the mathematical structures known as relations.
- Providing a logical structure to the data
This phase involves arranging the data into a logical structure which can then be mapped into the storage objects supported by the database management system. In the case of relational databases the storage objects are tables which store data in rows and columns. Each table may represent an implementation of either a logical object or a relationship joining one or more instances of one or more logical objects.
Database Design Software
Among quite a number of database design and management software, a few stand out as industry leaders, offering services for development, organization, and retrieval of data along with professional support.
- Oracle
- MySQL
- IBM DB2
- Microsoft SQL server 2005
- Microsoft Access 2007