DBMS, September 1996
DBMS Letters

Kudos to DBMS

Congratulations on Judith Hurwitz's excellent article, "Managing Complexity." (See DBMS, April 1996, page 12.) I find the information in DBMS to be extremely timely and instructive. Today's business pressures are different from those of just a few years ago. The demands of providing global network access to your employees, increased customer support services, and timely and dependable information anytime are driving enterprise resources out to remote locations. But it can't happen without the right remote access infrastructure, both at the enterprise and at remote locations.

Jimmy A. Castro
Austin, Texas

Transaction Triggers

I enjoyed Martin Rennhackkamp's article "Trigger Happy" in DBMS (see page 89). But I don't think he put enough emphasis on the need for transaction triggers. There is no way to enforce many kinds of integrity semantics without triggers enforceable at commit. I pointed this out to Ingres more than five years ago when they introduced rules in version 6, and I am sad to see that it still has not been addressed by the various vendors. As I told Ingres, if you attempt to use triggers to enforce the rule, "All Employees must work for at least one Department and all Departments must have at least one Employee," how do you get the first Employee or Department into the database if all you have is immediate firing rules!? In a larger sense, transaction triggers are very closely tied with the notion of transactions, where any operation may produce an invalid database state, but the database must be valid at the time of commit. Transaction triggers let you determine the correctness of the database at the end of a transaction, enforcing rules that can't be enforced during the transaction. Of course, not all triggers should be handled at commit time. I wouldn't want to insert 1000 rows into a table by hand and then find out at the commit that all 1000 rows were invalid! I hope he can deal with this issue more in future columns. I can't believe that this capability is still missing from the major RDBMS products. Thanks for the soapbox.

Mark A. Woyna
Section Manager, Information Systems
Argonne National Laboratory
Argonne, Ill.

I cannot agree with you more. There are many more types of business rules you can only enforce if you have transaction-based triggers. These include cardinalities, as you've mentioned, but also denormalized totals (for example, invoice lines must add up to the invoice total) and inclusive and exclusive relationships (as in generalizations and specializations). Obviously, as you've also mentioned, you will always need operation-based triggers, too, especially for integrity checking on a row-for-row basis. Thank you for your feedback.

- Martin Rennhackkamp


Table of Contents -September 1996 | Home Page
Copyright © 1996 Miller Freeman, Inc. ALL RIGHTS RESERVED
Redistribution without permission is prohibited.
Please send questions or comments to mfrank@mfi.com
Updated Wednesday, September 18, 1996