Sr. Web Developer
mediabistro.com
US-NY-New York

Justtechjobs.com Post A Job | Post A Resume

Database Normalization And Design Techniques
One of the most important factors in dynamic web page development is database definition. If your tables are not set up properly, it can cause you a lot of headaches down the road when you have to perform miraculous SQL calls in your PHP code in order to extract the data you want. By understanding data relationships and the normalization of data, you will be better prepared to begin developing your application in PHP.
Whether you work with mySQL or Oracle, you should know the methods of normalizing the table schema in your relational database system. They can help make your PHP code easier to understand, easier to expand upon, and in some cases, actually speed up your application.
Basically, the Rules of Normalization are enforced by eliminating redundancy and inconsistent dependency in your table designs. I will explain what that means by examining the five progressive steps to normalization you should be aware of in order to create a functional and efficient database. I'll also detail the types of relationships your data structure can utilize.
Let's say we want to create a table of user information, and we want to store each users' Name, Company, Company Address, and some personal bookmarks, or urls. You might start by defining a table structure like this:
Zero Form
users
name company company_address url1 url2
Joe ABC 1 Work Lane abc.com xyz.com
Jill XYZ 1 Job Street abc.com xyz.com
We would say this table is in Zero Form because none of our rules of normalization have been applied yet. Notice the url1 and url2 fields -- what do we do when our application needs to ask for a third url? Do you want to keep adding columns to your table and hard-coding that form input field into your PHP code? Obviously not, you would want to create a functional system that could grow with new development requirements. Let's look at the rules for the First Normal Form, and then apply them to this table.
[ Next Page ]


