Re: foundations of relational theory?

From: Jonathan Leffler <jleffler_at_earthlink.net>
Date: Mon, 27 Oct 2003 04:48:47 GMT
Message-ID: <Ps1nb.3672$RQ1.1771_at_newsread3.news.pas.earthlink.net>


mikepreece wrote:
> What *is* a relation valued attribute? How does it differ from a
> multivalued attribute in Pick? I guess they're logically the same thing.
> How is a relation valued attribute physically represented in SQL-
> relational?

Date "Introduction to Database Systems", 7th or 8th Edn.

Using the more formal relational terms (attribute, relation, relvar, etc):

A relation valued attribute (RVA) is an attribute of a relvar whose values are themselves relations. That is, in each tuple of the relvar, that attribute has a value which is a relation value (relval?), with nominally zero or more (practically, one or more) attributes. Each tuple in the containing relvar contains a RVA of the same type, of course.

I think that the difference between a multi-valued attribute in Pick and an RVA is that a multi-valued attribute (MVA) is just a list of simple values - possibly with duplicates, probably with significant order - whereas the RVA can have multiple attributes within each tuple, with no possibility of duplicates or significant order.

In the simplest practical case, if the RVA has a single attribute, then it is roughly equivalent to an MVA.

SQL does not directly (or indirectly, I think) support RVAs, and I'm not aware of a system that does support them (though I'd not be surprised to find that Alphora - http://www.alphora.com - does support them). The relational theory does not deal with physical representations and so offers no insight.

-- 
Jonathan Leffler                   #include <disclaimer.h>
Email: jleffler_at_earthlink.net, jleffler_at_us.ibm.com
Guardian of DBD::Informix v2003.04 -- http://dbi.perl.org/
Received on Mon Oct 27 2003 - 05:48:47 CET

Original text of this message