dbTalk Databases Forums  

a union is always a join!

comp.databases.theory comp.databases.theory


Discuss a union is always a join! in the comp.databases.theory forum.



Reply
 
Thread Tools Display Modes
  #111  
Old   
vldm10@yahoo.com
 
Posts: n/a

Default Re: a union is always a join! - 04-07-2009 , 02:15 AM






On Apr 5, 2:06*am, "Brian Selzer" <br... (AT) selzer-software (DOT) com> wrote:
Quote:
"rpost" <rp... (AT) pcwin518 (DOT) campus.tue.nl> wrote in message

news:gq8e2h$1ujr$1 (AT) mud (DOT) stack.nl...



Brian Selzer wrote:

The mathematics of relational calculus and relational algebra are fully
capable, AFAIK, of describing the difference between two states of a
database.

[...]

The algebra is capable of that if and only if each and every tuple has a
key
that permanently identifies the thing in the universe of discourse that
the
tuple maps to.

No, the algebra can describe the difference between database states
without any assumption on how these states are interpreted.

I don't agree. *Even without any assumption on /how/ the states are
interpreted, there is still the bald fact that they are subject to
interpretation. *If one state asserts that the employee operating welder #4
is being paid at the overtime rate, and another state asserts that the
employee operating welder #4 is being paid at the standard rate, would itbe
valid to infer that 'the employee operating welder #4' denotes the same
employee at both states? *I think not. *Bottom line: the same term can
denote different things at different states, consequently, any conclusion
drawn from an algebraic expression, such as R' JOIN R, which in essence
relies upon the identity of terms, would be faulty, since identity of terms
at differnt states does not necessarily imply identity of the terms'
referents.

And as Walter Mitty already wrote, it is not in fact necessary that
databases are inpeepreted in such a way that tuples are about "things"
in the universe of discourse.

I think you are overstating your point, which was, if I understand
you correctly, that while relational algebra and calculus may be used
to express the contents of a database change, they do not express the
fact that the contents change; and this does need to be expressed in
some way when reasoning about database updates.

But since that isn't a requirement of the RM, the RM must be
in trouble! *If different keys at different states map to the same thing
in
the universe of discourse, or if the same key at different states maps to
different things in the universe of discourse, then how is it possible to
describe exactly what is different between two states of a database.

It is really simple. *However, you are right in that mutability of
keys and other aspects of the relationship between database contents
and its interpretation will fall outside the scope of that description.

--
Reinier

I would like to make the following note.
In my model (see www.dbdesign11.com) I didn’t use terms as “possible
worlds”, “state of affairs” or “temporal”. Especially I didn’t use the
mentioned terms as basic. They are undefined terms. For example,
nobody knows what “world” is. However I precisely defined the state of
entity and state of relationship which are some of my basic terms.
Reinier for example doesn’t distinguish “state of affairs” from the
state of entity. He wrote about my model the following: “The database
records not only present state of affairs, but also all past state…” -
meaning that db records something like “possible worlds” + all past
states.
You intensively used terms “possible world” and “rigid designator” but
you carefully made transformation and now you are using term the
state. In the above message, you went further and you mentioned term -
the state of “the employee”.
You seem to spending a lot of energy using basic terms and ideas from
my db model.
But you proclaim superiority of the relational model and it is unclear
to me why you don’t use basic terms from relational model or maybe
from a combination of “temporal” data and relational model?

Vladimir Odrljin


Reply With Quote
  #112  
Old   
rpost
 
Posts: n/a

Default Re: a union is always a join! - 04-07-2009 , 01:28 PM






Vladimir Odrljin writes:

