Re: The Theoretical Foundations of the Relational Model
Date: 24 Jun 2002 15:30:41 +0200
Message-ID: <3d171f01_at_news.uia.ac.be>
In article <3d1666c3.35718780_at_news.verizon.net>,
JRStern <JXSternChangeX2R_at_gte.net> wrote:
>On 23 Jun 2002 16:24:07 +0200, hidders_at_hcoss.uia.ac.be (Jan.Hidders)
>wrote:
>>
>> However, for other things than modelling universes of discourse such as
>> programming the (there's only one?) object model might be fine, Paul's
>> article didn't claim anything about that.
>
> Well, his language suggested that relational theory captures rationality
> entire, leaving no need and no place for other theories.
That was not my impression, but I certainly agree with you that the relational model is not the only rational model.
>>>> When we point to a group of propositions with an identical structure
>>>> (refering to the same kinds of things in the same relationship to one
>>>> another) we label that group a 'relation'. It doesn't really matter
>>>> what order they appear in, or what order the elements appear in.
>>>
>>> An oversimplification popular amongst relational theorists. Doesn't
>>> matter to whom?
>>
>> Yes, it doesn't matter to whom.
>
> Find me the first person who lives on Elm Street, deterministically, in a
> relational system. It matters to me. Yes, sure, you can add some
> additional ordering field if that is a requirement, but if the requirement
> is very common (and it is), then the statement that order does not matter,
> was at best misleading.
Nobody said that order isn't important. What was said was that the order of propositions in the extension of a predicate doesn't matter. So if the order is important for you then you have to encode this somehow in your predicates by adding extra roles/columns. That keeps your reasoning within conventional logic (even in higher order logics the extension of predicates is unordered) and prevents a bias towards a certain way of storing the information. Why not keep things simple if there is an easy way to do so?
>>> And that's the big, black hole in relational theory: identity.
>>
>> It's dealt with by the requirement that relations need a primary key and
>> that domain values are identified by their representation.
>
> There's a big debate these days on just what a primary key is for. In
> olden days, it was supposed to be the unique specifier for the real-world
> object, which again assumes there is such a thing, say "Smith, Jane".
> Disregarding the problems of there being lots of "Smith, Jane" there is
> the question of what happens when she gets married and (in cases where it
> still occurs) changes her name. Cascading updates, to be sure, but there
> are places that does not do the trick.
>
> Hence, these days, a lot of practitioners, whatever the merit of the
> thing, use a synthetic primary key for every table. This is sort of a
> half-assed attempt to introduce identity into the relational model, where
> you would say it does not need to be, or was already present. The
> situation is entirely muddled.
>
> IMHO, this is an issue on which the relational school has been too
> dogmatic for too long, irrespective of OOP issues.
- Jan Hidders