Normalization
A poor logical database design can impair the performance of the entire
system. Database normalization is a way to eliminate unnecessary duplication
and provide a rapid search path to all necessary information. It is a
process of refining tables, keys, columns, and relationships to create
an efficient database.
A greater number of tables with fewer columns is characteristic of a
normalized database. A few wide tables with more columns is characteristic
of an non-normalized database.
Benefits of normalization are:
• Data integrity
• Optimized and faster queries
• Fewer null values and less opportunity for inconsistency
• Faster index creation and sorting
• Faster UPDATE performance
Normalization rules
You can normalize most simple databases by following a simple rule:
tables that contain repeated information should be divided into separate
tables to eliminate the duplication.
There are a few rules that can help you achieve a sound database design:
• A table should have an identifier. Each table should have a unique
row identifier, a column or set of columns used to distinguish any single
record from every other record in the table. Each table should have an
ID column, and no two records can share the same ID value.
• A table should avoid nullable columns.
Null values increase the complexity of data operations. If you have
a table with several nullable columns and several of the rows have null
values in the columns, you should consider placing these columns in another
table linked to the primary table.
• A table should not have repeating values or columns. The table for
an item in the database should not contain a list of values for a specific
piece of information.
• A table should store only data for a single type of object. Each table
should describe only one object. For example, a Customers table will have
information about the customers. Attempting to store too much information
in a table and to store information irrelevant to the main object can
prevent the efficient and reliable management of the data in the table.
Related Topics:
About designing a database
Database performance
Creating a new database
Create a table
How to create
a database
About Create Database Wizard
|