Quote:
I would like to make the following note.
In my model (see www.dbdesign11.com) I didn't use terms as "possible
worlds", "state of affairs" or "temporal". Especially I didn't use the
mentioned terms as basic. They are undefined terms. For example,
nobody knows what "world" is. However I precisely defined the state of
entity and state of relationship which are some of my basic terms.
Reinier for example doesn't distinguish "state of affairs" from the
state of entity. He wrote about my model the following: "The database
records not only present state of affairs, but also all past state" -
meaning that db records something like "possible worlds" + all past
states.
No, just the present state and all past states. I don't understand
why you split a state of affairs out into states of individual
entities and relationships. Those states must at all times form
a consistent whole, and that whole is what I called the state of affairs.
For databases that only hold information about the present,
a state of affairs simply corresponds to the database contents.
But this is really just a manner of speaking, the relationship
between your model and relational databases can be described in terms
of transformations that don't depend in any way on how the data
in databases are interpreted.

[...]

Quote:
You seem to spending a lot of energy using basic terms and ideas from
my db model.
But you proclaim superiority of the relational model and it is unclear
to me why you don't use basic terms from relational model or maybe
from a combination of "temporal" data and relational model?
I can't answer this, but the converse is unclear to me,
namely, why you don't just formulate your ideas in terms of
working with ordinary relational databases.

Quote:
Vladimir Odrljin
--
Reinier Post


Reply With Quote
  #113  
Old   
rpost
 
Posts: n/a

Default Re: a union is always a join! - 04-07-2009 , 01:43 PM



wrote:

Quote:
On Apr 1, 11:31*pm, rp... (AT) pcwin518 (DOT) campus.tue.nl (rpost) wrote:

If I understand it correctly,

I am afraid that you didn't understand it.
Let me shortly explain just one thing among of all others you didn't
understand here. It is about the identifier of a state.
In case you didn't notice: most regulars in this newsgroup
are "relational purists" who abhor identifiers.

Quote:
In my model I
can exactly determine which procedure or person created any peace of
data in the database.
But you don't need to introduce identifiers in order to do that.
I do see what identifiers are good for, namely, the identification
of entities across different states. But relational purists say
that such identification is "magic": if you can point out which entity
has changed, there must be some property or properties in the real
world by which you made that identification, and those properties
must be key attributes in your database model, so we should express the
change in terms of changes to key attribute values and the identifier
is superfluous. Makes sense, doesn't it.

Quote:
For example, I can ask this person: why you
changed four times this line in the m-n relationship on 31 January
2008. I want to see corresponding real world documentation for every
ID of the states for this line i.e. the documentation for every of the
four states. He can answer to me, for example: On 31 January 2008,
the line was broken two times this is documentation. Third time they
send me wrong report. Fourth time I made mistake.
Yes, but you don't need IDs don't help you do that, and what is more,
they don't help you do it, either; unless the person walks around
with the ID in real life (in which case it isn't an ID but just a
regular key attribute).

Quote:
So ID of state is strictly related to real world. I can always
determine a real state using its ID of the state.
Yes, but you can't determine the ID of a state given the state,
which you need to do if you want to express changes,
unless your state info has a unique key,
in which case it can replace the ID.

Quote:
In the paper many things are new, for example I defined states,
concepts, relationship between entity and its states. Semantic is also
new - it is related to identifying and matching rather then only to
denotation.
I don't know what you mean to say by that. Relational databases are
all about identifying entities based by matching on attribute values,
but that doesn't mean you have to introduce identifiers.

Quote:
Meaning of entity is defined as totality of its states. I
have access on the level of attributes. Expressed in terms of
relational theory I have binary relations for complex structures
(states). The access on the level of attributes enable me to apply
logic, constrains and powerful algorithms on the level of attributes.
Therefore it is new model.
But it can be phrased in terms of relational databases,
and it is very beneficial to do so.

Quote:
Currently I am busy with everyday duties so I will stop here with this
discussion.
OK .... me too ...

Quote:
Vladimir Odrljin
--
Reinier


Reply With Quote
  #114  
Old   
rpost
 
Posts: n/a

Default Re: a union is always a join! - 04-07-2009 , 02:52 PM



