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: No foreign keys??? What the???

Re: No foreign keys??? What the???

From: Brian Kresge <bkresge_at_rochester.rr.com>
Date: 2000/08/07
Message-ID: <q1hsos8v64kqf425i7m74jc85jambs0ftj@4ax.com>#1/1

I feel the need to put my 2¢ in here... I am a developer aspiring to be a DBA. Although I would agree that integrity checks in the database are the right path 98% of the time; there are situations where it is prudent to disable integrity checks in the database.

Case in point, an application that utilitized over the web, and is maintained "in-house". The application is the only avenue through which users may update the data. If stringent rules are defined within the organization to not manually update the database (unless "qualified"), this can increase performance considerably for the end user.

Take for example, a table that has a lot of code fields in it. Thorough analysis would state that all code fields would map to their respective lookup tables. But if the application controls what the valid values are that are inserted into these respective fields, there is minimal (if NONE) performance hit. Of course, othere examples are out there, careful analysis is needed to discover them.

IMHO, the typical DBA all too often jumps to conclusions where detailed analysis may provide a much better answer.

Only my 2¢ :)

Brian Kresge
SW Engineer (for now)

On Mon, 03 Jul 2000 05:23:33 GMT, Greg Stark <greg-spare-1_at_mit.edu> wrote:

>
>"Sybrand Bakker" <postbus_at_sybrandb.demon.nl> writes:
>
>> Yes, this is crazy!
>
>You guys have both happily answered a question with far too little
>information. Too often people are happy to apply the same old stock answers to
>questions without thinking about if the canned solution is really appropriate
>to the problem at hand.
>
>In an application with an application layer interface through which all
>queries proceed most referential integrity constraints are superfluous. In
>some cases they're still useful as a safeguard against buggy code, however in
>cases where they are performance critical the extra index lookups would be
>pointless and costly.
>
>In other cases the integrity constraints are subtle. I find the best way to
>control data integrity is at the application level where the data
>representation is actually being manipulated and the more important subtle
>checks can be performed as assertions within the code. Rather than at the
>database level where only a crude understanding of the data being represented
>is available.
Received on Mon Aug 07 2000 - 00:00:00 CDT

Original text of this message

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