Lots of good reading to be had today if you're an applications developer. It all centers around databases and where they should be placed and what their role(s) should be in application logic. Start here in database styles which talks about application databases, databases that exist only for a single application to store its data, and integration database, a database accessed by multiple applications which all seek to add/modify/delete the data therein. From there, read 37signals partner and inventor of Ruby on Rails David Heinemeier Hansson's post Choose a single layer of cleverness which talks about stripping application logic from a database (foreign keys, constraints, stored procedures and the like are considered bad). He is referring to "application databases." Move on to lesscode's parrotting in Should Database Manage The Meaning?, which seems to generalize the original notions that database level logic is bad... be it "application database" or "integration database."