Thanks to simple-talk, I'm informed that Fabian Pascal has posted part two (part one is linked) of his series on "Principle of Orthogonal Database Design". If you read here, you should read this series. I've long mused that the essence of RDBMS is notion of independence in the data. Sometimes this is voiced as "one fact, one place, one time". I like orthogonal; it's a word that makes me giggle and has for years. Along with "batshit", which describes coders who "prefer to do transactions on the client". Totally batshit.
Which raises a question: are triggers as bad or necessary as discussed in Joe Celko's piece, also on simple-talk? One of the commenters describes an, alleged, corner case which demands trigger support. Joe provides an extensive answer, on point.
But I've always thought about such corner cases from the other direction: if the RM is consistent, which it looks so to me, and a SQL database schema is faithful to the RM, which vendors certainly don't enforce, then the answer may be somewhat different. The answer could, likely so, be that the application "logic" which demands the corner case trigger is wrong. Further normalization to reach organic normal form™ is the avenue of escape. After all, the RM is really a logic engine. It's no coincidence that the database language datalog shadows the programming logic language prolog.
Just a thought.