Re: Very simple question to relational theorists.

From: Bob Badour <bob_at_badour.net>
Date: Fri, 17 Aug 2012 23:45:53 -0700
Message-ID: <JPidnabJb_2Np7LNnZ2dnUVZ5h2dnZ2d_at_giganews.com>


On 8/17/2012 4:14 PM, Evgeniy Grigoriev wrote:
> пятница, 17 августа 2012 г., 23:34:50 UTC+4 пользователь (неизвестно) написал:
>> On Friday, August 17, 2012 8:37:23 AM UTC-7, Evgeniy Grigoriev wrote:
>>
>>> On 5/4/2012 2:01 AM, Roy Hann wrote:
>>
>>>> Be careful: "some special rules" is handwavy enough that it could mean
>>
>>>> anything--including exposing physical details.
>>
>>> Is such system relational?
>>
>>> I'm asking about this because it seems that I use reference constructions and all these dots seem to be the "physical details" you are speaking about. But in fact it's just play with names which is performed by RENAME operation.
>>
>>
>>
>> When you started this thread I looked at some papers of yours in the arxiv and if that's the technique you're using, you are not being relational. You are just using multiple relation variables as a data structure and you are including values that act as pointers into the data structure by encoding locations in it.
>>
>>
>>
>> To be relational a DBA must associate with every relation variable a predicate about the world that each of its present tuples makes true and each of its absent tuples makes false. It must map a tuple and a world situation to a truth value. With those pointers being there, if you tried to write predicates you would find that you have to mention relation variable names as further parameters. So you would not be giving predicates. You would be giving simultaneous equations whose unknowns were relation variable names, to be solved for valid relation variable values.
>>
>>
>>
>> These equations would happen to form constraints for valid data structure values. But you can't use(update or query) the data structure relationally because you don't have predicates to tell you what the relation variable names in queries mean, and thus what the queries mean. Of course you can use relation operators to manipulate relation variables of your data structure just like you can use any operators to manipulate variables of any types. But that's not querying about the world.
>>
>>
>>
>> Indeed you won't have told the user how to use (update and query) your data structure to describe a world.
>>
>>
>>
>> And you need special operators to manipulate your data structure reasonably. These will be partly describable/implementable in terms of relation operators but also pointer encoding/decoding operators. Yes occasionally a special operator on some arguments can be implemented exactly as a relation operator on the same arguments but this is rare and incidental. When you are using relation operators in expressions that should be special operator calls that is the implementation/representation/"physical" leaking out. (Ironically this lower level is itself relations. Though not relational.)
>>
>>
>>
>> As to your particular messages in this thread, you are not describing what you are doing clearly enough for us to give you an answer. You can't just write something that is consistent with your system. You have to write something that defines it to us.
>>
>>
>>
>> philip
>
> Thank you for answer. Let me start from the end of your message.
>
> 1) About this thread. Here I just want to show that I can use such complex names to name relational attributes.

Define "complex".

> 2) I don't understand your remark about "special" operator. As I understand I can use any copmplex name to denote relation and any copmplex names to denote its attributes. This complexity means nothing for how this relation can be used. From the viewpoint of the formal relational data model, all these complex names are equal to names used to denote abstract relation R(a1, a2…). So usual relational opertion can be used, nothing special.

Since you never spelled out what operators you are defining, whatever you do is "special." If you are using a relational language, upon which relational primitives is the language defined?

> 3) About predicates and what I must associate with relation. Relational data model is abstract mathematics. Relation is a formal and meaningless data structure. If a data structure is equal to formal definition of a relation (I prefer to use the one given in "The Theory Of Relational Database" by David Maier) it is a relation. Relation doesn't have to tell something to DBA about the world to be relation. It's not only my viewpoint (http://www.dbdebunk.blogspot.com/2012/07/meaning-and-database-management.html#more)

See Codd's 1972 paper. A relation is a predicate.

> 4) About my papers. I have another ones on ODBMS.ORG where the experimental system is described where this simple rule is implemented fully. But in this thread I want to show that dot in the name is just a part of name. Just a character. Nothing more. (Anyway, thank you very much that you read my paper :) )

Maybe it is, and maybe it isn't. You have not given us enough information by which to judge.

> By the way, from my viewpoint the relation
>
> (1+2) 'DOC(ID, .No, .Lines.Item , .Items,Qty)
>
> is full of sence.
>
Received on Sat Aug 18 2012 - 08:45:53 CEST

Original text of this message