Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
Database Servers
DB2InformixIngresMS SQLOraclePervasive.SQLPostgreSQLProgressSybase
Desktop Databases
FileMakerFoxProMS AccessParadox
General
General DB TopicsDatabase Theory
Related Topics
Java Development.NET DevelopmentVB DevelopmentMore Topics ...

Database Forum / General DB Topics / DB Theory / August 2005

Tip: Looking for answers? Try searching our database.

Are there terms for these?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Kenneth Downs - 24 Aug 2005 22:48 GMT
Given two tables that are not UNION compatible, it seems there are ways to
UNION them anyway.

Method 1, Intersect their headers.  The resulting header is used to project
both tables and now those projections are union compatible.  What would
this be called?  I suppose if the intersected headers yield an empty set
nothing would happen here.

Method 2, Union their headers.  The resulting header is used to UNION both
tables, providing NULL or empty values where a column exists in one but not
the other.  What would this be called, a FULL OUTER UNION (ha ha)?

Signature

Kenneth Downs
Secure Data Software, Inc.
(Ken)nneth@(Sec)ure(Dat)a(.com)

Marshall  Spight - 24 Aug 2005 23:14 GMT
> Given two tables that are not UNION compatible, it seems there are ways to
> UNION them anyway.
>
> Method 1, Intersect their headers.  The resulting header is used to project
> both tables and now those projections are union compatible.  What would
> this be called?

We've been discussing this a lot. There was even a thead I started
about
a month ago called (IIRC) What would this operator be called?

Since then, I've been going with "inner union" or "generalized union".

> I suppose if the intersected headers yield an empty set
> nothing would happen here.

No! The empty-header-intersection case is *not* a special case;
it's handled according to the uniform definition. It will have
0 attributes, and rows=0 if both operands are empty; rows=1 otherwise.

> Method 2, Union their headers.  The resulting header is used to UNION both
> tables, providing NULL or empty values where a column exists in one but not
> the other.  What would this be called, a FULL OUTER UNION (ha ha)?

I'm calling it "outer union."

Marshall
Kenneth Downs - 25 Aug 2005 05:09 GMT
>> Given two tables that are not UNION compatible, it seems there are ways
>> to UNION them anyway.
[quoted text clipped - 7 lines]
> about
> a month ago called (IIRC) What would this operator be called?

This is scary, how did I miss it?  

> Since then, I've been going with "inner union" or "generalized union".

What's weird is that normally somebody jumps in and points out that these
ideas were first worked out in Sanskrit thousands of years ago and we
should RTFM.  How can it be that no terms exist and you are making them
just now?

>> I suppose if the intersected headers yield an empty set
>> nothing would happen here.
[quoted text clipped - 9 lines]
>
> I'm calling it "outer union."

I suppose there really would be a LEFT OUTER UNION and a RIGHT OUTER UNION,
though.  Left would be all columns from table 1 plus common columns 1 and
2, or:

(L n R) U L   (that 'n' is supposed to be intersection)

and RIGHT OUTER UNION would be all columns from right plus common columns,
or:

(L n R) U L

Signature

Kenneth Downs
Secure Data Software, Inc.
(Ken)nneth@(Sec)ure(Dat)a(.com)

Marshall  Spight - 25 Aug 2005 06:42 GMT
> >> Given two tables that are not UNION compatible, it seems there are ways
> >> to UNION them anyway.
[quoted text clipped - 9 lines]
>
> This is scary, how did I miss it?

Here it is:

"What to call this operator?"
http://groups.google.com/group/comp.databases.theory/browse_thread/thread/7a8553
09c23c73eb/1aad918848dd35fd


In the opening post on that thread, I ask what we should call these
generalized union operations. I actually speak directly in terms
of the TTM <AND> and <OR> because I thought that'd be more familiar
to a wider readership. However, what I really had in mind was the
exact operator you described above, in which the values that have
to be "made up" are more null-like than infinite-like. Specifically,
I've been going with a 2VL in which certain attributes may take
on the empty set, as a replacement for null.

Since then, (specifically as a result of that thread) I've
become aware of Vadim Tropashko's paper "Relational Algebra as
Non-Distributive Lattice" in which he describes the *inner*
union, and manifold ways it's mathematically interesting.
I'm not so interested in outer union any more.

> > Since then, I've been going with "inner union" or "generalized union".
>
> What's weird is that normally somebody jumps in and points out that these
> ideas were first worked out in Sanskrit thousands of years ago and we
> should RTFM.  How can it be that no terms exist and you are making them
> just now?

I would like to take this opportunity to apologize on a personal
level for not heaping abuse on you in the manner to which you
have become acustomed.

> >> Method 2, Union their headers.  The resulting header is used to UNION
> >> both tables, providing NULL or empty values where a column exists in one
[quoted text clipped - 13 lines]
>
> (L n R) U L

I'm not so happy with the idea of asymmetric operators lately.
They seem like a sign of bad design.

Anyway, read the thread and the Tropashko paper. It just might
blow your mind; it blew mine.

Marshall
Kenneth Downs - 25 Aug 2005 21:34 GMT
>> >> Given two tables that are not UNION compatible, it seems there are
>> >> ways to UNION them anyway.
[quoted text clipped - 13 lines]
>
> "What to call this operator?"

http://groups.google.com/group/comp.databases.theory/browse_thread/thread/7a8553
09c23c73eb/1aad918848dd35fd


This is very sad.  I found the topic incomprehensible and was not following
closely.  Now I'll have to go back.

> In the opening post on that thread, I ask what we should call these
> generalized union operations. I actually speak directly in terms
[quoted text clipped - 21 lines]
> level for not heaping abuse on you in the manner to which you
> have become acustomed.

:)

>> >> Method 2, Union their headers.  The resulting header is used to UNION
>> >> both tables, providing NULL or empty values where a column exists in
[quoted text clipped - 17 lines]
> I'm not so happy with the idea of asymmetric operators lately.
> They seem like a sign of bad design.

interesting.

> Anyway, read the thread and the Tropashko paper. It just might
> blow your mind; it blew mine.
>
> Marshall

Signature

Kenneth Downs
Secure Data Software, Inc.
(Ken)nneth@(Sec)ure(Dat)a(.com)

paul c - 26 Aug 2005 03:16 GMT
>>>>>Given two tables that are not UNION compatible, it seems there are
>>>>>ways to UNION them anyway.
[quoted text clipped - 19 lines]
> closely.  Now I'll have to go back.
> ...

Hey, Marshall.  Sorry, I didn't catch the question the first time.
'Meet' looks like an attractive word to me, both 'meet and proper' and
reminds me of a Beatles lyric, 'come together, right now' which seems
rather precise as far as computers are concerned.

pc
-CELKO- - 25 Aug 2005 13:42 GMT
Get a copy of the SQL-92 Standards and look up OUTER UNION.
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.