Re: header part of the value?
Date: Mon, 25 Feb 2008 19:10:13 GMT
> Of course, that then leads me to think of a relation value
> as a <header, body> tuple. (Let us omit column type
> information for the present discussion.)
What's wrong with the D&D def'n?, ie:
Let r be a relation, let A be the name of an attribute of r, let T be the name of the corresponding type (i.e., the type of attribute A), and let v be a value of type T. Then:
The heading Hr of r is a set of attributes (i.e., ordered pairs of the form <A,T>). By definition, no two attributes in that set contain the same attribute name A.
Let tr be a tuple that conforms to Hr; i.e., tr is a set of ordered triples of the form <A,T,v>, one such triple for each attribute in Hr.
The body Br of r is a set of such tuples tr. Note that (in general) there will be some such tuples tr that conform to Hr but do not appear in Br.
That definition of tuples in a body seems enough for them to define the rest of their algebra on top of.
> ... Then one imagines
> an updatable relation variable in a database as holding
> a value of this tuple type. BUT then we notice that we
> have this restriction that the header must not be updated.
> Why is that?
I guess a change in header is like switching context in a conversation but if you are talking about some absolute restriction, I'd like to know where that comes from (eg., is it just a figment of some OO-fan's obsession?). Received on Mon Feb 25 2008 - 20:10:13 CET