Re: Codd's Information Principle
Date: Wed, 4 Nov 2009 13:25:53 -0800 (PST)
On Nov 4, 4:41 am, Bob Badour <bbad..._at_pei.sympatico.ca> wrote:
> In general, the database describes part of the predicate, called the
> internal predicate. The actual predicate (external predicate) has
> additional factors not described in the database except for the
> extension of the predicate itself: the relation.
Personally I wouldn't talk about internal and external predicates. I'd instead go with finite model theory terminology. There we have theories, encoded in the RM as a finite set of explicit propositions (the extension of the database) plus a bunch of first order predicate logic which links together, constrains, and takes precedence to the propositional extension (the so called intension of the database) in case inconsistency in the encoded theory was about to arise somehow. And second, we have real life models those theories try to capture.
In that framework it's easy to see that just about any realistic database could have multiple real life models. And that including more identifying features, being stricter with the semantic interpretation of the theory wrt its models, and modelling constraints which are actually valid because of physical, societal, etc. reasons within the theory cause the theory to pick out fewer and fewer real life models. Ideally, we'd like to make the theory strict enough to necessarily pick out just one plausible model; that can actually happen when e.g. every entity we handle has a natural key, and our constraints formally encode that fact within our theory. This is essentially the reason why natural keys hold such a prominent place in the theory of consistency and normalization: they are perhaps the most important mechanism which translates real world semantics into symbolically manipulable constraints within our logical model, and so helps guarantee as close to 1-1 correspondence between encoded propositions and real world entities as possible.
At the same time, we can independently analyse the theory encapsulated within the database as an entity separate from the real world models it might have. This is then where normalization and like concepts come in. They rely on the semantic correspondence encoded by e.g. natural keys and the live facts which give rise to cardinality constraints, inclusion dependencies, and whatnot. But once that source data is formalized, the logical mechanism from there on in independent. That then is mostly what we think about when we mention the Relational Model.
-- SampoReceived on Wed Nov 04 2009 - 22:25:53 CET