Re: Codd provided appropriate mathematics ... (was Re: Relational and MV (response to "foundations of relational theory"))
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.