Re: Bidirectional Binary Self-Joins
Date: Sat, 31 Mar 2007 00:35:15 GMT
Message-ID: <71iPh.1792$aG1.117_at_pd7urf3no>
JOG wrote:
> ...
> I hate the idea of having to invent a surrogate key to identify a
> game, just so that we can model it in RM (especially given it is
> perfectly identifiable from the date and teams). Hence using RVA's
> certainly seems preferable. But then we've added seemingly unnecessary
> complexity to our queries compared to:
> { (date:12-dec, team: Hope, team:Calvin) }
> { (date:12-dec, team: Hope, score 59), (date:12-dec, team: Hope, score
> 32) }
> Someone fix my thinking. quick.
I don't mean to sound like a Codd-worshipper, but I believe he intended to exclude RVA's. I think he also intended to require what I would "system-introduced" keys (using that term only because I don't like the baggage that today comes with "surrogate" and "artifical" in the eyes of many although not mine).
At the same time, I think rva's express some relationships more exactly. I think Codd wanted a naive interface and that's why he avoided them as far as I know. For me, there is no doubt that this limits his model and I don't think "group/ungroup" solve the problem of coming up with an interface that could respect rva's without complication and subtler programmers and users. To date, I think the only possible solution is graphical, but not mathematical.
With more precise scheduled times, we might be able to eliminate artificial parts of that composite key, even the airline code for example. But how artificial is a key that a business embraces? How artificial is a bank balance expressed in dollars and cents rather than the concept of the client's net worth?
The long composite airline flight key is clumsy to use and sometimes there are convenient reasons to "indirect" it, say to re-assign cargo at the last minute, with yet another "artifical" key.
Just offering a counterpoint.
p Received on Sat Mar 31 2007 - 02:35:15 CEST