Re: no names allowed, we serve types only

From: paul c <>
Date: Mon, 22 Feb 2010 04:30:01 GMT
Message-ID: <dLngn.68940$PH1.59484_at_edtnps82>

Keith H Duggar wrote:
> On Feb 21, 8:10 pm, paul c <> wrote:
>> As for having just types, I still think that Codd introduced his
>> attribute names because of relations that can have two 'columns' of the
>> same type.  I think Keith D is arguing against this and if I'm right
>> about that, I'd like him to deal with that case, not to say it can't be
>> done, just that I'd like to see whether his "copy" in a language is a
>> better tool.

> How about we do some concrete exercises then? Please provide your
> favorite example of some relations with attributes having the same
> type along with some associated code operating on those relations.
> Then I will convert the {(name,type)} system example into a {type}
> only system so we can compare.
Below is a cut and paste, as best as I can manage, of what Codd said in 1970. As some here probably recognize, it has bugged me for years that arcane ops such as 'tclose' are required in the D&D way of thinking. Maybe I'm unfair to use such an adjective as arcane but my reason is that the explanations I've seen for it are intricate and elaborate. In Codd's approach, relations with two 'columns' having the same 'domain' don't seem to be able to be closed into relations that transform the domains, eg., from parent and child to ancestor and decendant. D&D seem to allow it by use of <RENAME>. One way I'd compare alternative approaches is to ask 1) how many new operators are needed to substitute for the above? and 2) how easy are they to 'optimize' for minimum machine time/cost?. It seems to me that for practical purposes, one must admit relations that may have two 'columns' having the same 'type'.

(I read something by Bertrand Russell where he talked of domains and I got the impression that his relations could define the different between 'parent' and 'ancestor', but he wrote that long before people had to write computer programs and I'm guessing what he wrote is circular in today's context.)

quote (I hope):
... As the example in Figure 2 shows, two columns may have identical headings (indicating identical domains) but possess distinct meanings with respect to the relation. The relation depicted is called component. It is a ternary relation, whose first two domains are called part and third domain is called quantity. The meaning of component (2, y, z) is that part x is an immediate component (or subassembly) of part y, and z units of part 5 are needed to assemble one unit of part y. It is a relation which plays a critical role in the parts explosion problem.

(part part quantity)
1 5 9
2 5 7
3 5 2
2 6 12
3 6 3
4 7 1
6 7 1
FIG. 2. A relation with-two identical domains Received on Sun Feb 21 2010 - 22:30:01 CST

Original text of this message