Click here to monitor SSC
SQLServerCentral is supported by Redgate
 
Log in  ::  Register  ::  Not logged in
 
 
 


normalization estate exercise


normalization estate exercise

Author
Message
sqlvogel
sqlvogel
SSC-Addicted
SSC-Addicted (484 reputation)SSC-Addicted (484 reputation)SSC-Addicted (484 reputation)SSC-Addicted (484 reputation)SSC-Addicted (484 reputation)SSC-Addicted (484 reputation)SSC-Addicted (484 reputation)SSC-Addicted (484 reputation)

Group: General Forum Members
Points: 484 Visits: 3706
pietlinden (8/5/2014)
How can you get to 3NF if you don't go through 1NF and 2NF first?


Very easily, you just need to ensure that the non-trivial determinants of every non-key attribute are superkeys. Outside of an academic exercise I'm surprised if anyone would go through the trouble of creating a table design that satisifies 1NF but not 2NF and then refine it to make it satisfy 2NF and then refine it again to make it 3NF. I've certainly never bothered with such exercises outside the classroom.

2NF and 3NF are of mostly historical or academic importance anyway. Most of the time it makes sense to design to Boyce-Codd / 5th Normal Form and don't concern yourself with 3NF except in cases where you need to denormalize in order to enforce certain business rules.
GilaMonster
GilaMonster
SSC-Forever
SSC-Forever (47K reputation)SSC-Forever (47K reputation)SSC-Forever (47K reputation)SSC-Forever (47K reputation)SSC-Forever (47K reputation)SSC-Forever (47K reputation)SSC-Forever (47K reputation)SSC-Forever (47K reputation)

Group: General Forum Members
Points: 47263 Visits: 44392
sqlvogel (8/6/2014)
pietlinden (8/5/2014)
How can you get to 3NF if you don't go through 1NF and 2NF first?


Very easily, you just need to ensure that the non-trivial determinants of every non-key attribute are superkeys.


Which is fine when you're comfortable with normalisation and know what you're doing. The OP however is just learning it and doing an academic exercise.


Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

We walk in the dark places no others will enter
We stand on the bridge and no one may pass


OCTom
OCTom
SSCrazy
SSCrazy (2.8K reputation)SSCrazy (2.8K reputation)SSCrazy (2.8K reputation)SSCrazy (2.8K reputation)SSCrazy (2.8K reputation)SSCrazy (2.8K reputation)SSCrazy (2.8K reputation)SSCrazy (2.8K reputation)

Group: General Forum Members
Points: 2813 Visits: 4152
sqlvogel (8/6/2014)
pietlinden (8/5/2014)
How can you get to 3NF if you don't go through 1NF and 2NF first?


Very easily, you just need to ensure that the non-trivial determinants of every non-key attribute are superkeys. Outside of an academic exercise I'm surprised if anyone would go through the trouble of creating a table design that satisifies 1NF but not 2NF and then refine it to make it satisfy 2NF and then refine it again to make it 3NF. I've certainly never bothered with such exercises outside the classroom.

2NF and 3NF are of mostly historical or academic importance anyway. Most of the time it makes sense to design to Boyce-Codd / 5th Normal Form and don't concern yourself with 3NF except in cases where you need to denormalize in order to enforce certain business rules.



Although it moves very quickly, I still think in terms of 1st, 2nd and so forth. That way I know I have approached it correctly. Only with the simplest databases would I be comfortable with moving directly to BCNF. And, even then, I think my mind would still go through the earlier stages.

Tom
OCTom
OCTom
SSCrazy
SSCrazy (2.8K reputation)SSCrazy (2.8K reputation)SSCrazy (2.8K reputation)SSCrazy (2.8K reputation)SSCrazy (2.8K reputation)SSCrazy (2.8K reputation)SSCrazy (2.8K reputation)SSCrazy (2.8K reputation)

Group: General Forum Members
Points: 2813 Visits: 4152
For the OP:

