Normalizing the Table Design
Normalization is defined as the process of efficiently organizing data in a database. There are ultimately two goals of the normalization process. The first is to eliminate redundant data. Redundant data is defined as storing the same data in more than one table. The second is to ensure that data dependencies make sense by having only related data stored in the same table. Both of these goals are important since they reduce the amount of space a database consumes and ensures that data is logically stored.
The Normal Forms
Formal guidelines have been established by the database community to ensure that databases are normalized. These guidelines are referred to as “normal forms” and are numbered from one (First Normal Form (1NF) or the lowest form of normalization, through five (Fifth Normal Form (5NF) which is the highest form of normalization. In many applications, you'll often see1NF,2NF, and 3NFalong with an occasional 4NF. Fifth Normal Form is seen very rarely and therefore will not be further discussed.
It is extremely important to mention that these are only guidelines and there are always exceptions to the rule. Occasionally, it may become necessary to stray from the guidelines in order to meet practical business requirements. However, when variations take place, it's extremely important to evaluate any possible effect they could have on your system and account for possible data inconsistencies.
First Normal Form (1NF) sets the very basic rules for an organized database as follows:
- Eliminate duplicate columns from the same table.
- Create separate tables for each group of related data and identify each row by using a unique column or set of columns (i.e., primary key).
Second Normal Form (2NF) further addresses the concept of removing duplicate data as follows:
- Meet all the requirements of the First Normal Form.
- Remove subsets of data that apply to multiple rows of a table and place them in separate tables.
- Create relationships between these new tables and their predecessors through the use of foreign keys
Third normal form (3NF) goes one step further as follows:
- Meet all the requirements of the Second Normal Form.
- Remove columns that are not dependent upon the primary key.
Menu Costing SystemWe partnered with a Wholesale Food Distributor to build a reporting application for its customers with hopes to improve customer retention. After the application was released, our client was able to significantly reduce its churn rate, and continues to expand user functionality through updates.
Quote Management SystemWe partnered with Medrad, a worldwide medical equipment supplier, to create a central quoting system for their service representatives. Our team upgraded the company from Microsoft Excel to Microsoft Access and added capabilities for customer management and product inventory.
Access Programmers is a database consulting and development firm with extensive experience in Microsoft technologies. As a Microsoft Certified Partner with a team of Microsoft Certified Professionals, we have worked with over 325 companies in a wide variety of industries to develop systems that manage business information. Our team specializes in integrating database programs with web and mobile applications.
Judicial Attorney Services Inc.
You continue to do a job well done with the design, updating and maintenance of our company's program. Work is performed in a timely and professional manner.
A Trucking and Warehousing Company
Their ability to understand our industry from the ground up - just like one of my coworkers would - is their key differentiator.
- Customer Service Manager
A Services Company
I needed to believe that Access Programmers could help my company. Their team understood my hesitation and took the time to really understand my business needs.
- Regional Sales & Operations
A Non-Profit Advocacy Firm
Access Programmers has completed several projects for us - all of which we've been extremely satisfied with. The staff is very knowledgeable, accessible, professional and easy to work with.
- Information Technology Manager