Re: cdt glossary TABLE (was: Base Normal Form)

From: Kenneth Downs <knode.wants.this_at_see.sigblock>
Date: Mon, 11 Jul 2005 20:48:03 -0400
Message-Id: <oogbq2-d38.ln1_at_pluto.downsfam.net>


mAsterdam wrote:

> David Cressey wrote:
> [snip]

>> Actually, I didn't think there would be any discussion of the word
>> "table".
>> 
>> All I mean by "table" is the same thing that the word means in common SQL
>> parlance. And that's what I expected everyone to understand that I meant.
>> Oh, well.
>> 
>> I'd be very surprised if the cdt glossary has no entry for "table".  It
>> seems a curious omission.

>
> The current (0.0.5) entry is:
> -----------------------------
> [Table/Row/Column] (SQL-DBMS)
> Table: A collection of columns (the table header) and rows (the body).
> Row: A collection of values, conforming to the table header columns.
>
> One table may contain data about one entity,
> about several entities, about one or several
> relationships or any combination.
> A column can be seen as the attribute of the
> entity/one of the entities/relationships
> about which the table is concerned.
> -----------------------------
>
> After some editing (reaping :-) of the thread
> (most notably Jan's contributions),
> I now propose this:
>
> -------------------------------
> [Table/Row/Column] (SQL-DBMS)
>
> C Date and H Darwen in The Third Manifesto, 1st ed, p135, footnote:
> "/Relation/ has a precise (and somewhat abstract) definition;
> /table/ by contrast, does not." (italics original)
>
> Nevertheless people (and DBMS's, and SQL) *do* use the
> words as if they were. Here is what we've come to expect
> what people mean when they use these words.
>
> Down's law: "People understand tables just fine."
>
> A *table* consists of a table header and a body.
> The *table header* consists of a list(1) of column names that contains
> each column name at most once and associates with each column name in
> that list a certain type. The *body* is a bag(2) of rows where a *row*
> is a list(1) of values that conforms to the table header.
>
> (1) The column names and the values are ordered.

Can we say something here to the effect that as per Codd's rules, the columns in a table can be accessed without knowledge of their order, but that in actual implementations they are often physically ordered.

>
> If you can afford to be informal - think of Down's law.
> If you need to be concise, don't use 'table'. Use 'relation'.
>

I'm considering a rephrasing of Downs' Law, to avoid a potential pitfall here, perhaps this expresses what I mean better: "People find it easy (natural?) to work with tabular data."

-- 
Kenneth Downs
Secure Data Software, Inc.
(Ken)nneth_at_(Sec)ure(Dat)a(.com)
Received on Tue Jul 12 2005 - 02:48:03 CEST

Original text of this message