Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
Database Servers
DB2InformixIngresMS SQLOraclePervasive.SQLPostgreSQLProgressSybase
Desktop Databases
FileMakerFoxProMS AccessParadox
General
General DB TopicsDatabase Theory
Related Topics
Java Development.NET DevelopmentVB DevelopmentMore Topics ...

Database Forum / General DB Topics / DB Theory / February 2008

Tip: Looking for answers? Try searching our database.

cdt glossary 0.1.3

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
mAsterdam - 15 Jan 2008 19:48 GMT
---------------
Glossary 0.1.3               "You keep using that word.
                              I do not  think it means
january 2008                  what you think it means"
---------------                       -- Inigo Montoya

Maintainer: mAsterdam

Preamble:
---------------
This glossary seeks to limit lengthy misunderstandings
in comp.database.theory. This newsgroup uses terms from
database modeling, design, implementation, operations,
change management, cost sharing, productivity research,
basic database research and mathematics.

People tend to assume that words mean what they are
accustomed to, and take for granted that the other
posters have about the same connotations.
They don't always.

It consists of signposts: Watch out! You may think the OP
means A but she might mean B. Alternative names and views
of the same concept are introduced when the danger
of mutual misunderstandings is appearant.
When context matters, it is provided. The glossary
is a highly biased list of problematic concepts.

Some words are particularly suspect:
data (!), database, object, normalisation.
Some just cause minor annoyances, the misunderstanding
is cleared and the discussion goes on:
domain, type, transaction, graph.

We don't know well-accepted, formal or comprehensive
definitions for everything. If you do have a useful
reference, please provide it.
If an informal description is all we have, so be it.

What the glossary is not:
---------------
It is not a FAQ for "all things database".

The glossary is not a dictionary or encyclopedia, such as
FOLDOC, Wikipedia, the Web Dictionary of Cybernetics and
Systems or a standardized vocabulary, ISO/IEC 2382.
Except the last one, these are freely available and easily found.

Specific links to serve the glossary's purpose are welcome,
of course.

Credits:
---------------
The glossary is built from contributions.
Contributions from within this group are
not credited, quotes are.
If you want your name stated just say so.

If you want to contribute, please read the
notes at the end first.
==============

[Address]
A value, used to identify a location.
What is to be found there is up to the rest of the system.

An address is a value used to locate ...
A reference is a value used to refer ...

The difference between *locate* and *refer* is crucial here.

[Change management]
Many organizations have a CM process in place in
order to make their evolution more manageable.
The organization of data within a database can
and will change with these changing circumstances.
A DBMS should provide facilities to support this.
Changing the underlying structure should be
possible without affecting what is already stored.
For example, you can add a column to a table without
losing what is already there.

Related adjectives: maintainable, agile, flexible, adaptive.

[Class]
A class is what provides a name and a place for
the abstract behavior of a set of objects
said to belong to the class. (Larry Wall, Apocalypse 12)

note:
Other definitions welcome, this goes for the rest as well,
of course.

Some use 'class' as having exposed data.
Be explicit about this if you do so.

[Codomain]
See function, math context.

[Data]
"Known facts that can be recorded and have implicit meaning."
-- Fundamentals of Database Systems, Elmasri & Navathe.

In "Is Semantic Information Meaningful Data?"
( http://www.philosophyofinformation.net/pdf/iimd.pdf )
Luciano Floridi discusses several meanings of 'information'
and 'data'.

There are people who think that data doesn't need
to mean anything.
Somehow the "data has no meaning" idea has caught on.
When people discuss data in the context of database,
they are usually talking of something with meaning.

1a. facts
1b. a record on a medium of some fact in the real world.
2. encoded information
3. a combination of sign and meaning

Warning: tongue in cheek definition
Information is what you want. Data is what you are given.

[Database]
"A logically coherent collection of related real-world data
assembled for a specific purpose." -- rephrased from
"Fundamentals of Database Systems", Elmasri & Navathe.

1. Deluxe filesystem
2. Shared databank (E. Codd)

[Data model]
"an abstract, self-contained, logical definition
of the objects, operators, and so forth, that
together constitute the abstract machine with
which users interact. The objects allow us to
model the structure of data. The operators allow
us to model its behavior."
(C. J. Date, An Introduction to Database Systems,
8e, 2003, p 15-16)

Data models are artificial constructs and may not
completely represent the true nature of information
and categorization. These categories already
exist, to some degree, in the way information
is handled outside the database.

Databases don't exist in vacuo; they're fed
(and consulted) by users who would have some system
of mental categorization even if they were shuffling
everything around with paper and pencil.

[Dimension]
1) A synonym for degree.
A relation R is of degree n if each tuple in R is an n-tuple.