I just wrote

Quote:
[...] if you can point out which entity
has changed, there must be some property or properties in the real
world by which you made that identification, and those properties
must be key attributes in your database model, so we should express the
change in terms of changes to key attribute values and the identifier
xxx
is superfluous. Makes sense, doesn't it.
Not much. I meant to say changes to other attributes.

--
Reinier


Reply With Quote
  #115  
Old   
Brian Selzer
 
Posts: n/a

Default Re: a union is always a join! - 04-09-2009 , 08:28 AM




<vldm10 (AT) yahoo (DOT) com> wrote

Quote:
On Apr 5, 2:06 am, "Brian Selzer" <br... (AT) selzer-software (DOT) com> wrote:
"rpost" <rp... (AT) pcwin518 (DOT) campus.tue.nl> wrote in message

news:gq8e2h$1ujr$1 (AT) mud (DOT) stack.nl...



Brian Selzer wrote:

The mathematics of relational calculus and relational algebra are
fully
capable, AFAIK, of describing the difference between two states of
a
database.

[...]

The algebra is capable of that if and only if each and every tuple has
a
key
that permanently identifies the thing in the universe of discourse
that
the
tuple maps to.

No, the algebra can describe the difference between database states
without any assumption on how these states are interpreted.

I don't agree. Even without any assumption on /how/ the states are
interpreted, there is still the bald fact that they are subject to
interpretation. If one state asserts that the employee operating welder
#4
is being paid at the overtime rate, and another state asserts that the
employee operating welder #4 is being paid at the standard rate, would
it be
valid to infer that 'the employee operating welder #4' denotes the same
employee at both states? I think not. Bottom line: the same term can
denote different things at different states, consequently, any
conclusion
drawn from an algebraic expression, such as R' JOIN R, which in essence
relies upon the identity of terms, would be faulty, since identity of
terms
at differnt states does not necessarily imply identity of the terms'
referents.

And as Walter Mitty already wrote, it is not in fact necessary that
databases are inpeepreted in such a way that tuples are about "things"
in the universe of discourse.

I think you are overstating your point, which was, if I understand
you correctly, that while relational algebra and calculus may be used
to express the contents of a database change, they do not express the
fact that the contents change; and this does need to be expressed in
some way when reasoning about database updates.

But since that isn't a requirement of the RM, the RM must be
in trouble! If different keys at different states map to the same
thing
in
the universe of discourse, or if the same key at different states maps
to
different things in the universe of discourse, then how is it possible
to
describe exactly what is different between two states of a database.

It is really simple. However, you are right in that mutability of
keys and other aspects of the relationship between database contents
and its interpretation will fall outside the scope of that
description.

--
Reinier


I would like to make the following note.
In my model (see www.dbdesign11.com) I didn’t use terms as “possible
worlds”, “state of affairs” or “temporal”. Especially I didn’t use the
mentioned terms as basic. They are undefined terms. For example,
nobody knows what “world” is. However I precisely defined the state of
entity and state of relationship which are some of my basic terms.
You defined entities in terms of the "world" and the "real world." Now, you
say that nobody knows what "world" is. Doesn't it follow then that your
"state of entity" is in effect the state of the unknown? Does NULL even
have state?

Quote:
Reinier for example doesn’t distinguish “state of affairs” from the
state of entity. He wrote about my model the following: “The database
records not only present state of affairs, but also all past state…” -
meaning that db records something like “possible worlds” + all past
states.
The db doesn't record possible worlds, though the database schema specifies
what is possible.

Quote:
You intensively used terms “possible world” and “rigid designator” but
you carefully made transformation and now you are using term the
state. In the above message, you went further and you mentioned term -
the state of “the employee”.
Actually, I didn't: I used the term "state" because "database state" is
redundant, but, conceivably, there could be states of the employee.

