Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2000 Forums
 SQL Server Development (2000)
 What is the point of logical normalization???

Author  Topic 

ZeroFear
Starting Member

1 Post

Posted - 2006-09-21 : 09:58:01
What is the point of 2NF and 3NF besides making it harder to get to the data? I understand 1NF and have no problems with it, but what is the point of breaking things down even more with 2NF and then going crazy with 3NF??? Im a programmer, not a DB admin and the project im currently on is a real b$%tch due to the crazy amounts of joins and such I have to do to get any data from the DB. What is the point to making the database so confusing to use? Why cant it just be kept simple and only remove blatent redundency by using 1NF?? Someone please fill me in on why such a DB is good?

BTW: Ive been told the DB admin is supposed to write views and functions for us programmers to use so we dont have to go crazy learning how to do all these massive joins and such, but that has never been the case....

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2006-09-21 : 10:05:09
Then I suggest you to be patient and trust us other hundreds of professional and skilled DBA's when we say that highly normalized databases are better in the long run.
The reason for having a normalized database according to 2NF and 3NF is that users misspell names. After a few hours of usage, you will see city names like "NY", "N.Y.", New York" or "The Big Apple" in your database. They all mean the same, but how will you search for all users living in New York?
Having a list of choices to choose from, prohibits the user from writing data you don't want in the database.

Given a few years of experience, hopefully you also will grow and see this logical reason.

Meanwhile you can read this page for better understanding http://www.datamodel.org/NormalizationRules.html


Peter Larsson
Helsingborg, Sweden
Go to Top of Page

robvolk
Most Valuable Yak

15732 Posts

Posted - 2006-09-21 : 10:25:00
And if you really can't get your head around normalization, don't use a relational database. <extremely heavy sarcasm> I hear XML is all the rage now. Anyway, something like 90% of the world's most crucial data is stored in Excel. </extremely heavy sarcasm>
Go to Top of Page

jsmith8858
Dr. Cross Join

7423 Posts

Posted - 2006-09-21 : 10:31:07
quote:
Originally posted by ZeroFear

What is the point of 2NF and 3NF besides making it harder to get to the data? I understand 1NF and have no problems with it, but what is the point of breaking things down even more with 2NF and then going crazy with 3NF??? Im a programmer, not a DB admin and the project im currently on is a real b$%tch due to the crazy amounts of joins and such I have to do to get any data from the DB. What is the point to making the database so confusing to use? Why cant it just be kept simple and only remove blatent redundency by using 1NF?? Someone please fill me in on why such a DB is good?

BTW: Ive been told the DB admin is supposed to write views and functions for us programmers to use so we dont have to go crazy learning how to do all these massive joins and such, but that has never been the case....



What are you writing is like saying "why should I learn about classes or objects if I want to use Java or .NET ? Why should I learn about engines if I want to repair cars? Why should I learn about medicine if I want to become a doctor? " And so on ... all of these things are core concepts of what you are working in. If they are confusing to you, then that's life: nothing is easy, you need to have discipline and patience and you need to learn how to properly use the technology you are using. It's as simple as that.

If you are reading about normalization but are only studying it in an academic way to learn definitions or so that you can pass a quiz, of course you will see no benefit and it seems like a "pain". But if you read carefuly and *understand* it, then you will see the great many benefits of having a normalized database.

If that doesn't help, browse the sqlTeam forums to see the hundreds upon hundreds of questions where users need help working with a databsae that is unnormalized and all the extra work they need to do to perform simple querying or data manipulation operations.

If you really feel that 2nf and 3nf make it 'harder to get data", then why don't you post a simple example here to help state your case?

- Jeff
Go to Top of Page

X002548
Not Just a Number

15586 Posts

Posted - 2006-09-21 : 10:33:10
quote:
Originally posted by robvolk

Anyway, something like 90% of the world's most crucial data is stored in Excel.




I just spewed coffee all over my monitor...only because it's probably true

Here: http://en.wikipedia.org/wiki/Ted_Codd

Educate yourself



Brett

8-)

Hint: Want your questions answered fast? Follow the direction in this link
http://weblogs.sqlteam.com/brettk/archive/2005/05/25/5276.aspx

Add yourself!
http://www.frappr.com/sqlteam
Go to Top of Page

jsmith8858
Dr. Cross Join

7423 Posts

Posted - 2006-09-21 : 12:13:51
I think the main thing is not to get any more educated, but to understand and discuss the practical reasons for normalization. Being told to normalize because it's the "thing to do" will never convince anyone unless you fully understand the reasoning behind it.

That's why I suggest a discussion with a specific example, without theory, so perhaps he will be able to see for himself *why* it makes sense to normalize. It's very easy to be convinced the first time you try to parse a CSV column or try to add a new month to a table that breaks out data 1 column per month and so on or deal with each customer having their own Orders table.

- Jeff
Go to Top of Page

X002548
Not Just a Number

15586 Posts

Posted - 2006-09-21 : 12:41:04
quote:
Originally posted by jsmith8858

I think the main thing is not to get any more educated, but to understand and discuss the practical reasons for normalization.



You don't think those 2 things are synonymous?

In any case I betcha they're upset about a surrogate key rich database, instead of using Natural Keys



Brett

8-)

Hint: Want your questions answered fast? Follow the direction in this link
http://weblogs.sqlteam.com/brettk/archive/2005/05/25/5276.aspx

Add yourself!
http://www.frappr.com/sqlteam
Go to Top of Page

blindman
Master Smack Fu Yak Hacker

2365 Posts