2) An n-dimensional data structure, S, is one where each
element of S can be uniquely addressed as S[i1][i2]...[in]

Note: Because a table in a SQL-DBMS can be seen as a
conventional visualization of a mathematical relation
where the dimension is as in 1) above, and can also be
manipulated using a general purpose programming language
with the dimension using 2) above being equal to 2, there
can be confusion when using this term.

In this forum, use definition 1) freely and try to either
avoid 2) or be very clear, such as "2D array," when employing
definition 2).

[Domain]
1. Set of values.
   Sometimes used synonymously with type.

2. Domain of a function. See function, math context.

[Entity]
Thing of interest. (ISO)

"An entity is a 'thing' which can be distinctly identified.
A specific person, company, or event is an example of an entity."
("The Entity-Relationship Model-Toward a Unified View of Data",
1976, P. Chen., http://www2.cis.gsu.edu/dmcdonald/cis8140/Chen.pdf )

Edward Yourdon, who describes E/R in his work Modern Structured
Analysis, (Prentice Hall 1989) defines the concept of Entity
as having three properties:

1. Each representation of an entity can uniquely be identified
2. Each representation of an entity is playing an important role in
the system it lives in. (it has to have a reason to be there)
3. Each representation of an entity can be described by one or more
attributes (data-elements, like name, age, quantity)

This term is often used when doing conceptual data modeling.
When it is used with a particular product, technique, or technology,
such as XML, refer to the use of the term within that "namespace" using
an adjective, such as "XML entity" to distinguish it from the more
generic use of the term.

For subtleties (e.g. strong and weak entity) -
please search the web.

[Fact]
1. A piece of information about circumstances that exist or
events that have occurred
2. A concept whose truth can be proved.
3. A statement or assertion of verified information.
4. An event known to have happened or something known to have existed.

[Flat]
1) An object which by any definition could be considered as 2
dimensional might informally be called flat.

2) (controversial:)
The absence of hierarchy (multiple levels of details).

Note: Any use of the term flat tends to be seen as inflammatory by
someone, so take care to use it only when intending to inflame ;-)

[Function]
For now we have to live with different uses
of _function_ when talking about databases:
"The function of this function is to get the tuples from B
that are functionally dependant on A."

Three different contexts, but just about the same meaning:

1. General
   A purpose or use.

2. Math
   A binary mathematical relation over two sets D and C that
   associates with each element in D exactly one element in C.

   Set D is called the domain of the function, C its codomain.

3. Software
   A subroutine, procedure, or method.

In both the math and software context, there is a sense of
direction from domain (input) to codomain (output).
For most purposes, this intuitive picture is good enough:

             |------------|
 --- x ---- >| f-machine  |------ f(x) ----- >
             |------------|

Where x is input in the "f-machine" and f(x) is output.

notes:
     every operator is a function
     every function is a relation

[Graph]
Most regulars at cdt use "graph" unqualified to mean
"a collection of vertices and edges",
not in the sense of "plot", "chart" or "diagram".

Both meanings have nice articles at Wikipedia. If you intend
to use it in the second meaning, qualify it (e.g. graph of a
function), or better yet: don't - just say plot, chart,
or diagram.

You have been warned.

[Information]
0. data in context, data with meaning.
(This implies a definition of data as being without context,
without meaning - see data)
1. new data to the receptor.
2. available data, relevant to some decision or action.
Also see [Data].

[Information principle] (RM)
Date/Codd:
Chris Date in "EDGAR F. CODD 08/23/1923 – 04/18/2003 A TRIBUTE":
The entire information content of a relational database
is represented in one and only one way: namely, as
attribute values within tuples within relations.

[Key]
A value, used to identify something.
See also primary key, and (TODO:) foreign key.

