Re: Which normal form is this violating?
Date: 12 May 2002 16:50:33 +0200
In article <ablrei$a8e$1_at_helle.btinternet.com>,
Paul Vernon <paul_vernon_at_ukk.ibmm.comm> wrote:
>> The reason that you had to compare the two tables is because you didn't
>> know whether they represented the same predicate or not. Keep in mind
>> that the database cannot in general know if two tables are logically the
>> same or not.
>So, if I have two tables with the same predicate (which, if I followed the
>thread correctly we *are* allowed - albeit in contradiction to Date's
>principle of Orthogonal Design),
That principle talks about the design of your base tables, not derived tables.
>But then again, what about a view that was a union of the two tables? Would
>I receive a run time error if the tables ever came to state contradictory
>facts, or would the view creation have a side effect of constraining the
>tables to not get in such a state?
If you cannot define extra constraint upon the view then it will not cause contradictions that were not already contradictions before.
>All sort of interesting in data integration scenarios and makes me wonder
>about what role 'names' have in the Model.
Their role is to give things a name. :-)
> I.e. I question Date's statement that "encoding meaning into names - of
>relvars or anything else - violates the Information Principle". My answer
>being, well what is in the system catalog if not names of relvars,
>attributes and types?
The point is that the catalog consists of tables that contain the information about these names and what they are associated with. So you see that this is exactly in the place where the Inf. Princ. says it should be. What would be wrong is to oncode this information in the names themselves.
- Jan Hidders