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

Justtechjobs.com Post A Job | Post A Resume

Database Normalization And Design Techniques
First Normal Form

  1. Eliminate repeating groups in individual tables.
  2. Create a separate table for each set of related data.
  3. Identify each set of related data with a primary key.

Notice how we're breaking that first rule by repeating the url1 and url2 fields? And what about Rule Three, primary keys? Rule Three basically means we want to put some form of unique, auto-incrementing integer value into every one of our records. Otherwise, what would happen if we had two users named Joe and we wanted to tell them apart? When we apply the rules of the First Normal Form we come up with the following table:
users
userId name company company_address url
1 Joe ABC 1 Work Lane abc.com
1 Joe ABC 1 Work Lane xyz.com
2 Jill XYZ 1 Job Street abc.com
2 Jill XYZ 1 Job Street xyz.com
Now our table is said to be in the First Normal Form. We've solved the problem of url field limitation, but look at the headache we've now caused ourselves. Every time we input a new record into the users table, we've got to duplicate all that company and user name data. Not only will our database grow much larger than we'd ever want it to, but we could easily begin corrupting our data by misspelling some of that redundant information. Let's apply the rules of Second Normal Form:
[ Next Page ]

[Page 1]  [Page 2]  


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.