Re: cdt

From: Alan <not.me_at_uhuh.rcn.com>
Date: Sun, 06 Jun 2004 17:21:00 GMT
Message-ID: <0oIwc.11163$QT3.4201_at_nwrdny01.gnilink.net>


"Dawn M. Wolthuis" <dwolt_at_tincat-group.com> wrote in message news:c9vib1$d8i$1_at_news.netins.net...
> "Alan" <not.me_at_uhuh.rcn.com> wrote in message
> news:FQHwc.10185$9g6.270_at_nwrdny03.gnilink.net...
> > How about, "Entity: The subject or subjects about which the table is
> > concerned."
>
> I don't think that bringing the term "table" into this is helpful.
Entities
> are implemented as attributes, tables, fields, files, namespaces, and
types,
> for example.
>
> Entity: Thing. ?
>
> --dawn
>
>

No, you're confusing logical and physical again. Entities exist in the business logical realm. They have attributes. Tables cross between the logical and physical, and have rows and columns. They are physically implemented in RDMSes as part of larger files, or sometimes in their own file, but that is an implementation detail, not an impementation definition. Here are some quotes from Joe Celko,

"Like most new ideas, the hard part of understanding what the relational model is comes in un-learning what you know about file systems. As Artemus Ward (William Graham Sumner, 1840-1910) put it, "It ain't so much the things we don't know that get us into trouble. It's the things we know that just ain't so."

If you already have a background in data processing with traditional file systems, the first things to un-learn are:

 (0) Databases are not file sets.
 (1) Tables are not files.
 (2) Rows are not records.
 (3) Columns are not fields."

"A file is closely related to its physical storage media. A table may or may not be a physical file. DB2 from IBM uses one file per table, while Sybase puts several entire databases inside one file. A table is a <i>set<i> of rows of the same kind of thing. A set has no ordering and it makes no sense to ask for the first or last row."

"Rows versus Records

Rows are not records. A record is defined in the application program which reads it; a row is defined in the database schema and not by a program at all. The name of the field in the READ or INPUT statements of the application; a row is named in the database schema."

"Columns versus Fields

A field within a record is defined by the application program that reads it. A column in a row in a table is defined by the database schema. The datatypes in a column are always scalar."

Back to my comments...

Namespace is a term you adopted to bring into this discussion. It is not applicable. "Type" is an implementation term, or an OO term, but isn't part of a relational theory discussion. It can be in a glossary, however. Received on Sun Jun 06 2004 - 19:21:00 CEST

Original text of this message