Bill Dika wrote:
> Thanks Nikola.
>
> Your explanation of layering was helpful. The consensus from you experts
> seems to be that I should keep the business rules and logic out of the
> database, so I will do that.
>
Hi,
Just a small note here. I've seen projects where exactly everything is
put into the application, including validations of data and such. The db
was basically a bit bucket with indexes. That turned out to be a
complete disaster. It's much harder to keep track of all validations in
the java/whatever code than letting the db do this for you.
It's very easy to add constraints, foreign keys and such to a db and
that should always be done. There are no excuse what so ever not to.
Everything you can validate (via CHECK(), fk, trigger, whatever) do it.
A db with errors is a nightmare to patch. It's much better to have the
application tell you it won't do an operation and you do a fix rather
than the application inserting errors silently.
Ok, this was the introductionary chapter of any db book. Sorry about
that. ;-)
Best regards,
Marcus