On 01/30/2010 04:43 PM, Vladimir Dronnikov wrote: > Personally, I think cascade-on-deletion is just a convenient way to > simplify sql queries which otherwise should constantly be aware of > possible NULL dereferences. So cascade-on-deletion is totally due to > sql misfeature in this area. >
It's not a misfeature, it's a requirement for normalized datasets where orphans should not exist. Note the keyword here is normalized dataset, which requires relations between tables. So it is a consequence of a set rules in a given system: B should exist only if A exists. And in order for the system to work properly, cascades should occur. The system here is a database, and the rule is Informational Integrity. All this, however, is perhaps specific to information technologies and hardly translated into macro world of physical, or in your example with the cars. Though there is cascade on certain levels even on physical world. Your car will "die" (in time) if the buyer disappears so there's no one to take care of it, or the manufacturer disappears and there's no more support (no spare parts). But if you say that other manufacturers and auto shops can pick up the support, so can database rows, if rules require or allow it. On the quantum level, there is cascade with entangled pairs. Update or delete one, the other will respond equally. However your analogy is wrong because the system of ABC does not require the same set of rules. If it did require, let's say in form of a law that said all cars should be destroyed if their manufacturer disappeared, then it would cascade also, because the rule of the system says so. Another example: DRM. If the certificate issuer disappears, you can't view DRM'ed content. Vlad -- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
