>>Yeah, it was interesting. I agree that the database design is driven by the business rules, but I don't think there was ever a conculusion reached on where to implement things like RI, in COM objects or in the database. Both sides had valid arguements. I lean to letting the database handle it..but the biz rules definately define how the RI is done.
>
>Hi Craig. Good to see this topic get started. I was hoping for a definte answer on this. I used to be in the RI in the data tier camp but for the purpose of the thread I took the opposite view to create discussion. I ended up convincing myself that it belonged in the biz tier. You are right, strong arguments on each side. Still hoping that someone will reference a database theory paper with the answer.
Evan,
I don't think there is a clear answer. It is all dependent on your implementation. What happens if you are required to use Fox free tables? Clearly, you need to handle RI someplace, but there is no database to do it for you. My opinion is, if the data store can take care of RI, then it should do that. If you implement a data store that lacks the capability, write the code.
Craig Berntson
MCSD, Microsoft .Net MVP, Grape City Community Influencer