Re: 3 value logic. Why is SQL so special?

From: David Portas <REMOVE_BEFORE_REPLYING_dportas_at_acm.org>
Date: 13 Sep 2006 03:40:34 -0700
Message-ID: <1158144034.135257.290130_at_d34g2000cwd.googlegroups.com>


Alexandr Savinov wrote:
>
> So if you put Actual_Departure_Time in table A, B, C or whatever other
> table you find appropriate then it will still describe entities from
> Flights table (if linked appropriately of course). Moreover, formally
> these alternative schemas are equivalent (again, if we link the tables
> appropriately).
>

What model is that? Relational tables are not "linked" other than in the conceptual sense that their propositions describe some subsets of the same reality.

> In this sense there are two extremes:
>
> 1. putting all the data in one wide table (a kind of canonical
> representation), and
>
> 2. putting all the data in separate tables (a kind of "one table - one
> attribute" approach)
>
> In the first case all absent attributes will (have to) be denoted by
> nulls. In the second case the absent attributes are denoted by the
> physical absence of the records. From the point of view of users (data
> semantics) nothing changes.

Again, a model without nulls cannot be equivalent to one with nulls. One represents information as values in relations and the other does not. From the user's point of view *everything* changes - that after all is the essence of the OP's question.

> Real world schemas are normally somewhere in between because both
> extreme designs are not efficient: the first due to space, the second
> because of time.
>

If the models were truly equivalent then in principle they could have the same physical representation and therefore any hypothetical difference in storage space and efficiency would disappear.

-- 
David Portas
Received on Wed Sep 13 2006 - 12:40:34 CEST

Original text of this message