If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

 
Go Back  dBforums > General > Database Concepts & Design > What is meant by one-to-one join

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 07-09-09, 14:20
kkrueck kkrueck is offline
Registered User
 
Join Date: Jul 2009
Posts: 16
What is meant by one-to-one join

I've been readind Date's Database In Depth. While discussing the Signifiicance of 5NF, he means joins that are all one-to-one. I'm new to Dbs and SQL. I wans't sure what he means by one-to-one. The content is:

Quote:
For if relvar R is in 5NF, the only nontrivial JDs are ones implied by superkyes. Hence, the only nonloss decompositions are ones in which every projection is on the attributes of some superkey; in other words, every such projection include some key of R. As a consequence, the coreesponding "recomposition" joins are all one-to-one, and no redundancies are or can be eliminated by the decomposition.
Does he mean that only one attribute, a key, is involved in the "recomposition" join?
Reply With Quote
  #2 (permalink)  
Old 07-09-09, 15:15
dportas dportas is offline
Registered User
 
Join Date: Dec 2007
Location: London, UK
Posts: 732
He means that the recomposition join is a bijection.

In other words A JOIN B where A and B have some superkey in common (not necessarily just one attribute) and where each tuple in A corresponds to exactly one tuple in B and vice versa.

Avoid the term "one to one". It always confuses because there is no consensus on precisely what it means.
Reply With Quote
  #3 (permalink)  
Old 07-09-09, 15:37
dportas dportas is offline
Registered User
 
Join Date: Dec 2007
Location: London, UK
Posts: 732
Date is not quite right. I had to look up the passage you quoted to be sure. It's on page 146. Here's why he's not right.

Every relation R{A} satisfies the join dependency *{{A},{}} whether {} is a key or not.

Trivially therefore: R JOIN DEE = R

Perhaps this isn't very important but I don't see any sound reason to discount {} as a valid (but not terribly useful) decomposition. So it seems that a 5NF relation can have at least one nonloss decomposition that does not include a superkey.
Reply With Quote
  #4 (permalink)  
Old 07-09-09, 15:54
kkrueck kkrueck is offline
Registered User
 
Join Date: Jul 2009
Posts: 16
Thanks for the replies. I'll check out the link to bijection.
I thought * { {A}, {} } was considered a trivial JD, and Date's definition, on p. 146 of 5NF, says that every nontrivial JD of a 5NF relvar must consist of a superkeys.
Reply With Quote
  #5 (permalink)  
Old 07-09-09, 16:05
dportas dportas is offline
Registered User
 
Join Date: Dec 2007
Location: London, UK
Posts: 732
You are right! I made a silly mistake. I wish I'd seen your wise reply before I rashly posted my thoughts onto the TTM mailing list, which is what I just did.
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
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

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On