Re: A numerical methods viewpoint on OO/FP/Relational

From: Mikito Harakiri <nospam_at_newsranger.com>
Date: Wed, 11 Jul 2001 19:03:17 GMT
Message-ID: <Vp137.15656$Kf3.192540_at_www.newsranger.com>


In article <3b4ae692_at_tobjects.newsource.com>, peter_douglass says...
>
>
>Mikito Harakiri wrote in message ...
>>In article <3b44a4a2$1_at_tobjects.newsource.com>, peter_douglass says...
 

>>>> Relational model:
>
>
>>>> The relational model is declarative. It defines the variables
>>>> and defines the constraints that the variables must satisfy.
>>>> It doesn't say how these constraints must be satisfied.
>>>> It simply accepts or rejects values for the variables depending
>>>> on whether these values satisfy the constraints or not.
>
>
>>>> Note, however, that the relational model also has a
>>>> provision for explicitly defining dependent variables as
>>>> functions of other variables.
 

>>This definition is too broad for Relational, you
>>essentially describe Constraint Databases.
>> Relational narrows it's scope to very simplistic
>> (and highly successful, as well:-) kinds of predicates.
>
>Now that I have a clearer understanding of what you mean by Constraint
>databases, I will disagree. I think Richard's definition is right on the
>mark.

I may be snipped too much text from Richard's definition, but any constraint programming model, not only constraint databases, seems to fit into it. His definition says _nothing_ about the structure of relations, which is crutial.

>In the relational model, each table has a predicate which describes the
>semantics of the table. These predicates are arbitrary, may contain logical
>quantifiers, negation etc, but they lie outside of the database. These
>predicates provide the mapping from tuples (what the database contains) to
>knowledge, (i.e. a set of propositions about the world).

Mapping from tuples to the knowledge is not a part of the Relational Model. Basic Relational Model is just a Cylindric Algebra discovered by Tarski in 40s. Codd added some important elements: keys, normal forms, etc, but being a mathematical model it is not supposed to have any real world interpretation. Is such a mapping a part of Extended Relational Model by Codd?

>The constraints for a table in a relational database, on the other hand are
>things that are represented "in" the database, or at least in some software
>associated with the database. These constraints determine the legal
>transactions which can be performed. (typically, the legal values that a
>tuples in the database may take). These constraints are also arbitrary.
>They are limited only by the difficulty of implementation. These
>constraints are meta-data. They aren't found in the rows of tables to which
>they apply. (Although meta-data, being data, may be stored elsewhere in the
>database for convenience).

Those constraints are important, but, again, what makes it relational is a cylindrical structure.

> The constraints in Constraint databases are something else entirely, as far
> as I understand. The constraints in a Constraint database define
>"objects", i.e. data. For example a constraint of x*x + y*y < 1 in a
>Constraint database represents a region in x,y space. The difference
>between the constraints in a relational database and those in a Constraint
>database is roughly analogous to the difference between a class invariant on
>the one hand, and an object which represents a specific geometric region on
>the other.

Relational is still a subcatedory of Constraint Databases. Tuples in relational are just confunctions of primitive constraints: name='Smith', etc. Received on Wed Jul 11 2001 - 21:03:17 CEST

Original text of this message