|
Posted by Ed Murphy on 11/23/06 09:02
--CELKO-- wrote:
> O)kay. You have SERIOUS conceptual problems with SQL and RDBMS. The
> reason that SQL has no BOOLEAN data types is one of those "mathematical
> foundations" things that has to do with NULLs, 3-valued logic and
> logic.
This is not quite true. SQL in general has an optional BOOLEAN data
type; MSSQL in particular does not support the option.
http://troels.arvin.dk/db/rdbms/#data_types-boolean
Also, most of your message boils down to "you shouldn't store computed
data that can become outdated", but starting it out with the
above-quoted material gives the impression of "you shouldn't use
flags", which is untrue.
> Fields have mean because of the program that reads them; columns have
> a domain, a value and constraints in the schema -- totally separate
> from any program that uses them -- which give them meaning.
Aha, here's the answer to that "what's the difference between a field
and a column?" question that was raised earlier. No wonder I felt
confused - I'm familiar with program-independent constraints enforced
by the database, but did not strictly associate "column" with their
existence and "field" with their non-existence. (Spreadsheets, in
particular, play havoc with this.)
The intended difference between "row" and "record" is similarly
non-obvious to the lay reader, though I think I've read about it
before: namely, records have an inherent order, while rows have
no guaranteed order unless you specify one. (Spreadsheets play
havoc with this, too. So do certain indexes, especially clustering
indexes, which novices can easily mistake for an inherent order.)
Navigation:
[Reply to this message]
|