Quote:
You seem to spending a lot of energy using basic terms and ideas from
my db model.
I am not using terms or ideas from your "model." Your "definitions" lack
clarity and defy convention. For example, a "state" of a thing is exactly
what that thing is at a particular location in time; it is not knowledge of
a thing.

Quote:
But you proclaim superiority of the relational model and it is unclear
to me why you don’t use basic terms from relational model or maybe
from a combination of “temporal” data and relational model?

Vladimir Odrljin
I see the Relational Model as an analog of a first order language. The
database schema is analogous to sentences in that language that together
shape the universe of discourse into a set of possible worlds over a fixed
domain. Each database is analogous to an expression of a possible world,
and /the/ database is analogous to the expression of the distinguished
actual world. Due to the Unique Name, Closed World and Domain Closure
Assumptions, that expression is a complete representation of what exists in
the universe of discourse. The Unique Name Assumption effectively
eliminates NULLs from consideration, the Closed World Assumption effectively
limits the set of truth values to just True and False, and the Domain
Closure Assumption effectively limits what exists to just what is
represented in the database.

The universe of discourse is everything of interest to the participants of a
discussion. That includes everything of interest that has ever been,
everything of interest that always is, everything of interest that could
have ever been and everything of interest that can ever be. For something
to have been requires first that it could have been, for something to be
requires first that it can be, and although nothing existed before the first
transition, what was then is and always will be. The possibility of being
is necessary, and as a consequence the universe neither expands nor
contracts, otherwise the participants would not be able to discuss what
might occur in the future or what occurred in the past; therefore, things in
the universe are neither created nor destroyed: instead, they are
actualized--they cease to be mere possibilities and become concrete,
anchored to locations in time. For things that are momentary, those
locations are definite, since both their beginning and end are identical and
fixed, but for things that persist, those locations start out being
indefinite intervals, since initially just their beginnings are fixed, and
only later on become definite whenever their ends actually arrive.

To have existed is to have become actual; to exist is to still actually be.
Thus everything of interest that has ever existed occupies an interval in
time, definite for what no longer exists, indefinite for what exists now.
Something comes into existence at the beginning of an interval, and ceases
to exist at the end of the interval, but change is not limited to changes in
existence. Changes in something that occur within the interval during which
it persists do not amount to changes in existence, but only in appearance.
Changes in appearance segment the interval during which something persists
into a series of subintervals during which neither changes in its appearance
nor changes in its existence occur. The appearance of something during such
a subinterval is a "state" of that thing. An insert asserts that something
has come into existence; a delete asserts that something has ceased to
exist; an update asserts that something has changed in appearance and now
has a different state. When the database is ordinary (not historical), the
domain of quantification includes everything of interest that could have
ever been and everything of interest that can ever be; when the database is
historical, the domain of quantification is further qualified to include
every state of everything of interest that could have ever been and every
state of everything of interest that can ever be. It is easy to see that
when something comes into existence, its first state comes into existence,
that when something changes in appearance, the end of its previous state
becomes fixed while at the same time its next state comes into existence,
and that when something ceases to exist, the end of its final state becomes
fixed; therefore, insert for an ordinary database is analogous to just an
insert for a historical database, update for an ordinary database is
analogous to an interval update and an insert for a historical database, and
delete for an ordinary database is analogous to just an interval update for
a historical database.

A historical database is a relational database but with some additional
requirements: first, each relation schema must have an interval attribute;
second, transition constraints must be specified that ordinarily disallow
deletes, that ordinarily only permit updates to indefinite intervals, and
that ordinarily either allow inserts of tuples with definite intervals but
disallow inserts of tuples with indefinite intervals or allow inserts of
tuples with definite intervals but disallow inserts of tuples with
indefinite intervals. (Ordinarily, because it may become necessary to issue
corrections.)

Thus the Relational Model is sufficient for both ordinary databases and
historical databases, provided it has is a mechanism for declaring
transition constraints. There is no need for a "new db model."




Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.