View Single Post
  #208  
Old February 1st, 2008, 08:30 AM posted to comp.databases.ms-access,comp.databases.theory,microsoft.public.access,microsoft.public.access.tablesdbdesign,microsoft.public.sqlserver
Brian Selzer
external usenet poster
 
Posts: 32
Default Separate PK in Jxn Tbl?


"Roy Hann" wrote in message
...
"Brian Selzer" wrote in message
news

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