Re: Distributed foreign keys (was Re: Category Types)

From: Paul Vernon <paul.vernon_at_ukk.ibmm.comm>
Date: Tue, 24 Jun 2003 11:15:48 +0100
Message-ID: <bd98h4$13v8$1_at_gazette.almaden.ibm.com>


"Bob Badour" <bbadour_at_golden.net> wrote in message news:tQIJa.389$8%1.57207848_at_mantis.golden.net...
> "Paul Vernon" <paul.vernon_at_ukk.ibmm.comm> wrote in message
> news:bd7bdg$t7g$1_at_gazette.almaden.ibm.com...
> > "Bob Badour" <bbadour_at_golden.net> wrote in message
> > news:kFFJa.361$ez1.56242211_at_mantis.golden.net...
> > [snip]
> > > This is true. However, the way one gets the data into the database is
> very
> > > different. The triple-relation approach requires one to explicitly state
> > > which of the three relations the referenced value belongs in when one
> first
> > > inserts the value. The view approach requires explicit insertion for two
> of
> > > the three relations and prohibits explicit insertion in the third. Or am
> I
> > > missing something?
> >
> > I don't like view updating...

>

> That should make you prefer the symmetric three-relation approach even more
> since it requires no views and avoids any question of updating views.

I avoid any question of view updating without recourse to preferring particular database schemas.

I prefer the closed world approach where we do not have to state what we have no knowledge about (I mean, where would it all end?)

[snip]
> > I don't like view updating...
> >
> > .. and the fact that you can try to insert contradictory data (or
> 'duplicate'
> > data - whatever that might mean in the terms of the relational model) into
> a
> > database is but one reason why I don't like view updating AT ALL.
>
> What, then, do you propose for logical independence during updates?

Big question, but why restrict it to 'during updates'? In fact do you mean anything in particular by "logical independence during updates".

> One can
> always safely attempt to insert contradictory data,

Assuming one can present such contradictory data to the DBMS in the first place. In the case of 'duplicate data', I suggest it is simply not possible to try to insert 'duplicate data' into a database.

> and to ensure safety,
> the integrity function should always make such attempts fail.

I prefer to know before hand (i.e. statically) if my updates attempts will fail. Thowing a plausable update at the database and hoping it will stick is not a great approach.

Regards
Paul Vernon
Business Intelligence, IBM Global Services Received on Tue Jun 24 2003 - 12:15:48 CEST

Original text of this message