Re: Declaring Unenforced Constraints

From: Kenneth Downs <firstinit.lastname_at_lastnameplusfam.net>
Date: Wed, 17 Nov 2004 10:57:00 -0500
Message-ID: <cv8s62-i7p.ln1_at_pluto.downsfam.net>


Tony Andrews wrote:

> Kenneth Downs wrote:

>> Bringing the db offline does not seem very nice, must be a better way

> than
>> that.

>
> It depends on what you are doing, really. If this is a regular,
> frequent batch process to import new data into the database that must
> run while users are on-line, then it must be done in such a way that
> the users never see the "half-baked" data. This means that the
> dataload must use properly constructed transactions - i.e. NOT
> inserting all the "child" records without constraint, committing (so
> that they are visible to users), and THEN inserting all the "parent"
> records. With deferred constraints, you can load all the data (in any
> order) and then commit; however, that may be impractical for large data
> volumes. So then you may consider loading the data into temporary
> "staging" tables, and then having a subsequent process move the data
> into the real tables, again with constraints always in place.

Agreed, I spoke to broadly in earlier post. A mailing list is something that you can safely bring offline for a complete load, while an OLTP database you could not.

-- 
Kenneth Downs

java.lang.String.tcpip.usenet.posting.response.sigblock.setSig("After
finally finding the right object abd method to set the sig block, I forgot
what I wanted to say!");
Received on Wed Nov 17 2004 - 16:57:00 CET

Original text of this message