Re: In an RDBMS, what does "Data" mean?

From: Paul <paul_at_test.com>
Date: Tue, 08 Jun 2004 13:38:36 +0100
Message-ID: <Zqixc.12382$NK4.1717725_at_stones.force9.net>


Laconic2 wrote:
> In particular, entity integrity and referential integrity constraints can
> be used to "prove" that, in certain cases,
> "SELECT ALL" and "SELECT DISTINCT" will yield identical results. This can
> result in generating a faster strategy.

OK, but uniqueness constraints and referential integrity constraints are a very small subset of all possible constraints. They're quite simple for a DBMS to understand and use. What about ones that are even a little bit more complicated? I guess the constraints mentioned above don't require knowledge of particular types or operators (other than equality), but ones like "Age < 60" do.

In general a constraint could be any expresson in first order logic. And then to complicate matters further you've got non-relational operators (like "<") added in.

> The information that a given snapshot happens to conform to a constraint
> could be made available by examining the snapshot, rather than examining the
> constraint, but the cost of obtaining that knowledge would be prohibitive.

Here's a thought: consider a database with the constraints "Age < 65" and "Age < 60". Should there be something to say this isn't normalised in some sense? I know that normalization and eliminating redundancy are different things but maybe there should be some kind of "constraint normalization"?

Paul. Received on Tue Jun 08 2004 - 14:38:36 CEST

Original text of this message