Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Looking for a way to implement SQL-92 Domain

Re: Looking for a way to implement SQL-92 Domain

From: Paul Brewer <paul_at_paul.brewers.org.uk>
Date: Wed, 26 Mar 2003 21:46:32 -0000
Message-ID: <3e8225fb_1@mk-nntp-1.news.uk.worldonline.com>


"Noons" <wizofoz2k_at_yahoo.com.au.nospam> wrote in message news:Xns934AD085D8C93Tokenthis_at_210.49.20.254...
> Following up on Paul Brewer, 26 Mar 2003:
>
> >
> > Are we just discussing the age-old "kitchen drawer" question of how to
> > define dozens of tiny logical lookup codes (in which case the Oracle
> > physical
> > answer is to use declarative RI based on code_type plus code), or
something
> > else?
>
> Not really discussing, I think. Judging by the number of times
> I've seen hundreds and hundreds of tiny lookup tables in applications
> running in Oracle, it can't be that old a problem...
> There are some very notorious examples out there in some very popular
> applications (that shall remain nameless), even as we speak. :)
>
> But yes, it's very much the same thing. Only really solved with RI when
> it became declarative and reliable, somewhere in late V7. As I said,
doesn't
> need triggers. But it really needs good PL/SQL error handling IMHO to
> make it usable. Otherwise it's just too much code to go into an app.
>

Well then, maybe I've been lucky.

I moved from (the equivalent of) triggers (coded in COBOL) on a minicomputer RDBMS to Oracle in the late 7.* days. I saw Oracle's declarative referential integrity, and thought "this must be too good to be true".

But it worked! You couldn't declare a constraint which wasn't true, but once yuo'd cleaned up your data it was rigorously enforced (yes, I know there are exceptions nowadays).

But one's data, cleaned upon entry to the database, remained clean and consistent.

And I ain't gonna give that up without a fight.

This is why I will resort to triggers as a last resort, and why I vastly prefer declarative contraints.

And this is why I hate Peoplesoft, and all the other crappy applications which try (and invariably fail) to do it from the client side. Why can't they handle Oracle errors gracefully? Surely this is easy enough? Then they could say "This Widget already exists; please try again with a different Wid get Number" - or some such.

Regards,
Paul Received on Wed Mar 26 2003 - 15:46:32 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US