David Heinemeier Hansson [mailto:david.heinemeier@gmail.com]
#And to further the group hug, I'm pretty neutral about foreign key
#constraints. It's triggers, business constraints ("don't insert if
#balance > 100"), and stored procedures that deserve the "Evil" label.
i agree but i'd like to comment a little. The only thing i would _not_ want a dba to do (in his procs) is to touch anything inside the records, meaning putting values on actual data. Other than that, as dba, he is obliged to do what is good for the busines by providing rules and fences as guards. On the other hand, the programmer and the user has the power to implement those business logic in the real world closer to real processes. Programmers/users have the power to put (actual) data on the database. They can check their data using readable report and can drill down further on the details. But their powers are checked/stopped once they reach the vault db (remember programmers come and go). Thus in any systems, it is important that checks and balances are performed. Programmers/dbas/users check each other. The programmer may check on the dba, and vice-versa. It is like unit testing on the business level... Evil it may seem, but who says business ain't...
thanks and kind regards -botp
ps: haven't played much w rails but is it true that active records cannot deal w (or does not know about) foreign keys and multicolumn primary keys? if not yet, it would be a great gift this coming christmas if added...
#David Heinemeier Hansson