Re: Codd provided appropriate mathematics ... (was Re: Relational and MV (response to "foundations of relational theory"))

From: Dawn M. Wolthuis <dwolt_at_tincat-group.com>
Date: Fri, 27 Feb 2004 08:01:43 -0600
Message-ID: <c1nikl$auo$1_at_news.netins.net>


"Alfredo Novoa" <alfredo_at_ncs.es> wrote in message news:403f2429.1137375_at_news.wanadoo.es...
> On Thu, 26 Feb 2004 13:31:31 -0600, "Dawn M. Wolthuis"
> <dwolt_at_tincat-group.com> wrote:
>
> >
> >"Eric Kaun" <ekaun_at_yahoo.com> wrote in message
> >news:k6r%b.50112$LX2.42031_at_newssvr33.news.prodigy.com...
> >> As an aside in this discussion, I've seen "multivalued" defined 2
> >different
> >> ways in explanations of relational (some of which are really bad).
> >>
> >> 1. Where attribute A can hold a list of values (type LIST)
> >> 2. Where there are attributes A1, A2, A3, A4 (for example), all of the
> >same
> >> type and meaning. For example, ADDR1, ADDR2, etc.
> >>
> >> Does 1NF refer to both of these? If not, what's the proper terminology
for
> >> each of these cases?
> >
> >Good question because it is likely clear to most data folks that 1, which
is
> >the one more often referred to as multivalued (there is a MultiValue
> >trademark associated with one such model) and is not permitted by the
> >relational model, is a much better strategy than 2, which is permitted.
>
> The Relational Model permits relation typed attributes, so
> "multivalued" does not have any advantage. Collection typed attributes
> don't violate 1NF.

Yes, so the theory in RDM is evolving to the point where it might become more practical in its application. But while each RDBMS vendor seems to have a means now of storing an array (or relation or other collections), querying against this data is done differently by each vendor, it seems, although SQL-99 has a means of doing this (and perhaps more db vendors are employing that standard, but when I checked in 2002 there was no consistency). ODBC & JDBC are based on SQL-99, which renders nested relations rather useless if you want to query the data using either of these standards.

> Relations are in 1NF by definition. With a RDBMS you can not violate
> 1NF even if you want.

You can violate any of the other normal forms, but not 1NF. And because, until recently, 1NF has been defined to exclude nested relations, the one normalization technique that not only seems the least important, but the most incorrect, is the one that is rigidly enforced by products that consider themselves implementatios of the relational model. Such a shame (and a couple decades of setback for databases in this area). --dawn Received on Fri Feb 27 2004 - 15:01:43 CET

Original text of this message