Re: 3vl 2vl and NULL

From: David Cressey <david.cressey_at_earthlink.net>
Date: Tue, 06 Dec 2005 14:17:35 GMT
Message-ID: <34hlf.77$Dd2.72_at_newsread3.news.atl.earthlink.net>


<michael_at_preece.net> wrote in message news:1133835174.338147.116860_at_g47g2000cwa.googlegroups.com...
>
> Jonathan Leffler wrote:
>
> > michael_at_preece.net wrote:
> > > David Cressey wrote:
> > >> [...]
> > > Here's the thing: If you have a table with an unlimited number of rows
> > > and a limited number of columns then it is understood that the number
> > > of tuples in the table is rows*columns. True?
> >
> > Not for any definition I've heard of... Did you mean 'values' instead
> > of 'tuples'? "The number of values in the table is rows * columns".
>
> Yes - kind of, only I really mean the container for a value, rather
> than the value itself. If I'd meant "value" I guess I would have used
> the word "value". Value is a word I'm familiar with - unlike tuple.
> Sorry if I misused the word "tuple". I asked what one of those was a
> while back and ended up thinking of a tuple as like a "cell" in a
> spreadsheet - the intersection of column and row - the container for a
> value or set or scalar or relation. Oh dear - I might have just thrown
> in a few potential bones of contention there. I don't mean to confuse
> anyone. I confess I am unused to these terms and am struggling with a
> foreign language, in a way. Please extend the same courtesy to me as
> you would to someone who is not a native English speaker.

Maybe there's hope for you yet.

The terms "tuple", "attribute", and "relation" have very precise meanings in mathematics, and the relational model of data is based very closely on relational mathematics. Much of the impact that relational modelling has had on Informatica over the last 35 years is due to that precision. It's not a question of "bones of contention" or of "sacrosanct terminology". It's a question of conveying a rather precise concept in a rather precise manner.

"Tuple" is one that you have to get right. The nearest thing to a tuple, in classical files oriented systems, is the term "record". But the differences in meaning between "record" and "tuple" are so important that I hesitate to even offer this. And the differences in connotation and implication are so large that one risks saying something that's outright false or foolish if one substitutes "record" where "tuple" would have been appropriate.

If you want the SQL equivalent of "tuple", think "row". However, even that equivalence is a little too fuzzy.
For example, an SQL row can have NULLS in it. A mathematical tuple cannot.

Believe it or not, there are real and practical consequences that show up downstream when the initial modelling of a large and complex system is based on an imprecise understanding of the elements of the model. Sometimes, the flaws go unnoticed until millions of dollars have been spent on implementation.

Keep on learning. Sooner or later, you will become like one of the "poor deluded fools" you called us in your opening salvo. Received on Tue Dec 06 2005 - 15:17:35 CET

Original text of this message