Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Looking for a way to implement SQL-92 Domain
"Paul Brewer" <paul_at_paul.brewers.org.uk> wrote in message news:<3e8225fb_1_at_mk-nntp-1.news.uk.worldonline.com>...
>
> 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".
Hehehe! I thought same way when I saw Oracle's triggers!
Prime Information (Pick) wasn't the best thing in the world
at implementing declarative RI...
Mind you, I didn't waste too much time on it: went from Codasyl
to Oracle's relational and it slid in like greased lightning.
Much better implemented anyway than Ingres or Pick ever did...
> 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).
Akshally, that stuff about the type column and the key column
being enough for the RI on a domain table? I forgot to make one
more case for surrogate keys: if you use them, then all you need
as FK is one column! ;)
Not exactly ground-breaking, but makes life easier.
>
> But one's data, cleaned upon entry to the database, remained clean and
> consistent.
Yeah! Such a small detail, no? :)
> 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.
Dunno. It's a mistery to me how their designers (and a LOT of others) can claim that avoiding declarative server RI helps to maintain their apps portable. It's as bogus as can get! That's no portability: that's re-inventing boiled water.
Cheers
Nuno Souto
wizofoz2k_at_yahoo.com.au.nospam
Received on Wed Mar 26 2003 - 22:32:16 CST