Comments:
NormalizationSudha03/16/09 13:57
RE: NoramlizationEdgar Martinez08/08/08 15:28
RE: NoramlizationNonhlanhla04/21/08 04:46
NEED HELP GETTING INFO FROM FORM TO EMAILAndy Goulding06/23/05 11:00
RE: Noramlizationilham04/08/05 10:16
RE: system analysis and designandy03/26/05 03:54
system analysis and designandy03/26/05 03:03
Many-to-Many RelationshipJohny L. Sozi03/24/05 01:42
tom@hotmail.comTom Phillips03/19/05 21:50
RE: Noramlizationcharles aluko03/18/05 14:33
RE: Noramlizationsanjeev rai03/08/05 10:04
RE: Not exactly a convincing exampleEugene Wee02/02/05 13:10
URL_Relations and 4NFKevin01/31/05 18:13
Not exactly a convincing exampleThomas01/16/05 13:45
mistakesJonathan Speill11/24/04 06:15
Database DesignTina Wilson11/09/04 09:30
RE: Need to query people w/just certain URLslftl07/11/04 17:39
great workravuthakumar07/01/04 08:27
A great help! thanks :)Shafaq Iqbal06/14/04 01:48
Explanation got with greater comprehensionR.P.PremKumar02/23/04 03:33
Explanations, got with greater comprehensionR.P.PremKumar02/23/04 01:19
About this articleJin02/06/04 09:04
RE: why not COMPLETELY separate tables?Asdrubal Monta Nelas01/07/04 12:03
i really enjoy this articlesumaira12/10/03 04:57
Noramlizationjohnson10/09/03 22:46
Great article!Theodor Tsovilis10/03/03 07:52
Very nice, easy to understand the conceptChirag Majmundar09/27/03 07:51
Thanks a lot Raj09/14/03 08:08
Thanks for the articleGary Pude09/03/03 21:56
RE: Foreign Keys & MySQLDavid Rizzi04/10/03 17:25
violating normalization rulesBob03/23/03 18:23
Congrats and Thanks...Peter Ferguson03/06/03 17:38
RE: Question about database Dr. Ahmad03/04/03 01:39
RE: why not COMPLETELY separate tables?Dr. Ahmad03/04/03 01:34
RE: NormalizationDr. Ahmad03/03/03 07:09
RE: Which O/S has the powerDr. Ahmad03/03/03 07:02
RE: Normalisation vs. QueriesDr. Ahmad03/03/03 06:58
RE: BCNF is a good rule of thumb.Dr. Ahmad03/03/03 06:54
give details about 4&5 normal formskumar02/22/03 08:53
3 nf or 4 nf ???Cristian02/04/03 18:20
Normalisationdale joyce11/22/02 16:37
Recursive Relationships & Data NormalizationRobyn Dean11/09/02 15:01
Good ArticleSreenivasa Chandra Sekhar11/07/02 06:14
system designRhea11/06/02 02:23
Design TechniquesWendy11/05/02 12:10
fragementation kanwal11/05/02 10:39
NormalizationFarees10/31/02 12:55
how should i take 1 stepasif10/31/02 07:18
NormalizationWaqas Ahmed10/29/02 02:29
RE: Oracle database installationmanoj kumar10/26/02 14:12
RE: normalisation formshuddy10/25/02 14:10
Deleting a recordSebastian Zavadschi10/24/02 06:48
Special EntitiesTonio10/20/02 21:23
NormalizationBuddhi Pant10/20/02 05:02
Good and Clear ExplanationNataly10/10/02 21:59
Information Management Jonathan Choong10/06/02 15:05
RE: normalisation formsSurya10/02/02 16:21
RE: 4NF,5NFSurya10/02/02 16:20
RE: normalisation formsNaeemkhan09/28/02 15:46
RE: NormalizationAkhlaq09/28/02 04:03
why not COMPLETELY separate tables?Eepē09/27/02 23:38
Normalizationsanjay sugandhi09/27/02 09:40
NormalizationNathan09/27/02 01:39
nornalizationsatya jasti09/24/02 17:37
normalisation formsveerendra09/24/02 16:40
RE: ForeignKeysEepē09/23/02 17:48
RE: Normalizationahmed hayat09/22/02 11:45
Normalization hayat khan09/19/02 07:46
Database IssueEkow 09/19/02 06:11
Question about database sunitha k.s09/18/02 03:56
RE: NormalizationKutambura Ishmael09/17/02 14:35
Reg Oracle database design GuidelinesKarthikeyan09/16/02 05:49
database denormalizationsneha09/14/02 13:18
More example pleaseMs Ulomi09/04/02 09:59
RE: NormalizationFAUZ09/03/02 23:27
RE: One to zero-or-one relationshipsnaresh09/02/02 08:35
NormalizationM Asim09/01/02 01:08
Comment on database design ruleskalyan08/30/02 04:49
normalizationjearymae08/26/02 01:40
Importing tables?Gum08/21/02 12:55
databaseSimon08/21/02 02:45
RE: Database Design questionAhmed Najeeb08/18/02 04:55
Database Design questionKrishna Reddi08/16/02 09:07
RE: Database Design questionJohn08/16/02 02:08
Buena explicacion Luis Alfredo Abarca08/15/02 17:20
RE: Need to query people w/just certain URLsAndy Christianson08/15/02 16:43
One to zero-or-one relationshipsGreg May08/15/02 16:34
to ask about the database normalizationvanessa08/13/02 06:13
i need a sample database .Mohd Hairee07/30/02 04:50
RE: 4NF,5NFAdnan Saleem07/25/02 18:43
RE: One Huge Table!nazie07/24/02 03:33
RE: normalizationCindy07/18/02 10:07
Weak EntityNiyati07/16/02 06:43
how can i make it better?Tala07/15/02 07:27
RE: normalizationmajed awad07/14/02 10:33
An Access Database On Unix ServerJason Nieten06/20/02 18:44
normalizationraja sohail06/19/02 13:12
RE: What tools programming if i using PostgreSQLmukesh kumar06/07/02 10:02
TWO TIER APPL. IMPLIMETATION ON VSAT NETharish06/07/02 03:31
RE: Database Design questionMuneer Islam Qureshi06/07/02 01:44
RE: One Huge Table!Joe06/05/02 21:29
one to one relationshipBikram Bahadur Shrestha05/30/02 01:47
Need to query people w/just certain URLsDale D.05/29/02 20:18
Normalizationalifarzin05/22/02 10:15
RE: One to one relationshipsBarry Wise05/17/02 14:06
RE: One to one relationshipsMark Powney05/12/02 10:44
One Huge Table!Jeff05/09/02 15:30
RE: mySQLnikhil pant05/08/02 02:31
RE: normalized too much!!! please helpMaikel05/06/02 11:27
RE: 4NF,5NFTech05/02/02 07:04
normalized too much!!! please helpJerry05/01/02 10:13
RE: de-normalizationMaikel04/29/02 05:53
de-normalizationlloyd smith04/19/02 20:04
What's de-normalization ? Can someone help meJonathan Lim @ JonBoy04/18/02 14:19
4NF,5NFsharma deepak04/18/02 01:37
RE: Normalizationzaheer abdul azeez04/11/02 10:33
RE: foreign& primary keysbobo04/08/02 05:43
AtomicityJohn Walker04/07/02 10:56
RE: EASY UNDERSTANDABLESACHIN GUPTA04/05/02 10:12
RE: Intergrating a database to websiteRichard Kedemi03/25/02 04:26
normalisationLLOYD MUNETSI03/25/02 02:14
RE: One to one relationshipsChoudhary Tahir03/19/02 06:03
re: Normalization Inconsistencyverus john j. sibin03/18/02 22:30
RE: NormalizationMian Zaheer Ahmad03/16/02 06:37
RE: NormalizationJose Fco. Cleto03/14/02 14:06
RE: Normalizationsumaira butt03/13/02 01:57
re: presentation of conceptsChris Clark03/12/02 12:41
solved practical examplesSHIBU03/12/02 00:46
RE: Database Design questionJawad03/01/02 15:46
foreign& primary keysdaine02/27/02 00:45
BCNF is a good rule of thumb.Quinkin02/26/02 09:49
solved practical examplesfatma helmy Ismail02/23/02 06:31
RE: NormalizationRichard Starr02/21/02 15:42
RE: Database Design questionFreeman02/21/02 02:45
RE: NormilazationAndrew02/12/02 14:27
RE: optimizingGirish02/09/02 19:10
RE: Normilazationamin02/06/02 11:32
RE: Many to Many table questionSangeeta01/31/02 17:35
Granting RightsMurali01/29/02 03:44
mySQLLeo Kiin01/14/02 15:55
Building a GUICRaig01/03/02 10:37
OrphansBrendon12/31/01 19:35
xplain2sql semantic data modeling toolRick Holbert12/27/01 14:10
NOT in other tableBruno12/27/01 08:19
ProblemAlexander Friedman12/20/01 00:19
optimizingDouglas De Vine11/22/01 21:18
Thank'samarpreet11/22/01 02:57
E-Commerce Database DesignLuke Bradley11/19/01 13:40
Normilazationalex11/13/01 00:48
RE: Database Design questionawik11/12/01 22:33
Great article..developer11/06/01 17:40
RE: Many to Many table questionLes Hazlewood11/06/01 11:52
Concepts regarding keyscyra8011/06/01 09:37
Nice articlePSN Raju10/30/01 02:28
Many to Many table questionLisa Phillips10/25/01 16:33
Normalisation vs. QueriesRobert10/25/01 12:17
Database Design questionLisa Phillips10/25/01 08:48
RE: Q: How to make query w/Foreign Key?Michael Weck10/24/01 17:10
What tools programming if i using PostgreSQLputro10/23/01 22:36
RE: Normilazationibrahim yousif10/18/01 07:28
NormalizationHugo Casc10/17/01 17:18
Q: How to make query w/Foreign Key?JoeyG10/16/01 16:00
Normalizationbadarinath10/11/01 07:33
Entities adn Entity SetsMuhammad Asghar Shah10/05/01 21:41
Advance NormalizationEsther Aderinkola10/04/01 10:04
RE: Primary KeyLes Hazlewood10/03/01 17:06
RE: NormalizationHussain10/02/01 07:28
RE: Primary KeyPaul09/28/01 06:45
Thank youBarry Wise09/26/01 13:51
RE: excellent example for NormalizationNagendra Prasad09/25/01 10:16
How do I normalize data from several DBsFederico Sanchez Arias09/24/01 18:17
NormalizationShaun Bramley09/23/01 15:20
domain-key normal formMike09/22/01 14:01
very very helpfulsalim09/19/01 06:04
RE: Which O/S has the powerEric Miles08/30/01 12:16
more informationpravin pawar08/25/01 05:42
not much vishnu vardhan08/23/01 23:28
RE: Use of Normalizationtahirmughal08/22/01 15:21
very helpfullFaizan08/22/01 05:48
normalizationharoon mahmood08/21/01 00:42
RE: compare normalization and ER modelrajjan08/16/01 16:44
Primary KeyDenise Pulliam08/16/01 15:50
Variable size columnsEdemilson Lima08/14/01 15:20
Nice!!Carl Heaton07/26/01 07:06
NormalizationHariprasad07/18/01 08:25
RE: NormalizationHariprasad07/18/01 08:13
RE: tutorialsRay Hunter07/12/01 16:29
RE: Help !!!Ray Hunter07/12/01 16:25
RE: --Is normalization a dba jobAhmad Khan07/08/01 00:04
RE: excellent example for NormalizationBaskaran07/06/01 06:03
Wheres the code to relate?Jesse Bessette07/01/01 05:14
RE: I want to connect Flash animation _OracleAlexander Kerkenios06/30/01 11:22
RE: compare normalization and ER modelMichael06/28/01 21:25
tutorialsAlejandro Canales06/12/01 15:28
Taking it to the next level and loopingLaurel Hickey06/05/01 10:42
Well, Good SubjectMohammed E. Al-moayed06/02/01 07:32
Help !!!Khozema Faizullabhoy06/01/01 06:34
RE: DesignGlen05/27/01 19:20
RE: Database NormalizationHRUSHIKESH BARIK05/25/01 07:25
The ArticleNeil J. McLeish05/25/01 05:21
RE: Use of NormalizationAshutosh Sant05/21/01 22:37
NormalizationMisnad Haque05/19/01 21:41
RE: Use of NormalizationTodd Benson05/17/01 14:16
Which O/S has the powerPcGs05/10/01 15:32
normalizationLaraib05/09/01 03:16
RE: compare normalization and ER modelMahmood05/07/01 08:11
--Good Example on Normalisation Hitendra L Athawale04/27/01 04:33
DesignBob04/25/01 15:08
RE: Use of NormalizationGary Hsiao04/20/01 11:21
Use of NormalizationNgan Bui04/19/01 12:23
Very helpful...Mark Boden04/16/01 11:57
Database NormalizationKevin Calson04/14/01 12:42
super superbabuanand04/02/01 14:46
compare normalization and ER modelTyno04/01/01 10:24
NormalizationMike Gilmore03/30/01 18:32
The zero form itself is looking so funny url1T.Ravi (DBRAVI)03/29/01 06:06
RE: What is the big deal about Normailsation?Dean03/26/01 23:51
RE: What is the big deal about Normailsation?richard shortworth03/26/01 15:07
What is the big deal about Normailsation?Marie03/24/01 09:30
RE: excellent example for Normalizationkishore03/22/01 12:41
RE: excellent exampleParag Sathe03/21/01 16:23
RE: Naming of FieldsRobert03/16/01 08:15
RE: Normalization, etc.William Ryan03/13/01 16:28
RE: NormalizationMichael Ashby03/08/01 16:26
NormalizationNirmal Kumar03/07/01 10:34
About irreducibilityAbdulla othman03/07/01 06:46
RE: NormilazationMichael Svazas03/05/01 22:32
RE: NormilazationAdrian02/27/01 19:16
Additional TableEmily02/26/01 13:08
Naming of FieldsAra02/26/01 08:46
Query Optimization by DecompositionA.K.M. Shirin02/22/01 10:02
RE: Normilazationsiti02/20/01 17:50
Very Good Artical!Prathap Reddy02/19/01 06:26
why the relationId field?Shane Wright02/18/01 14:52
Representing "Dual purpose" tablesJay02/16/01 14:38
RE: Normalizationmahmoud roshdy02/06/01 03:24
RE: Normalizationanthony 02/03/01 23:05
Database DesignMark 02/03/01 21:38
Normalizationryan01/31/01 13:43
more than three columnsmark01/29/01 18:26
please give a better exampleAbhaya H01/29/01 02:15
Normalisation and Software DesingMark Parish01/24/01 16:38
RE: NormalizationVidya01/23/01 02:35
Linking different tablesJohn Wyer01/17/01 12:18
NormalizationShabnam01/10/01 10:36
excellent examplemico01/07/01 12:54
RE: AppreciationEd Matthews01/07/01 12:02
RE: What about this situation!!!Ed Matthews01/07/01 00:10
RE: foreign keysGildas01/05/01 11:36
foreign keysCiaran01/04/01 06:17
RE: NormilazationRainu Jacob01/03/01 00:00
Best explanation of normalization ever readMartin Lesser12/31/00 03:56
Cheers mate!Ian12/21/00 06:57
AppreciationSharad Upadhyay12/17/00 15:53
What about this situation!!!noobita12/10/00 23:13
RE: better???Carsten12/04/00 14:45
informacionLiliana Vazquez11/29/00 16:23
better???reiner11/24/00 03:33
RE: NormilazationShuaib Yazdani11/17/00 06:51
NormalizationT. Odeny11/15/00 06:04
RE: NormalisationDee10/30/00 09:16
RE: One to one relationshipsMark Powney10/21/00 09:41
normalisationJim Bob10/19/00 09:18
NormilazationKashif Rana10/19/00 05:29
system analysis and designshahid10/16/00 08:52
RE: SQL server 7Gaurav Mathur10/13/00 21:50
BeatifullHans10/13/00 09:56
SQL server 7azhar khan10/08/00 01:27
RE: NormalizationEric Wilson10/03/00 17:45
RE: One to one relationshipsEric Wilson10/03/00 17:42
RE: Insert StatementRichard Chesher09/19/00 22:29
A good book on SQL (also covering this topic)Frank Luithle08/28/00 18:37
I have to say thanks, but....Simas Mockevicius08/19/00 23:36
Good Article!Bojan Land08/15/00 19:59
ThanksAdrian Kubala08/15/00 17:22
RE: many to many relshps with 3 tablesThomas T. Dorsey08/13/00 22:46
how to use PHP lib in windowsRashmi08/12/00 15:15
many to many relshps with 3 tablesRoger Fischer08/08/00 18:28
RE: Insert StatementMark08/04/00 21:41
Insert StatementChester Bullock08/04/00 11:32
RE: ForeignKeysDerick Rethans08/04/00 08:30
RE: ForeignKeysShaun Hawkes08/03/00 23:22
RE: ForeignKeysDerick Rethans08/03/00 11:11
RE: NormalizationDerick Rethans08/03/00 11:08
Many to Many & "Public PIM"James M. Orr08/03/00 11:00
ForeignKeysDominik08/03/00 08:16
RE: NormalizationArzhan Kinzhalin08/03/00 03:05
One to one relationshipsMark Powney08/02/00 21:01
RE: Many to Many relationshipsIan Fagan08/02/00 13:43
RE: NormalizationTom Anderson08/02/00 12:18
Many to Many relationshipsTom Anderson08/02/00 12:13
NormalizationDerick Rethans08/01/00 18:32
 

If you are looking for help, please post on the appropriate forum here. Your questions will be answered much more quickly.

Add A Comment:

Name:

Email:

Subject:

Message:

To reduce spam posts, messages are now manually approved

You are not [logged in]. That means your account will not get credit for this post.