normalization
Home > SQL Server Definitions - Normalization
SearchSQLServer.com Definitions (Powered by WhatIs.com)
EMAIL THIS
LOOK UP TECH TERMS Powered by: WhatIs.com
Search listings for thousands of IT terms:
Browse tech terms alphabetically:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

normalization


Show me everything on SQL Server Database Modeling and Design

DEFINITION - In creating a database, normalization is the process of organizing it into tables in such a way that the results of using the database are always unambiguous and as intended. Normalization may have the effect of duplicating data within the database and often results in the creation of additional tables. (While normalization tends to increase the duplication of data, it does not introduce redundancy, which is unnecessary duplication.) Normalization is typically a refinement process after the initial exercise of identifying the data objects that should be in the database, identifying their relationships, and defining the tables required and the columns within each table.

A simple example of normalizing data might consist of a table showing:

CustomerItem purchasedPurchase price
ThomasShirt$40
MariaTennis shoes$35
EvelynShirt$40
PajaroTrousers$25

If this table is used for the purpose of keeping track of the price of items and you want to delete one of the customers, you will also delete a price. Normalizing the data would mean understanding this and solving the problem by dividing this table into two tables, one with information about each customer and a product they bought and the second about each product and its price. Making additions or deletions to either table would not affect the other.

Normalization degrees of relational database tables have been defined and include:

First normal form (1NF). This is the "basic" level of normalization and generally corresponds to the definition of any database, namely:

  • It contains two-dimensional tables with rows and columns.
  • Each column corresponds to a sub-object or an attribute of the object represented by the entire table.
  • Each row represents a unique instance of that sub-object or attribute and must be different in some way from any other row (that is, no duplicate rows are possible).
  • All entries in any column must be of the same kind. For example, in the column labeled "Customer," only customer names or numbers are permitted.

Second normal form (2NF). At this level of normalization, each column in a table that is not a determiner of the contents of another column must itself be a function of the other columns in the table. For example, in a table with three columns containing customer ID, product sold, and price of the product when sold, the price would be a function of the customer ID (entitled to a discount) and the specific product.

Third normal form (3NF). At the second normal form, modifications are still possible because a change to one row in a table may affect data that refers to this information from another table. For example, using the customer table just cited, removing a row describing a customer purchase (because of a return perhaps) will also remove the fact that the product has a certain price. In the third normal form, these tables would be divided into two tables so that product pricing would be tracked separately.

Domain/key normal form (DKNF). A key uniquely identifies each row in a table. A domain is the set of permissible values for an attribute. By enforcing key and domain restrictions, the database is assured of being freed from modification anomalies. DKNF is the normalization level that most designers aim to achieve.

Learn more about SQL Server Database Modeling and Design
SQL Server database design disasters: What not to do: Inspired by what he recently found in some SQL Server shops, database architect Brian Walker shares advice for improved database design – and SQL Server performance.
Physical data storage in SQL Server 2005 and 2008: Learn the fundamentals of data storage in SQL Server 2005 and 2008, including tables, views and data types, in this book excerpt.
Designing SQL Server non-clustered indexes for query optimization: Optimize SQL Server non-clustered indexes and queries by considering index fields, compound indexes and SQL Server statistics' impact on non-clustered indexes.
Creating SQL Server tables and columns: Quick tips to know: Improve performance of SQL Server tables and columns by defining data types, indexes, keys, partitions and more. Create SQL Server columns and tables with these best practices.
Top 10 SQL Server Tips of 2008: Get the top 10 SQL Server tips of 2008 on topics such as clustered index design, log shipping setup, date/time data conversions and many other aspects of SQL Server.
Tutorial: SQL Server indexing tips to improve performance: Significantly improve your SQL Server performance through this tutorial on proper indexing choices. Learn how to design high performing indexes and tune your existing SQL indexes.
Tutorial: Learn SQL Server basics from A-Z: If you're new to SQL Server of simply want a refresher on some fundamentals, check out this tutorial on topics from security and performance to SSIS and using native tools.
Supertype and subtype tables in SQL Server: Learn how to physically implement supertype and subtype tables on a SQL Server in this book excerpt.
SQL Server and data manipulation in T-SQL: Learn about stored procedures, parameters, triggers and other T-SQL code functions in this book excerpt.

CONTRIBUTORS: Ira Jaslow and Suhas Mallya
LAST UPDATED: 01 Apr 2005

Do you have something to add to this definition? Let us know.
Send your comments to techterms@whatis.com

More resources from around the web:
- Learn IT: Unleashing the Power of the Database has more information.





FILE EXTENSION AND FILE FORMAT LIST
File Extension and File Format List:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #


RELATED CONTENT
Optimizing SQL Server indexes –- even when they're not your indexes
When created and maintained correctly, indexes help SQL Server retrieve data quickly. See how to ensure your SQL Server environment is running up to...
Top tips and tricks for SQL Server database development
Check out these handy database development best practices, with tips on dealing with batch updates, stored procedures and more.
Managing the development lifecycle with Visual Studio Team System 2008
Learn how Visual Studio Team System 2008 Database Edition can add and modify objects, generate deployment scripts and manage the development lifecycle...

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
binary tree  (SearchSQLServer.com)
block  (SearchSQLServer.com)




normalization Solutions - SQL White Paper Library
HomeNewsTopicsITKnowledge ExchangeTipsAsk the ExpertsMultimediaWhite PapersIT Downloads
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2005 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts