Database Design
Database Design
1. Requirements analysis
2. Logical design
3. Physical design
4. Implementation
5. Monitoring, modification, and maintenance
The first three stages are database-design stages, which are briefly described below.
I. Requirements analysis
Requirements Analysis is the first and most important stage in the Database Life Cycle.
It is the most labor-intensive for the database designer.
This stage involves assessing the informational needs of an organization so that a database can
be designed to meet those needs.
II. Logical design
During the first part of Logical Design, a conceptual model is created based on the needs
assessment performed in stage one. A conceptual model is typically an entity-relationship (ER)
diagram that shows the tables, fields, and primary keys of the database, and how tables are
related (linked) to one another.
The tables sketched in the ER diagram are then normalized. The normalization process resolves
any problems associated with the database design, so that data can be accessed quickly and
efficiently.
create a database. By this stage in the DBLC, the System Administrator has installed and
configured an RDBMS.
System administrator:
The person responsible for administering a multi-user computer system; duties range from
setting up and configuring system components (e.g., an RDBMS) to performing maintenance
procedures (e.g., database backups) on the system.
Certain database design books consider converting an ER diagram into SQL statements to be the
final task in the logical-design stage. According to such books, implementation is just a matter of
feeding SQL statements into an RDBMS and populating the database with data. The difference is
not especially important.
Monitoring, modification, and maintenance
A successfully implemented database must be carefully monitored
I.e., keep duplication of data to a minimum. The process to find such a design is called
normalization. The normalization process can be formalized to a set of strict rules, and the level
of normalization can be expressed in terms of different normal forms, e.g., First Normal Form
(1NF), Second Normal Form (2NF), Third Normal Form (3NF), Boyce-Codd Normal Form
(BCNF), Fourth Normal Form (4NF), and Fifth Normal Form (5NF). However, in most cases it
is enough to follow the simple rule "avoid redundant information" with your common sence.
This is the approach in this material.
Flexibility here means scalability and such design that new tables or table columns need not to be
created after the database has been set up. The aim is to be able to handle all situations just by
manipulating data, making new data definitions (creation of new tables or fields) unnecessary.
The three basic data type categories are string, numeric, and date/time*. Choose numeric for
fields including values that are measures. For example, phone numbers and zip codes are not a
measures, and the appropriate data type is thus string. Date and time data is not string data, even
though it is most often represented as strings to the user. After the data type cathegory has been
chosen, next task is to find the appropriate (maximum) length for the data items, for numeric and
date/time data types also the accuracy.
Another way to speed up data searches is denormalization, in the case that table joins should be
made in the query. Denormalization simply means joining two or more tables into one table.
Then the join operation hasn't have to be done by the query, which saves time. Again, this means
slowing down data update operations, because in denormalized tables there are redundancies:
same information has to be updated in many places.
From the below mentioned models the relational model is the most commonly used model for
most database designs. But in some special cases other models can be more beneficial.
Relational design method, the most popular database design method
Hierarchical method, the very first database design model
The network model where a node can have multiple parent nodes
diagrams to visualize the desired flow and functionality to ensure the database is designed in the
most efficient and effective way possible. The right diagram will reduce revisions and rework
because you can test the proposed design before putting in the time and expense of actually
creating it. Diagrams are also a highly effective communication tool, particular for large teams,
as they facilitate clear and quick communication.