Posted - 2006-09-21 : 12:47:22
quote:
Originally posted by robvolk

And if you really can't get your head around normalization, don't use a relational database. I hear XML is all the rage now. Anyway, something like 90% of the world's most crucial data is stored in Excel.

Oh good Lord! Be careful making statements like that around non-DBAs!

"I have HAD it with these muthu-f$#%in' cursors in my muthu-f$#%in' database!"
Go to Top of Page

robvolk
Most Valuable Yak

15732 Posts

Posted - 2006-09-21 : 15:07:09
Well, my intention was "quit your moaning and either learn relational data theory, or don't use it at all". It seemed pretty clear from the original troll post that the theory wasn't that appealing.
Go to Top of Page

blindman
Master Smack Fu Yak Hacker

2365 Posts

Posted - 2006-09-21 : 16:47:06
Yeah, but I can imagine some develope quoting you as saying that Excel is an acceptable substitute for a relational database. You know they are all just looking for an excuse!

"Once you establish possibility, all that remains are desire and determination."
Go to Top of Page

byrmol
Shed Building SQL Farmer

1591 Posts

Posted - 2006-09-21 : 17:10:47
This has got to be a troll...
quote:

Why cant it just be kept simple and only remove blatent redundency by using 1NF??



1NF has NOTHING to do with redundancy... One more time... NOTHING! I am not going to even bother trying to explain it to you unless you at least try to understand it.

quote:

The reason for having a normalized database according to 2NF and 3NF is that users misspell names.



While I understand the desire to "dumb" it down for the lad, lets keep it above kindergarden..

I have seen a fair few databases that have hundreds of lookup tables and are still not at 2NF although the "DBA" swore it was "at least 3NF"...

2,3,4,5 NF's are designed to stop certain UPDATE anomolies... 6NF is designed for the temporal problem...

DavidM

Production is just another testing cycle
Go to Top of Page

Michael Valentine Jones
Yak DBA Kernel (pronounced Colonel)

7020 Posts

Posted - 2006-09-21 : 18:10:21
Is that you, Fabian?

We've missed you. Really.







CODO ERGO SUM
Go to Top of Page

robvolk
Most Valuable Yak

15732 Posts

Posted - 2006-09-21 : 18:37:53
quote:
Originally posted by blindman

Yeah, but I can imagine some develope quoting you as saying that Excel is an acceptable substitute for a relational database. You know they are all just looking for an excuse!
Good point, I fixed up the original with some clarifying markup.
Go to Top of Page

byrmol
Shed Building SQL Farmer

1591 Posts

Posted - 2006-09-21 : 19:25:07
Rob,

Why does your posts not show the "Edited" marker?
Or is this a perk of being a forum god?

DavidM

Production is just another testing cycle
Go to Top of Page

Michael Valentine Jones
Yak DBA Kernel (pronounced Colonel)

7020 Posts

Posted - 2006-09-21 : 20:41:20
quote:
Originally posted by ZeroFear
...I understand 1NF and have no problems with it...


Why? Many successful systems have been built with data structures not in 1NF.

Are you some kind of radical data-NAZI? The only thing a primary key does is make it more difficult to get your data into the database. Since there are only 12 months in a year, what’s wrong with PAYMENT_MON_01, PAYMENT_MON_02, PAYMENT_MON_03, etc.?






CODO ERGO SUM
Go to Top of Page

blindman
Master Smack Fu Yak Hacker

2365 Posts

Posted - 2006-09-21 : 20:59:16
I think you guys have frightend "zerofear" away. Quite an accomplishment, apparently.

"Once you establish possibility, all that remains are desire and determination."
Go to Top of Page

Michael Valentine Jones
Yak DBA Kernel (pronounced Colonel)

7020 Posts

Posted - 2006-09-21 : 21:17:17
I agree with DavidM that it is probably a troll.

He just posted once and left. Probably went to programming forum to ask what the point of OOP is.




CODO ERGO SUM
Go to Top of Page

jsmith8858
Dr. Cross Join

7423 Posts

Posted - 2006-09-21 : 21:35:48
Yeah, agreed.

Maybe it's this guy again:
http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=42060

After all, "00Kevin" ... "zerofear" ... both do start with "zero" ... and both just posted their opinion and refused to debate or have an intelligent discussion.

- Jeff
Go to Top of Page

X002548
Not Just a Number

15586 Posts

Posted - 2006-09-22 : 09:46:45
quote:
Originally posted by jsmith8858

and both just posted their opinion and refused to debate or have an intelligent discussion.



What, do you mean here?

Anyway, I prefer QSAM Files.

Or notepad for client server.



Brett

8-)

Hint: Want your questions answered fast? Follow the direction in this link
http://weblogs.sqlteam.com/brettk/archive/2005/05/25/5276.aspx

Add yourself!
http://www.frappr.com/sqlteam
Go to Top of Page

Michael Valentine Jones
Yak DBA Kernel (pronounced Colonel)

7020 Posts

Posted - 2006-09-22 : 10:05:24
quote:
Originally posted by X002548
...I prefer QSAM Files...

Come on, at least make the leap to VSAM.




CODO ERGO SUM
Go to Top of Page

robvolk
Most Valuable Yak

15732 Posts

Posted - 2006-09-22 : 10:10:01
quote:
Originally posted by byrmol

Rob,

Why does your posts not show the "Edited" marker?
Or is this a perk of being a forum god?
I guess so, I haven't really paid attention. I think there's an option to turn it on or off for moderators.
Go to Top of Page
    Next Page

- Advertisement -