Re: Codd's Information Principle
Date: Tue, 03 Nov 2009 22:41:33 -0400
Message-ID: <4af0e9df$0$5331$9a566e8b_at_news.aliant.net>
paul c wrote:
> Bob Badour wrote:
> ...
>
>> In logic, a relation is the extension of a predicate, and a predicate >> is the characteristic function of a relation. When talking about >> relational databases, sometimes one has to be clear about the internal >> predicate and the external predicate. At any given time, one will >> generally find fewer tuples in any relation variable than the internal >> predicate would allow because some parts of the predicate are not >> amenable to calculating or to expressing algebraically. >> ...
>
> Do you mean certain negations and disjunctions aren't amenable, such as
> the predicate "it is not the case that the temperature T in city C is T
> degrees"?
>
> (Thanks for the precision, still pondering the rest.)
What one can calculate or represent algebraically is much simpler: DeptNo refers to some Department in the database. EmpID refers to some Employee in the database. The referenced Employee--as described in the database--has to meet certain criteria like having a base salary and exempt status. If the data does not meet those criteria, the dbms will reject it.
In other words, the database does not describe the full predicate from which one could calculate a relation. How one goes from predicate to extension is not fully recorded. What is recorded is the extension of the predicate, as far as the dbms is concerned, and those parts of the predicate amenable to calculation or to algebraic representation.
The extension is a relation. The internal predicate is the set of constraints including data types, names, candidate keys, foreign keys etc. The full predicate is the conjunction of the internal predicate and some unknown or unrepresented factors.
When you derive a relation via some relational expression, the derived relation is the extension of some predicate. If the dbms represented entire predicates, it could calculate that predicate, but the dbms does not represent entire predicates. The dbms represents internal predicates, and it can derive an internal predicate for the expression.
The expression is an expression. The calculated value of the expression is an extension of some predicate. The predicate or characteristic function of that extension is partially unknown. Received on Wed Nov 04 2009 - 03:41:33 CET