[Meaning]
(meaning vs use)
Say we currently have a validated statement
about the exchange rate of some stock at some
recent time.

1. It does not matter to the meaning
where/how this statement is represented. We have it.
2. To the use of it it is important where/how
it is represented, and available to relevant actors.
3. Twenty years later the meaning of this statement
is still the same.
4. Twenty years later most of its usefulness will
probably have gone.

It may be --- in some instances -- not appropriate to make this
distinction. The meaning of data is always contextual.
The same bit of data means different things to different
structured viewpoints within the organization, for example,
and at different times (epochs). One grain of sand does not
form a beach. One bit of data itself has little meaning.
It is rather the collective of all data that possesses
greater notion of meaning.

[MultiValue, MV]
1. One name for the industry surrounding the Nelson-Pick data model.
In this context:
FILE: a real-world collective noun.
RECORD: a real-world object.
FIELD: is a real-world adjective.n.

2. A data field (or attribute) defined to permit a variable number of
values as a list (array).

[NULL]
Roughly: a special marker that can be put in a place
inside a data structure where an actual value is expected.
Precisely what that marker means varies and there are at
least three possibilities that are sometimes assumed:

(1) "Unknown value" This means that on the place of the marker
there should actually be a value but this value is not known
at the present time. For example, if a 'name' field in a tuple
describing a person is 'null' then this person will have a
name but we don't know it.

(2) "Absent value" This means that the property that is
described by the value in question is simply not defined.
For example, if the 'shipping-date' field in a tuple
describing an order is 'null' then the order was
not shipped yet.

(3) "Whatever SQL says it means" The exact meaning is hard to
summarize briefly, but is a mixture of the previous two
interpretations and involves a value with three truth-values
('true', 'false' and 'unknown').

Common usage:

- Confusion arises when people use terms like "null value",
a paradox to some, a contradictio in terminis to others.

- Confusion arises due to the fact that nullness (the absence
of value) is often represented on computers by the number 0.
(Obviously, 0 is not null.)

- In some contexts, 'null' and 'nil' mean the same thing;
in others, they do not.

In databases traditionally NULL is used and and opposed.
If you want to go into this, please first search for
mu NIL void NULL undef, 2VL 3VL.

"It isn't the things we don't know that give us trouble.
It's the things we know that ain't so." - Will Rogers

Note: Several better proposals have been made for this
entry. Unfortunately they all led to huge threads where
the maintainer couldn't decide which texts to quote here.

[Object]
1. Model of an entity, characterised by behaviour and state. (ISO)
2. Something intelligible or perceptible by the mind.

[Primary key] (SQL, not RM)
A key of a table, composed of one or more
named columns, uniquely identifies a row in a table.
A table can have only one primary key.

[Pointer]
See address(*).

[Reference]
A reference is a value, used to refer to something.
A program can get the current value of that something
(without ever knowing where it resides) by dereferencing,
even if that something has been relocated between
the time of first reference and the dereferencing.

[References, pointers, keys]
While references may be implemented as pointers,
the programmer prefers not to know (if he prefers
to know he should have used pointers).

In some programming languages one can declare
variables of a pointer type - these variables
can have pointer values.
m.m. (mutatis mutandis) reference.

Two operations are supported:
referencing and dereferencing.
On references only these operations are possible.
On pointers other operations are possible.

The dereferencing operation takes a pointer
*value* and returns a pointer *variable* of
the type the pointer refers to.
The referencing operation is the inverse operation.
It takes a *variable* and returns a pointer *value*.
m.m. reference.

In Java the term pointer was avoided
because pointer is often used to mean
physical memory addresses.

Foreign keys are not links.
Links point, foreign keys constrain.

[Relation]
1. A relation is a subset of the set of ordered
tuples (A1, A2, ... Am) formed by the Cartesian
cross-product of sets S1 x ... x Sm where each
An is an element of Sn.

Note: A set, Sx, is not restricted from participating
as a member of a relation more than once.
Distinction between identical sets in math is possible
through ordinal numbering such that given sets Sx and Sy,
x <> y AND Sx is a subset of Sy and Sy is a subset of Sx;
in relational theory, in contrast, it is by attribute name.

2. ...

