I know I've broached this particular subject before when talking about using Stored Procs to access data, but I'd really like to address this head on:

Is the databse the proper place to put business logic?

The reason I'm asking is because I'm going to be responsible for designing an arhcitecture for a new application, and I'm getting assulted on both sides over this question. My boss (who no one on the team respects) is insistent that all business logic should go in the database. My coworkers, one of whom will be on my team and is very passionate, insist that databases are for data persistance only and the business logic does not belong there. No matter what stance I take I get hammered- problem is I disagree with them both. I don't see how anyone can make this catagorical statement that BL belongs one place or the other. And certainly a DB is more than persistence- at the least it should take some responsibilty for maintaining the integrity of the data. It seems to be a relgious debate, which I try to stay away from in software design, preferring to take things on a case by case basis.

And now I'm taking a SQL Server 2000 programming course and M$ own best practice (take that for what it's worth) says "Business Logic should be in the database". Conisder the source, though.

So I go to the internet with everyone decrying everyone else's architecture claiming that the "other side" knows absolutely nothing. Thing is, I don't know any of these people and have no gauge as to how much weight to put on their arguments. Here, though, there are people I respect. So I put it to you, where does the business logic go?

Now, my perspective (as I've said) is "it depends", so here are some details about the project:

1. It will be client server, so no middle tier for the BL.
2. The database will likely be SQL Server 2005
3. There will be about 25 users max, all internal to the company
4. Our team is quite inexperienced with T-SQL.

I'm not looking for an answer really as much as some intelligent, non-religious perspectives. Any comments along this vein would be greatly appreciated.
_________________________
-Jeff
Rome did not create a great empire by having meetings; they did it by killing all those who opposed them.