Here is a link with a straightforward explanation of the normal forms.

http://databases.about.com/od/specificproducts/a/normalization.htm

You should be able to create the 1st and 2nd normal forms from that explanation.

Tom
sqlvogel
sqlvogel
SSC-Addicted
SSC-Addicted (484 reputation)SSC-Addicted (484 reputation)SSC-Addicted (484 reputation)SSC-Addicted (484 reputation)SSC-Addicted (484 reputation)SSC-Addicted (484 reputation)SSC-Addicted (484 reputation)SSC-Addicted (484 reputation)

Group: General Forum Members
Points: 484 Visits: 3706
OCTom (8/6/2014)
For the OP:

Here is a link with a straightforward explanation of the normal forms.

http://databases.about.com/od/specificproducts/a/normalization.htm

You should be able to create the 1st and 2nd normal forms from that explanation.

Tom

"Straightforward" but also completely WRONG. Ignore it. Don't waste time reading anything on about.com.
mobildiho
mobildiho
Forum Newbie
Forum Newbie (7 reputation)Forum Newbie (7 reputation)Forum Newbie (7 reputation)Forum Newbie (7 reputation)Forum Newbie (7 reputation)Forum Newbie (7 reputation)Forum Newbie (7 reputation)Forum Newbie (7 reputation)

Group: General Forum Members
Points: 7 Visits: 17
if its the usually unf to 3nf its very easy but my school have their own method and if its difficult I will be glad but its impossible some times.


this are the rules..

Un-normalised Form – UNF: Transfer all identifiable attributes from the sample to a list ensuring each attribute has a unique name; structure the list according to the repeating groups (a repeating group is defined as any group of one or more attributes which has [regular sets of] multiple values for a single value of the initial key); choose an initial key for the RDA

First Normal Form – 1NF: Separate into new relations each repeating group, generating appropriate keys for each relation: this means choosing a key for the group and propagating (copying) the key of the relation from which the group was separated as part of the key of the new relation; any single-valued attributes remain with the initial key

Second Normal Form – 2NF: Separate into new relations any attributes dependent on only part of each compound key along with their non-key attribute(s); the original compound keys are left intact (along with any dependent attributes)


Third Normal Form – 3NF:
Separate into new relations any attributes dependent on other non-key attributes along with their key attribute(s); foreign keys are retained in the original relation
Check compound keys for any redundant parts – if any part of a compound key can be determined by the rest of the key, demote the attribute(s) to non-key status (these may also be foreign keys)


...could be easy in theory
pietlinden
pietlinden
SSCrazy
SSCrazy (2.2K reputation)SSCrazy (2.2K reputation)SSCrazy (2.2K reputation)SSCrazy (2.2K reputation)SSCrazy (2.2K reputation)SSCrazy (2.2K reputation)SSCrazy (2.2K reputation)SSCrazy (2.2K reputation)

Group: General Forum Members
Points: 2181 Visits: 12526
This exercise is a lot easier to understand if you have some data to work with. It's easier to see repeating fields if you have a table structure. The usual dead giveaway is the fact that each repeating column ends with a subscript (a number).... e.g. Toxicity1, Toxicity2, ... etc.
Go


Permissions

You can't post new topics.
You can't post topic replies.
You can't post new polls.
You can't post replies to polls.
You can't edit your own topics.
You can't delete your own topics.
You can't edit other topics.
You can't delete other topics.
You can't edit your own posts.
You can't edit other posts.
You can't delete your own posts.
You can't delete other posts.
You can't post events.
You can't edit your own events.
You can't edit other events.
You can't delete your own events.
You can't delete other events.
You can't send private messages.
You can't send emails.
You can read topics.
You can't vote in polls.
You can't upload attachments.
You can download attachments.
You can't post HTML code.
You can't edit HTML code.
You can't post IFCode.
You can't post JavaScript.
You can post emoticons.
You can't post or upload images.

Select a forum

































































































































































SQLServerCentral


Search