[Table/Column/Row] (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.

[Theory]
"Database management is a practical matter.
Any so-called theory of database management that
doesn't facilitate the practice would be nothing
but self-indulgent conjecture.
Theorists (should) want to know about what goes
on in practice just as much as practitioners should
want to know what theory has to say."
    -- Roy Hann, cdt dec 11, 2007

[Type]
" TYPES are sets of things we can talk about;
RELATIONS are (true) statements bout those things."
-- Chris Date, Feb 2004

1. Set of possible values (i.e. IT equivalent of math 'domain').
2. Set of possible values plus
all possible operators defined on them. (i.e. synonymous to Class
if 'class' is meant to include a possible set of values).

This is highly misunderstanding-prone area, so please
take some care to be specific.

[Type - 3rdM]
In The Third Manifesto a type is:
- a pattern (possible representation)
- a domain for some operators (THE_xxx operators)
- a codomain for some operators (the "constructors")

There is a requirement for the 'domain' and the 'codomain'
to be the same set.

[Transaction]
A set of database operations constituting a logical unit of work.
Most DBMS include the ability to rollback complete transactions
when an error is detected.

=============

[[Issues]]

RELATIONs vs. RELATIONSHIPs
Can namespaces help to make some distance? In this case:
RM.RELATION vs. ER.RELATIONSHIP

represented vs. described

RELATION(SHIP)s vs RELATION(SHIP)s SET

fact vs. thing (ENTITY).

First Order Logic vs. Higher Order Logic.

What, if there is, is the equivalent of an ENTITY(SET) in the RM ?

Does it make sense to talk about attributes of a fact ?
How are those different from ATTRIBUTES of an ENTITY ?
Traditionally there can be Multivalued ATTRIBUTES
in ER, RM has atomic ATTRIBUTES.
So: RM.ATTRIBUTE and ER.ATTRIBUTE ?

In ER modeling, a RELATIONSHIP is defined over ENTITIES:
"A relationship is an association between several entities."
In RM, a RELATION is defined over VALUEs.
What is the difference between ENTITIES and VALUEs ?

=============

[[ToDo]]:

(please feel invited to write entries for these)

Application
Architecture
Attribute
Concept
Dynamic vs. static
Hierarchy
Identity
Normalize
Location
Persistence
Operator
ORM
Orthogonal
Relation vs. Relationship
Scalar
Schema

Feel free to post suggestions to add or remove.

How to contribute
-----------------

Content:
Please keep in mind that the focus of the glossary
is on /real/ c.d.t. misunderstandings.

Some discussions, after many sidetracks, are reducible
to /just/ different meanings and connotations of a word.
The differences could be resolved with just:
"Ah, now I see what you meant by that; next time I'll
be a little more careful in my choice of words".
Such words are nice glossary candidates.

Examples from the past: Address, Domain.

Sometimes, though, It's not just different connotation
or meaning which leads to the long winding talks
without communication. These differences go down to
deeply held strong opinions.
Some differences in the use of words run much deeper than
we can hope to clear up with just some definitions and
warning signposts. They might help a little anyway, so
these nastier entries are welcome, to.

Examples from the past: NULL, Flat.

Form:
Please post your proposal as copy & pastable text,
with a subject line like this:

subject: cdt glossary [Identity]

Please also check spelling and grammar mistaeks.

Thank you for contributing.

----
Milestones? For the glossary I prefer inch-pebbles.
rpost - 01 Feb 2008 21:23 GMT
>---------------
>Glossary 0.1.3               "You keep using that word.
[quoted text clipped - 3 lines]
>
>Maintainer: mAsterdam

[...]

I like it.
Some remarks.

>[Address]
>A value, used to identify a location.
>What is to be found there is up to the rest of the system.

You don't define "value" yet.

>An address is a value used to locate ...
>A reference is a value used to refer ...
>
>The difference between *locate* and *refer* is crucial here.

Yes, but perhaps it should be explained?
Attempt: an address is a position in some address space:
unlike references, on which the only meaningful operations are
comparison for equality and dereferencing, operations such as
ordering and subtraction are meaningful on addresses.

[...]

>[Data]
>"Known facts that can be recorded and have implicit meaning."
>-- Fundamentals of Database Systems, Elmasri & Navathe.

Not so good: the same data can have different interpretations.

[...]

>Warning: tongue in cheek definition
>Information is what you want. Data is what you are given.

Makes sense.  What is more, this is the literal meaning of "data".

>[Entity]
and
>[Graph]

(I like what you have here.)

>[Information]
>0. data in context, data with meaning.
[quoted text clipped - 3 lines]
>2. available data, relevant to some decision or action.
>Also see [Data].

I don't think this correct: information is not data with meaning,
it is meaning of data.  Attempt: a bit of knowledge about the world,
being transmitted, that will update the total knowledge about the
world the receiver already has.

>[Information principle] (RM)
>Date/Codd:
>Chris Date in "EDGAR F. CODD 08/23/1923 – 04/18/2003 A TRIBUTE":
>The entire information content of a relational database
>is represented in one and only one way: namely, as
>attribute values within tuples within relations.

I understand the need for principles to be short,
but without context this borders on the trivial.

>[Key]
>A value, used to identify something.
>See also primary key, and (TODO:) foreign key.

Not a value, but an attribute or set of attributes.
(Or 'column(s)' if you prefer.)

The concept of key does not apply to individual objects or facts,
but to classes of them; not to rows, but to tables.

>[NULL]
>Roughly: a special marker that can be put in a place
>inside a data structure where an actual value is expected.

Isn't this *exactly* what NULL is?

>Precisely what that marker means varies and there are at
>least three possibilities that are sometimes assumed:

[...]

Yes, but strictly speaking, none of that is part of what NULL is.

>[Object]
>1. Model of an entity, characterised by behaviour and state. (ISO)

That's pretty lame if you ask me.  

>[Primary key] (SQL, not RM)
>A key of a table, composed of one or more
>named columns, uniquely identifies a row in a table.

Only if you mean: such that every row's values for its key columns
uniquely identify that row in the table.

>A table can have only one primary key.

In other words: one such key, picked by the schema designer.
(How?  I don't think there is a single universal criterion.)

>[Pointer]
>See address(*).

Yes.

>[Reference]
>A reference is a value, used to refer to something.
>A program can get the current value of that something
>(without ever knowing where it resides) by dereferencing,
>even if that something has been relocated between
>the time of first reference and the dereferencing.

I think you're right.

>[Relation]
[...]
>[Table/Column/Row] (SQL-DBMS)
[...]

A frequent distinction between relations with attributes and tuples
on one hand and tables with columns and rows on the other is that
rows and columns are usually assumed to be ordered, while attributes
and tuples are not.  Another is that tables are considered to be
some visual or textual representation of relations.  But neither
of those distinctions are universal in this newsgroup.

>[Theory]
>"Database management is a practical matter.
[quoted text clipped - 5 lines]
>want to know what theory has to say."
>     -- Roy Hann, cdt dec 11, 2007

All this quote tells us is that the opposition of theory and practice
is easily misunderstood to mean that theory and practice contradict
each other, are at odds with each other.  (Compare: design and evolution.)

>[Type]
>" TYPES are sets of things we can talk about;
>RELATIONS are (true) statements bout those things."
>-- Chris Date, Feb 2004

This is just wrong.  A type is *not* a set.  It is a description of
what certain individuals look like.  Often, types and sets are used
together, e.g. we often speak of the set of all individuals of a
particular type, or we assume that all members of a sets
have the same type.  But they are complementary notions.

>1. Set of possible values (i.e. IT equivalent of math 'domain').
>2. Set of possible values plus
>all possible operators defined on them. (i.e. synonymous to Class
>if 'class' is meant to include a possible set of values).

In the object-oriented world, a type is not a set; a class may be.
Often, type and class are both used, with connected, but different
meanings (e.g. in .NET, every class is of a certain type, but
not every type is the type of a class).

>[Type - 3rdM]
>In The Third Manifesto a type is:
>- a pattern (possible representation)
>- a domain for some operators (THE_xxx operators)
>- a codomain for some operators (the "constructors")

Does the Third Manifesto use the term 'class'?

>[Transaction]
>A set of database operations constituting a logical unit of work.

Rather: an explicit construct that imposes the treatment of a sequence
of database operations as a single unit of work.

>Most DBMS include the ability to rollback complete transactions
>when an error is detected.

>[[Issues]]
>
>RELATIONs vs. RELATIONSHIPs
>Can namespaces help to make some distance? In this case:
>RM.RELATION vs. ER.RELATIONSHIP

Good idea.

Signature

Reinier

mAsterdam - 02 Feb 2008 17:41 GMT
>> [Address]
>> A value, used to identify a location.
>> What is to be found there is up to the rest of the system.
>
> You don't define "value" yet.

I'll take this as a suggestion to add [Value] to the to-do list.
"Value" can indeed be problematic as we see whith NULL and Key.

>> An address is a value used to locate ...
>> A reference is a value used to refer ...
[quoted text clipped - 4 lines]
> Attempt: an address is a position in some address space:
> unlike references, on which the only meaningful operations are
s/meaningful //
> comparison for equality and dereferencing, operations such as
> ordering and subtraction are meaningful on addresses.
s/meaningful/possible/

Ok?

> [...]
>
[quoted text clipped - 3 lines]
>
> Not so good: the same data can have different interpretations.

Only when you adhere to the idea that data may have no meaning.
As explained under [Information], this idea has caught on /outside/
the database realm.

> [...]
>
>> Warning: tongue in cheek definition
>> Information is what you want. Data is what you are given.
>
> Makes sense.  What is more, this is the literal meaning of "data".

:-) , but I am not going to explain the joke in the glossary.

...

>> [Information]
>> 0. data in context, data with meaning.
[quoted text clipped - 6 lines]
> I don't think this correct: information is not data with meaning,
> it is meaning of data.  

That is a new one to me. Do you have a soure?

> Attempt: a bit of knowledge about the world,
> being transmitted, that will update the total knowledge about the
> world the receiver already has.

Media, Sign, Symbol, Data, Information, News, Meme, Knowledge, Wisdom;
borderlines between these shift even within discussions.
Is it feasible or even sensible to fixate these lines (yet)?

A short explanation of how you use terms in this area
will be necessary to prevent or end misunderstandings anyway.

I like these communication layers (bottom to top):
Fatic, Syntactic, Semantic and Pragmatic -
but I mostly take care to explain when using
them, sometimes even dropping the term itself.

>> [Information principle] (RM)
>> Date/Codd:
[quoted text clipped - 12 lines]
> Not a value, but an attribute or set of attributes.
> (Or 'column(s)' if you prefer.)

Not just a value, but not just a set of attributes either.
The key as a set of attributes forms a constraint on which values to
use for identification.

Improvements welcome.

> The concept of key does not apply to individual objects or facts,
> but to classes of them; not to rows, but to tables.
[quoted text clipped - 4 lines]
>
> Isn't this *exactly* what NULL is?

Arrgggh! (just search for 'NULL' in the archives for why).
Any objections to s/Roughly: a/A/    ?

>> Precisely what that marker means varies and there are at
>> least three possibilities that are sometimes assumed:
>
> [...]
>
> Yes, but strictly speaking, none of that is part of what NULL is.

Strictness is only an issue for the glossary in so far as it helps
preventing misunderstandings.
Believe me, there were misunderstandings in this area.

>> [Object]
>> 1. Model of an entity, characterised by behaviour and state. (ISO)
>
> That's pretty lame if you ask me.  

Good. Yes, I'm asking you :-)
Coming up with an agreeable definition of 'Object' in cdt
will earn you real beer (in Amsterdam).

>> [Primary key] (SQL, not RM)
>> A key of a table, composed of one or more
>> named columns, uniquely identifies a row in a table.
>
> Only if you mean: such that every row's values for its key columns
> uniquely identify that row in the table.

Yes. Now how to rephrase this with only adding
the necessary complexity?

>> A table can have only one primary key.
>
> In other words: one such key, picked by the schema designer.
> (How?  I don't think there is a single universal criterion.)

It is a trade-off. I like the list Bob Badour uses,
e.g. in thread "Separate PK in Jxn Tbl?" he wrote:
    > The design criteria for keys are:
    > uniqueness, irreducibility, simplicity, stability and familiarity
    > (in no particular order.)

...
>> [Table/Column/Row] (SQL-DBMS)
> [...]
[quoted text clipped - 3 lines]
> rows and columns are usually assumed to be ordered, while attributes
> and tuples are not.

Columns may be ordered or named.

There are corresponding formalisms: the unnamed (why not 'ordered'?
I really need to read the Alice book) perspective and the named
perspective. I just learned that.

> Another is that tables are considered to be
> some visual or textual representation of relations.  But neither
> of those distinctions are universal in this newsgroup.

Yes. The qualification (SQL-DBMS) is explicit nevertheless.

>> [Theory]
>> "Database management is a practical matter.
[quoted text clipped - 16 lines]
>
> This is just wrong.  

It is meant as an educational step, not a formal definition.
He really said it. I was there.
I even asked him if it was ok to quote it.

If you don't agree you'll have to ask him.

> A type is *not* a set.

http://en.wikipedia.org/wiki/Type_system says
"A type indicates a set of values that have the same sort of generic
meaning or intended purpose"

indicate, is .. It depends on what your definition of is is.
Why am I suddenly thinking of cigars?

> It is a description of
> what certain individuals look like.  Often, types and sets are used
[quoted text clipped - 8 lines]
>
> In the object-oriented world, a type is not a set; a class may be.

Do you have a reference? The object-oriented 'world' is quite
diverse, often vague, and sometimes off-beat in its use of terms
(The scarequotes are because I see object orientation as just a
collection of ways to organize program-code, not a paradigm,
let alone a world).

> Often, type and class are both used, with connected, but different
> meanings (e.g. in .NET, every class is of a certain type, but
[quoted text clipped - 7 lines]
>
> Does the Third Manifesto use the term 'class'?

First edition, P 15:
In discussing "What concept is it in the relational world that is the
counterpart to the concept /object class/ in the object world",
(yes, the same megalomania here, twice) they argue that the answer to
this question should be "domain".

>> [Transaction]
>> A set of database operations constituting a logical unit of work.
>
> Rather: an explicit construct that imposes the treatment of a sequence
> of database operations as a single unit of work.

For the sake of consistency, we want a logical unit of work to
be carried out or not.

Wether the unit is implicit or explicit matters in the
ease of its discovery, nothing more.

A sequence implies order of the elements and would
require serial execution. Wether the elements are
executed serially or in parallel is not relevant.

>> Most DBMS include the ability to rollback complete transactions
>> when an error is detected.
[quoted text clipped - 6 lines]
>
> Good idea.

Thank you, and thank you for contributing.

Bonus exercise: Pinpoint the fatic, syntactic, semantic
and pragmatic aspects of the content of these instructions.

<unsnip>
>> How to contribute
>> -----------------
[quoted text clipped - 32 lines]
>>
>> Thank you for contributing.
</unsnip>

Fatics:     "How to contribute" and "Thank you for contributing"
Syntax:     Form: etc...
Praxis:     Please keep in mind ...
Semantics:  The remainder.
rpost - 16 Feb 2008 22:45 GMT
[...]

>> Attempt: an address is a position in some address space:
>> unlike references, on which the only meaningful operations are
[quoted text clipped - 4 lines]
>
>Ok?

Yes, probably better.

>>> [Data]
>>> "Known facts that can be recorded and have implicit meaning."
[quoted text clipped - 3 lines]
>
>Only when you adhere to the idea that data may have no meaning.

No.

>> [...]
>>
[quoted text clipped - 4 lines]
>
>:-) , but I am not going to explain the joke in the glossary.

Well, of course the meaning of "data" could have floated
farther away from its origins than it has.

>>> [Information]
>>> 0. data in context, data with meaning.
[quoted text clipped - 8 lines]
>
>That is a new one to me. Do you have a soure?

Oxford English Dictionary:

information (noun)
  1 facts or knowledge provided or learned.
  2 what is conveyed or represented by a particular sequence of symbols,
    impulses, etc.

Wikipedia:

 Information is the state of a system of interest.
 Message is the information materialized.

I'd say "message" is "data", but I was trying to provide a more
general description than "state of a system of interest".
The OED does it better.

>I like these communication layers (bottom to top):
>Fatic, Syntactic, Semantic and Pragmatic -
>but I mostly take care to explain when using
>them, sometimes even dropping the term itself.

I'd never heard of fatic, but you explained it well (on Apr 7, 2006).

>>> [Key]
>>> A value, used to identify something.
>>> See also primary key, and (TODO:) foreign key.

[...]

>Improvements welcome.

"One or more relation attributes that form the left hand side
of a functional dependency, i.e. such that all different relation
tuples differ in the value of at least one of these attributes." ?

>>> [NULL]
>>> Roughly: a special marker that can be put in a place
[quoted text clipped - 4 lines]
>Arrgggh! (just search for 'NULL' in the archives for why).
>Any objections to s/Roughly: a/A/    ?

None at all.

[...]

>Coming up with an agreeable definition of 'Object' in cdt
>will earn you real beer (in Amsterdam).

I'll think about it.

>>> [Primary key] (SQL, not RM)
>>> A key of a table, composed of one or more
[quoted text clipped - 5 lines]
>Yes. Now how to rephrase this with only adding
>the necessary complexity?

I don't think it can be done.

>>> A table can have only one primary key.
>>
[quoted text clipped - 6 lines]
>    > uniqueness, irreducibility, simplicity, stability and familiarity
>    > (in no particular order.)

Looks good.  Add it to the lemma then?  You also have stuff about NULL ...

[...]

>Columns may be ordered or named.
>
>There are corresponding formalisms: the unnamed (why not 'ordered'?
>I really need to read the Alice book) perspective and the named
>perspective. I just learned that.

I think it's because the order is essentially arbitrary; the ordering
is never used.  No greater than or arithmetic on column indices.

>>> [Type]
>>> " TYPES are sets of things we can talk about;
>>> RELATIONS are (true) statements bout those things."
>>> -- Chris Date, Feb 2004
>>
>> This is just wrong.  
[...]
>> A type is *not* a set.
>
>http://en.wikipedia.org/wiki/Type_system says
>"A type indicates a set of values that have the same sort of generic
>meaning or intended purpose"

There's a big difference between "indicates" and "is" here.
The absence of a comma after "values" is important as well.

But I have to withdraw what I wrote.  I was thinking of set theory,
in which sets are entirely defined by what their elements are.
In practice, when we talk about sets such as the natural numbers or,
say, Dates, we're really talking about types.  So if anything's wrong,
I should blame set theory, rather than Date.

>> Does the Third Manifesto use the term 'class'?
>
[quoted text clipped - 3 lines]
>(yes, the same megalomania here, twice) they argue that the answer to
>this question should be "domain".

Nice!  I agree.  (And I don't object to the term "world" here.)

>>> [Transaction]
>>> A set of database operations constituting a logical unit of work.

[...]

OK, as a most general definition this is good, but more detail
is perhaps in order.

Signature

Reinier

mAsterdam - 17 Feb 2008 19:40 GMT
[snip address]

Thank you for contributing.
I snipped most text (agreement/taken for the glossary).

[Data]
>>>> "Known facts that can be recorded and have implicit meaning."
>>>> -- Fundamentals of Database Systems, Elmasri & Navathe.
>>> Not so good: the same data can have different interpretations.
>> Only when you adhere to the idea that data may have no meaning.
>
> No.

Maybe you found a better definition or description.
If you did, please share it.

[snip Information, Key, NULL]

> I'd never heard of fatic, but you explained it well (on Apr 7, 2006).
Thank you.

[Object]
>> Coming up with an agreeable definition of 'Object' in cdt
>> will earn you real beer (in Amsterdam).
> I'll think about it.

I'll lower the bar. A visible, discussed attempt
is good enough. The seriousness has no effect on the prize ;-)

[snip Primary key, Type, Class, Transaction]
mAsterdam - 17 Feb 2008 22:50 GMT
> You don't define "value" yet.

How about this:

    [Constant] See [Variable].

    [Value]
    "A value is unique, eternal, immutable, and is not
    fixed in time or space (it has no address)."
    - Darren Duncan, Language::MuldisD::Basics version 0.14.1.
http://search.cpan.org/~duncand/Language-MuldisD-0.21.0/lib/Language/MuldisD/Bas
ics.pod


    [Variable]
    "A variable is fixed in time and space ...¹; it holds an
    appearance of a value; it is neither unique nor eternal
    nor immutable in the general case.
    A constant is a variable which is defined to not mutate
    after initially being set."
    - Darren Duncan, for source see [Value].
    ¹ ... says: "(it does have an address)", which is
    specific to DD's purpose.
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.