Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » ElevateDB Technical Support » Support Forums » ElevateDB General » View Thread |
Messages 1 to 10 of 14 total |
where is cascade update/delete |
Tue, Apr 8 2008 9:08 AM | Permanent Link |
Isaac | Hello,
I wonder why advanced and powerful database like elevatedb did not has a cascade update/delete for foreign keys !!! |
Tue, Apr 8 2008 1:54 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Isaac,
<< I wonder why advanced and powerful database like elevatedb did not has a cascade update/delete for foreign keys !!! >> How often do you change the primary keys in your databases ? If you do it a lot, then you probably need to look at changing your design a bit. Cascading such updates is extremely expensive in terms of concurrency, especially with a lot of rows, which is why EDB does not allow it at this time. -- Tim Young Elevate Software www.elevatesoft.com |
Tue, Apr 8 2008 2:25 PM | Permanent Link |
"Julio S." | Tim,
The cascade on delete in foreign keys is IMO an important thing, it's very useful. I have not seen yet an use for cascade update, so I agree about that it's a design issue, but I would not exclude it. Firebird/IB support On Delete and On Update this options: CASCADE, UPDATE, SET NULL, RESTRICT. Julio S. > Isaac, > > << I wonder why advanced and powerful database like elevatedb did not has a > cascade update/delete for foreign keys !!! >> > > How often do you change the primary keys in your databases ? If you do it a > lot, then you probably need to look at changing your design a bit. > Cascading such updates is extremely expensive in terms of concurrency, > especially with a lot of rows, which is why EDB does not allow it at this > time. > |
Tue, Apr 8 2008 2:40 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Julio,
<< The cascade on delete in foreign keys is IMO an important thing, it's very useful. I have not seen yet an use for cascade update, so I agree about that it's a design issue, but I would not exclude it.Firebird/IB support On Delete and On Update this options: CASCADE, UPDATE, SET NULL, RESTRICT. >> I understand what the other database engines out there support, and I understand the issues involved. The point is that most of the time, such changes are a one-off that should be executed by an administrator or someone who knows what they're doing due to the amount of locks, etc. that need to be held for such an operation to successfully complete. -- Tim Young Elevate Software www.elevatesoft.com |
Tue, Apr 8 2008 5:52 PM | Permanent Link |
Isaac | Julio S. wrote:
> Tim, > > The cascade on delete in foreign keys is IMO an important thing, it's > very useful. I have not seen yet an use for cascade update, so I agree > about that it's a design issue, but I would not exclude it. > Firebird/IB support On Delete and On Update this options: CASCADE, > UPDATE, SET NULL, RESTRICT. > > Julio S. > > >> Isaac, >> >> << I wonder why advanced and powerful database like elevatedb did not >> has a cascade update/delete for foreign keys !!! >> >> >> How often do you change the primary keys in your databases ? If you >> do it a lot, then you probably need to look at changing your design a >> bit. Cascading such updates is extremely expensive in terms of >> concurrency, especially with a lot of rows, which is why EDB does not >> allow it at this time. >> I second your opinion exactly - I hope future releases has this feature |
Tue, Apr 8 2008 11:26 PM | Permanent Link |
Steve Forbes Team Elevate | Hi Tim,
My vote is strongly in favour of a partial implementation as detailed below. I believe that support for CASCADE and RESTRICT on DELETE is needed as there is a common requirement for these operations in many business schemas. I can think of several situations where I would use both these ops in my current applications if they were available.UPDATE does not apply to a DELETE, and only someone with rocks in their head would delete a master record and leave orphans, so SET NULL is definitely not needed IMO I do not think you need to support UPDATE because I cannot think of any valid reason to modify a table's primary key. I agree that this type of operation should be done by a DBA, or someone with knowledge of the cause and effect of such an operation. -- Best Regards Steve [Team Elevate] "Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote in message news:59E3CEC0-E772-46DA-944A-89AD919AF8B2@news.elevatesoft.com... > Julio, > > << The cascade on delete in foreign keys is IMO an important thing, it's > very useful. I have not seen yet an use for cascade update, so I agree > about that it's a design issue, but I would not exclude it.Firebird/IB > support On Delete and On Update this options: CASCADE, UPDATE, SET NULL, > RESTRICT. >> > > I understand what the other database engines out there support, and I > understand the issues involved. The point is that most of the time, such > changes are a one-off that should be executed by an administrator or > someone who knows what they're doing due to the amount of locks, etc. that > need to be held for such an operation to successfully complete. > > -- > Tim Young > Elevate Software > www.elevatesoft.com > |
Tue, Apr 8 2008 11:28 PM | Permanent Link |
"David Cornelius" | Tim,
Are you saying specifically that cascading deletes (and other referential activities) should not be supported by applications, but only done manually by administrators? I can think of a situation where cascading deletes in an application would be very nice and used quite frequently, but maybe I'm not understanding what you're referring to... -- David Cornelius CorneliusConcepts.com custom designed software Tim Young [Elevate Software] wrote: > Julio, > > << The cascade on delete in foreign keys is IMO an important thing, > it's very useful. I have not seen yet an use for cascade update, so I > agree about that it's a design issue, but I would not exclude > it.Firebird/IB support On Delete and On Update this options: CASCADE, > UPDATE, SET NULL, RESTRICT. >> > > I understand what the other database engines out there support, and I > understand the issues involved. The point is that most of the time, > such changes are a one-off that should be executed by an > administrator or someone who knows what they're doing due to the > amount of locks, etc. that need to be held for such an operation to > successfully complete. |
Wed, Apr 9 2008 1:01 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | David,
<< Are you saying specifically that cascading deletes (and other referential activities) should not be supported by applications, but only done manually by administrators? >> No, I'm saying that these types of activities are normally security-constrained anyways and only available to higher-end users like administrators, etc., if at all. The fact that your application executes such functionality internally really doesn't apply, since it isn't being executed by an interactive user. << I can think of a situation where cascading deletes in an application would be very nice and used quite frequently, but maybe I'm not understanding what you're referring to... >> Are you talking about cascading deletes initiated by a user, or just cascading deletes in application code ? At any rate, cascading updates and deletes can be done via a transaction manually, and that's exactly what EDB would do itself, except that it would have to use even more restrictive locking to do so. This was the main reason why it wasn't implemented. -- Tim Young Elevate Software www.elevatesoft.com |
Wed, Apr 9 2008 1:04 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Steve,
<< My vote is strongly in favour of a partial implementation as detailed below. >> EDB can't do it right now, so any further discussion is basically pointless. The locking model in EDB, due to the multi-user file-sharing support, won't allow it without extremely restrictive locking. It's something that will have to wait until the enterprise server is done. The way to do it is to simply use a transaction. EDB will still ensure that the referential integrity is maintained, which is its main job. << I believe that support for CASCADE and RESTRICT on DELETE is needed as there is a common requirement for these operations in many business schemas. >> ElevateDB already does the RESTRICT functionality. Or were you just throwing that in there to complete the minimum spec that you're proposing ? -- Tim Young Elevate Software www.elevatesoft.com |
Wed, Apr 9 2008 5:26 PM | Permanent Link |
Steve Forbes Team Elevate | Hi Tim,
> EDB can't do it right now, so any further discussion is basically > pointless. NP, just thought I'd put my 2c worth in > ElevateDB already does the RESTRICT functionality. Or were you just > throwing that in there to complete the minimum spec that you're proposing > ? Just for completeness, hate for you to take it out <BG> -- Best Regards Steve [Team Elevate] "Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote in message news:7B1B98D9-F0D3-4AED-9ADF-A01772C96179@news.elevatesoft.com... > Steve, > > << My vote is strongly in favour of a partial implementation as detailed > below. >> > > EDB can't do it right now, so any further discussion is basically > pointless. The locking model in EDB, due to the multi-user file-sharing > support, won't allow it without extremely restrictive locking. It's > something that will have to wait until the enterprise server is done. > > The way to do it is to simply use a transaction. EDB will still ensure > that the referential integrity is maintained, which is its main job. > > << I believe that support for CASCADE and RESTRICT on DELETE is needed as > there is a common requirement for these operations in many business > schemas. > >> > > ElevateDB already does the RESTRICT functionality. Or were you just > throwing that in there to complete the minimum spec that you're proposing > ? > > -- > Tim Young > Elevate Software > www.elevatesoft.com > |
Page 1 of 2 | Next Page » | |
Jump to Page: 1 2 |
This web page was last updated on Wednesday, May 15, 2024 at 08:40 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |