Re: foundations of relational theory?
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