# Re: I think my book may be wrong about cardinality, but I'm not sure

Date: Thu, 26 Jul 2007 15:53:25 -0500

Message-ID: <bR7qi.9286$lZ7.204_at_newsfe20.lga>

"Bob Badour" <bbadour_at_pei.sympatico.ca> wrote in message
news:46a8fca4$0$8833$9a566e8b_at_news.aliant.net...

> Bruce C. Baker wrote:

*>
**>> "Cimode" <cimode_at_hotmail.com> wrote in message
**>> news:1185468975.337120.62330_at_d55g2000hsg.googlegroups.com...
**>>
**>>>On 26 juil, 18:21, "Bruce C. Baker" <b..._at_undisclosedlocation.net>
**>>>wrote:
**>>>
**>>>>"Cimode" <cim..._at_hotmail.com> wrote in message
**>>>>
**>>>>news:1185462964.626601.174460_at_d55g2000hsg.googlegroups.com...
**>>>>
**>>>>
**>>>>
**>>>>
**>>>>>On 26 juil, 16:38, "Bruce C. Baker" <b..._at_undisclosedlocation.net>
**>>>>>wrote:
**>>>>>
**>>>>>>"Cimode" <cim..._at_hotmail.com> wrote in message
**>>>>
**>>>>>>news:1185446387.854491.306850_at_w3g2000hsg.googlegroups.com...
**>>>>
**>>>>>>>On 26 juil, 03:13, "Bruce C. Baker" <b..._at_undisclosedlocation.net>
**>>>>>>>wrote:
**>>>>
**>>>>>><snip>
**>>>>
**>>>>>>>>Each tuple in a relation with N attributes corresponds to a point in
**>>>>>>>>an
**>>>>>>>>N-dimensional space, with each attribute being orthogonal to all of
**>>>>>>>>the
**>>>>>>>>others.
**>>>>>>>
**>>>>>>>What does that mean ? How is a single attribute orthogonal to N-1
**>>>>>>>attributes part of the same relation?. What do you exactly designate
**>>>>>>>as *orthogonality*? Why would a tuple necessarily be a point and not
**>>>>>>>a line ofr plane in geometrical N-space?
**>>>>>>>What about degree 0/1 relations? How does a degree 0 relation
**>>>>>>>represent a point in space?
**>>>>
**>>>>>>The answers to all your questions can be found in any linear algebra
**>>>>>>textbook.
**>>>>
**>>>>>Really? Would you care providing a source?
**>>>>
**>>>>"If a relation has /n/ columns, then /each row in that relation
**>>>>represents a
**>>>>point in n-dimensional space/--and the relation as a whole represents a
**>>>>set
**>>>>of such points. In other words, a relation of /n/ columns is
**>>>>/n/-dimensional, not two-dimensional. *Let's all vow never to say "flat
**>>>>relations" ever again.*"
**>>>>
**>>>>"Date on Database", ISBN 1-59059-746-X, page 371
**>>>>
**>>>>As for a linear algebra textbook, there are thousands of them. Pick one
**>>>>and
**>>>>make the necessary extrapolation to relational database theory.
**>>>
**>>>That's what I suspected (Date's algebra).
**>>>
**>>>Thank you anyway for providing some sources (I do appreciate the
**>>>effort). The purpose of my questions was to raise the issue that one
**>>>may *arbitrarily choose several math constructs to describe the *non
**>>>flat* nature of relations. Choosing a POINT in N dimensionnal space
**>>>(correlated to N attributes) to describe relation tuple set is just
**>>>one *possible* math construct choice and such choice has implications
**>>>I never felt confortable with. If I apply Date's definition replacing
**>>>the *n* by some values:
**>>>
**>>>
**>>>>A degree 1 relation tuple set is necessarily a LINE (1 - dimensional
**>>>>space)
**>>>>A degree 2 relation tuple set is necessarily represented as a PLANE (2 -
**>>>>dimensional space)
**>>>>How is a degree 0 relation tuple set represented considering that it has
**>>>>0-dimensions according to Date?
**>>
**>>
**>> Good point! (Please excuse the pun; an opportunity like this arises only
**>> once in a lifetime. :-) )
**>>
**>> What /does/ an empty tuple represent? Is it some sort of NULL, as opposed
**>> to a null /set/?
**>>
**>> And since the tuples in a relation must all be distinct, that would seem
**>> to imply that a non-empty relation having no attributes could contain
**>> only a single "null tuple". Could this "null relation" serve as an
**>> identity element for joins?
**>>
**>> Let me get back to you ... :-)
**>
**> Not null. True. A non-empty 0-ary relation is the relational equivalent of
**> True. An empty 0-ary relation is the relational equivalent of False.
*

Allow me to correct a poor word choice in my previous post: When I wrote NULL, I was thinking along the lines of a null reference, as in C or C#, NOT a SQL NULL.

I think I see where you're going with True and False as defined in your post, though ... Received on Thu Jul 26 2007 - 22:53:25 CEST