Re: A Normalization Question

From: Alan <alan_at_erols.com>
Date: Tue, 6 Jul 2004 14:02:19 -0400
Message-ID: <2l07o3F78a0gU1_at_uni-berlin.de>


"Neo" <neo55592_at_hotmail.com> wrote in message news:4b45d3ad.0407060921.64806da6_at_posting.google.com...
> > There would never be a relation called "THINGS" containing the
attributes in
> > the way you infer.
>
> Sure there would because even attributes are things. Everything is a
> thing. It is possible for an attribute to have attributes and thus the
> attribute with respect to its attributes becomes a thing. For example,
> 'brown' can have the attribute language whose value(s) could be
> english, spanish, etc.

If the subject of the database was languages, yes, but not in the example originally stated. While in a universal sense, everything is a thing, the whole purpose of normalization is to determine which things relate to which other things. You are overgeneralizing to the nth degree.

>
> > In normalization, one does not consider the values of the attributes,
only
> > the semantics of the relationships among them.
>
> If one chooses to ignore some things (ie 'brown', 'brown', 'brown'),
> then one has a limited understanding/implementation of normalization.

Apparently, that is the problem you are having. Please read SOMETHING about functional dependencies before you post this nonsense again.

>
> > The fact that a name, street, color, and anything other attribute has
the
> > value of "Brown" has absolutely zero, nada, zip, zilch to do with
> > normalization or redundancy. Nothing at all.
>
> If the string 'brown' has the attribute language, it would be stored
> three times, each having the same value. Changing the third 'brown's
> language (ie to western english), would create an update anomaly thus
> proving that things weren't normalized.

We are talking about relational databases. A string is a data type. Strings don't have attributes, except when considered as part of the data dictionary (length, etc.), ior maybe in the very specific case where there is a table whose subject has to do with strings - but not in the normal business world that the database is representing. _Entities_ have attributes. "Brown" is not an entity. It isn't even an attribute. It is a value of an attribute. The attribute may be different in each entity. It may be COLOR in an AUTOMOBILE entity, it may be LAST_NAME in an EMPLOYEE entity, it may be STREET_NAME in an ADDRESS entity. DO NOT consider the values of the data when normalizing. Again, you are confusing yourself by doing this. Your view of this entire topic is completely twisted. Received on Tue Jul 06 2004 - 20:02:19 CEST

Original text of this message