Re: Separate PK in Jxn Tbl?

From: Brian Selzer <brian_at_selzer-software.com>
Date: Fri, 01 Feb 2008 08:30:12 GMT
Message-ID: <oMAoj.5076$5K1.904_at_newssvr12.news.prodigy.net>


"Roy Hann" <specially_at_processed.almost.meat> wrote in message news:1IKdncuZltPXVj_anZ2dneKdnZydnZ2d_at_pipex.net...
> "Brian Selzer" <brian_at_selzer-software.com> wrote in message
> news:p9uoj.5279$0o7.473_at_newssvr13.news.prodigy.net...
>>
>> Constraints should always be checked by the DBMS, not by applications.
>
> I agree very heartily with the first part of this statement, for the
> reasons you give below. I disagree with the second part (as stated).
> There is no reason why applications shouldn't also test what constraints
> they can. The problem is that they should not have hand-coded
> re-implementations of the constraints because those will get out of sync
> with the database over time. What would be very nice is if one day it were
> possible for applications to download the relevant constraints at
> run-time, the way they presently download other metda-data.
>

That's a good point. I should have said instead, "Constraints should always be /enforced/ by the DBMS, not by applications." It is often a good thing for an application to do some checking because it can reduce the number of round-trips, and maybe even some transaction rollbacks.

>> If you have two separate applications that manipulate the same table, and
>> one enforces one constraint while another enforces another, then all you
>> need to do to bypass one constraint is to use the other application!
>> What, then, is the point of even having the constraint?
>
> Roy
>
Received on Fri Feb 01 2008 - 09:30:12 CET

Original text of this message