Jump to content


What's Database Normalization ?

  • Please log in to reply
2 replies to this topic

Poll: Did this help you? (0 member(s) have cast votes)

Did this help you?

  1. Array (0 votes [0.00%])

    Percentage of vote: 0.00%

Vote Guests cannot vote

#1 shivabharat

  • Members
  • PipPipPip
  • Advanced Member
  • 371 posts
  • LocationChennai, India

Posted 09 July 2003 - 08:10 AM

What\'s Database Normalization :?:

Normalization is the process where a database is designed in a way that removes redundancies, and increases the clarity in organizing data in a database.
In easy English, it means take similar stuff out of a collection of data and place them into tables. Keep doing this for each new table recursively and you\'ll have a Normalized database. From this resultant database you should be able to recreate the data into it\'s original state if there is a need to do so.
The important thing here is to know when to Normalize and when to be practical. That will come with experience. For now, read on...
Normalization of a database helps in modifying the design at later times and helps in being prepared if a change is required in the database design. Normalization raises the efficiency of the database in terms of management, data storage and scalability.

Now Normalization of a Database is achieved by following a set of rules called \'forms\' in creating the database.
These rules are 5 in number (with one extra one stuck in-between 3&4) and they are:

1st Normal Form or 1NF:Each Column Type is Unique.

2nd Normal Form or 2NF:
The entity under consideration should already be in the 1NF and all attributes within the entity should depend solely on the entity\'s unique identifier.

3rd Normal Form or 3NF:
The entity should already be in the 2NF and no column entry should be dependent on any other entry (value) other than the key for the table.
If such an entity exists, move it outside into a new table.
Now if these 3NF are achieved, the database is considered normalized. But there are three more \'extended\' NF for the elitist.
These are:

BCNF (Boyce & Codd):
The database should be in 3NF and all tables can have only one primary key.

Tables cannot have multi-valued dependencies on a Primary Key.

There should be no cyclic dependencies in a composite key.

Much of database design depends on how YOU want to keep the data. In real life situations often you may find it more convenient to store data in tables designed in a way that does fall a bit short of keeping all the NFs happy. But that\'s what databases are all about. Making your life simpler.
Knowledge --- Reading Enriches Mind But Sharing Enhances It.[br][br]Note: Before you request help enusre that you have had a look at the tutorials @phpfreaks

#2 pokeronald

  • Members
  • PipPip
  • Member
  • 11 posts
  • LocationIn front of the comp - Australia

Posted 09 July 2003 - 08:21 AM

it helped me half half so i\'m not gonna vote
[br]if($you die()){
[br]kill $me;
[br]} else {
[br]$you = stupid
[br]print "=P";
[br]Error: $you = stupid =P.

#3 michael yare

michael yare
  • Members
  • PipPip
  • Member
  • 25 posts
  • LocationLondon, UK

Posted 01 August 2003 - 12:37 PM

IIRC, doesn\'t a relational RDBMS only have to satisfy Boyce Codd NF to be termed \"relational\".

This is useful stuff for \"noobs\" - maybe you should consider doing more or linking to database theory resources. I find that 90% of peoples\' problems aren\'t with code and syntax but with not understanding basic database operations.

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users