Re: Very simple question to relational theorists.

From: Evgeniy Grigoriev <grigoriev.e_at_gmail.com>
Date: Fri, 24 Aug 2012 01:19:27 -0700 (PDT)
Message-ID: <64b7d196-0268-4a57-a306-c5b798ca40c8_at_googlegroups.com>


Philip, thank you for answer.

>Read my message. Codd's relation operators are to be used in a certain way. You are building different ("special") operators. You are merely implementing yours in terms of his. You are using them and other non-relation operators to build yours that operate on relations specially. Your operators know about the special structure and disassemble it.

Let me try to ask once again. Please, forget about dots from here.

Suppose I have two relation
A( a1, a2, ...)
and
B( b1, b2, ...)
I use some JOIN and RENAME operations to produce new C relation form the two ones C(c1, c2, ...)

Am I right that I can can use any new names c1, c2 if they are distinct? I don't change the formal predicate itself here. I just change non-logical symbols, just give them other meaning.

Can I use some mnemonic rules to form the names of attributes of C relation from the names of attributes of A and B relations? (E.g. in SQL queries such renaming is used very often - to avoid name duplication, to keep details of data meaning ets.)

But if I can rename attributes manually and if the formation rules of the renaming are defined very strŠ¾ngly - am I right that I can perform such renaming automatically?

Ok, it's special operator. But because it is composition of traditional relational JOIN and RENAME operations, it's special _relational_ operion. It takes relations as operands and produses a relation. Let us name this special operator as "JOINandRENAMEaccording2SpecialFormationRules".

Does this operator broke the relational system? I think No.

> I repeat, just using relations is **not** being relational.
>
> The Maier book begins with "Each row in the table summarizes some object or relationship in the real world."

Unfortunately I don't have this book in English. But in Russian edition he tryes to forget about any real world meanings on next page. He wants to be formal.

OK, Codd used a term "predicate" in first paper (may be because he wanted to show that this formality can be linked to possible meaning). Mayer didn't use it (as I understand he wanted to be very formal). But they both had got the same mathematics, same mappings between the sames sets of values that forms formal definition of what relation is.

It seems that we think in opposite directions. You assert that (meaningfull?) predicate is main condition that the relation exists. I assert that any formal relation by definition has a predicate - regarless to its meaning "for DBA". Who of us is right? Fact is that if we forget about "meaning" we will mean the same formality.

>At the dbdebunk link Hugh writes "The meaning of relation SP as understood by the user is: Supplier S# supplies part P# in a quantity of QTY". A formal system does not know meanings, but it produces meanings given other meanings.

??? "Formal system produses a meaning" ??? It's something very new to me :) Are you sure?

>Codd's relation operators are designed specifically so that if the value of a relation is the set of all tuples that make its predicate true then a query result is the set of tuples that make its predicate true.

Yes. It's formal rule. Fact is that this trueness doesn't depend on meaning.

> That query meaning is in terms of the meanings of relations...

may be yes, may be no... if non-logicla symbols have some meaming the resulc can have meaning too... but I can replace the non-logicla symbols with new ones - anyway the formal predictae stays the same.

> and meanings of the relation operators.
I don't agree. What is "meaning of opertion" here? they are formal ones.  

> I'll look.

You are welcome :). Try this new one http://arxiv.org/abs/1208.3307

Regards,
Evgeniy Received on Fri Aug 24 2012 - 10:19:27 CEST

Original text of this message