Sorry for posting under an assumed name but I have to keep it anonymous due to corporate restrictions and generally to protect the innocent.
I've been a professional developer for about 18 years and though I'm not a DBA I've worked closely with them over the years and have formed what I feel is a pretty decent sense of what are and are not good database practices. I just joined a company where two developers are in charge of the database schema and I found they are very much opposed to the use of foreign key constraints.
Their reasoning as best as I can tell is that (1) it makes unit testing stored procedures more difficult due to the extra data setup involved and (2) foreign keys can raise errors as order is important. They would actually prefer orphaned data rather than stoppage of the application.
This seems like bad practice to me but they are unwavering in their position. We've brought up advantages foreign keys provide in terms of data integrity, query performance, generating database diagrams, etc, to no avail.
Am I not seeing something here? Any advice?