Re: Which normal form is this violating?

From: Jan.Hidders <hidders_at_uia.ua.ac.be>
Date: Mon, 6 May 2002 19:08:21 +0200
Message-ID: <Pine.GSO.4.40.0205061824330.17626-100000_at_hcoss.uia.ac.be>


On Mon, 6 May 2002, Daniel Guntermann wrote:
> Jan Hidders wrote:
> >
> > It is indeed true that a schema should not describe two tables
> > that are logically the same, i.e., represent the same predicate,
> > because then one table would be redundant.
>
> This statement seems to imply any horizontal partitioning,
> snapshots, materialized views, or several other types of conventions
> used in databases are now invalidated.

If you partition a table horizontally you get tables that represent different predicates (if the original predicate was P(x) then the new predicates are "P(x) AND x.city = 'Paris'" and "P(x) AND x.city = 'New-York'" et cetera). If you take a snapshot you also get a predicate different from P(x) : "P(x) holds at moment t". So you see that it is not so obvious that this will give you (in a useful way) two tables that represent exactly the same predicate.

> Also, it seems that most textbooks I've come across, stress the fact
> that the relational model does a great deal to "reduce" redundancy
> (Maybe it says differently in Celko's book). They have never
> claimed to say that redundany is entirely eliminated, nor do they
> say that this is always desirable.

Indeed. But what would be the point of having two tables in your schema that are always exactly the same?

  • Jan Hidders
Received on Mon May 06 2002 - 19:08:21 CEST

Original text of this message