Re: Comments on Norbert's topological extension of relational algebra
Date: Mon, 21 Dec 2015 09:43:20 +0100
Message-ID: <n58duf$uea$1_at_dont-email.me>
Nicola wrote:
> On 2015-12-19 11:14:52 +0000, Norbert_Paul said:
>
>> R1
>> object id1 id2
>> --------------
>> cube n 1
>> cube n 2
>> ...
>> sausage m 1
>> sausage m 2
>> ...
>> ball k 1
>> ball k 2
>> ..
>>
>> Then consider R1 a binary relation on PART:
>> FOREIGN KEY(object id1) REFERENCES PART
>> FOREIGN KEY(object id2) REFERENCES PART
>
> The term "relation" is used to denote
>
> A. a mathematical relation (the subset of a Cartesian product);
> B. a named relation (a set of tuples);
> C. an association defined by foreign keys.
OK, but (roughly) A = B = C:
(A) is a set of tuples.
B and C are, in the mathematical sense, just families of relations.
(B)
R \subset D1 \times D2 \times D3 may be called "unnamed" relation. Then the pair nR := (name, R) may be a "named" relation. The "named" membership t \in nR is defined by t \in nR := t \in R. A set DB := { (n1, R1), (n2, R2), ...,(nm, Rm) } of "named" relations is a set of pairs, hence, a set of tuples, hence a relation. One might then wish, that the name uniquely determines the relation. Then DB is a (partial) funtion from names to relations. Note that functions are only special cases of relations. (C)
An association defined by foreign keys is the usual way of expressing a realtion on another relation in database modelling. It just consists of a set of relations that are designed to express yet another relation (the "association"). So there are the relations involved in the model (implementation) and then there is the resulting relation ("association") that the database practitioner wanted to express. But these are all "relations".
> Although it is clear from the context what you mean, calling R1
> a "binary relation" (in the sense C) is a bit confusing because
> R1 is a relation of degree 3 (in the sense B). On the other hand,
> R1 represents a specialization preorder, which is a binary relation
> (in the sense A). In this specific example "binary relationship" or
> "binary association" might be a better term.
R1 "is" a relation of degree 3 on its domains, say, integer, integer, integer. The "foreign key" clauses reinterpret that into a relation of degree 2 (hence, "binary") on PART.
> In general, I wish that we could use a less ambiguous terminology,
> especially to distinguish between A and B (but I am not fond of
> "relvar"...).
The terminology is OK. "relation" is a generic mathematical notion with many practical applications.
Norbert Received on Mon Dec 21 2015 - 09:43:20 CET