Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: normalization
kk (xs) wrote:
: Say, I have a table like this:
: id sw_name sw_type
: 1 oracle DBMS
: 2. windows OS
: 3. linux OS
: 4. mysql DBMS
: 5. tomcat web server
: 6. weblogic J2EE server
: 7. websphere J2EE server
: Because sw_type contains repeating values
Hold on a moment, theoretical normalization "levels" are not based on repetition, but on dependencies.
: and the normal action is to
: separate it into another table:
No it isn't. First off, and theoreticlly, we ae not interested in tables, but in relations.
Second, from a more practical point of view, what do you think is different between unique numbers such as 1,2,3,4 and unique keys, such as "DBMS", "os", "web server", and "J2EE server"? What is it that needs separating?
: id sw_name sw_type
: 1 oracle 1
: 2. windows 2
: 3. linux 2
: 4. mysql 1
: 5. tomcat 3
: 6. weblogic 4
: 7. websphere 4
: id sw_type
: 1 DBMS
: 2. OS
: 3. web server
: 4. J2EE server
: That is fine. But, are we calling this procedure normalization?
No, and no it isn't fine, you haven't normalized anything.
: Because I
: found that neither 1NF(ensuring each column contains atomic value), 2NF
: (ensuring no non-key dependency) nor 3NF (eliminating transitive dependency)
: fit our action here.
: If not, does that imply achieving 3NF still doesn't guarantee no redundant
: storage in our design
A nicely normallized design will have lots of redundancies. Every single key will be "redundant" in the sense that it is stored more than once.. Received on Sun Apr 02 2006 - 00:50:37 CST
![]() |
![]() |