Re: Database Design Question - any suggestion?
Date: Sat, 11 Dec 2004 13:30:16 GMT
Message-ID: <EDCud.177261$V41.162231_at_attbi_s52>
Celko:
An interesting use of artificial confusion:
"-CELKO-" <jcelko212_at_earthlink.net> wrote in message
news:1102628203.603305.256220_at_f14g2000cwb.googlegroups.com...
[stuff snipped]
> 3) The problem with trusting just the front end to do the checking is
>
> a) All current programmers know **and agree upon** ALL the business
> rules. That is, Peter reads "employees must be 18 years of age or
> older" as (age > 18) and Paul reads it as (age >= 18) and you're in
> trouble.
A couple of points here:
> b) All future programmers know **and agree upon** ALL the business
> rules. Exactly how you arrange to hire these perfect programmers, I
> do not know.
I'd hate to rely on perfection within a design of accounting software. Most of these types of applications should be designed with "imperfection" in mind.
> c) When there is a change ("The legal age for alcohol is now 21, so
> change the hiring rules') , you have a way to propagate it thru ALL the
> application programs. And can produce an audit to prove that you
> changed those front ends, even the ones that were written by another
> shop.
> I have a three-part series at www.dbazine.com on this topic. My
> arguement is for doing it both places. Simple errors trapping in the
> front end can get a lot of the typos before they get to the backend.
> Check digits and other things are easy to verify in applications code
> and get an immediate correction. The human being is still the slowest
> thing in the process unless you can type one word per nanosecond :)
Bill Received on Sat Dec 11 2004 - 14:30:16 CET
