Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

Got a question and wanted to get the best practices or thoughts on this.

I have an application that was developed with a SQL Server back end (site is Entity framework, vb.net, asp.net). The original design does not have a database diagram/schema/relationship table in the db itself.

The site works great but have gotten some pushback from another group that says it has to have a relationship table in order to work properly.

So is this personal preference or what? I'm not a DB guru and trying to find out if it's two ways of development and someone is trying to push personal preference over standards or best practices.

share|improve this question
1  
"The original design does not have a database diagram/schema/relationship table" -- I don't understand how to expand that out into meaningful sentences. Perhaps the words "diagram" and "table" should be swapped around? Also, what is the significance of the qualifier "in the db itself"? –  onedaywhen Feb 14 '12 at 9:07

4 Answers 4

You don't need a diagram for it to work, you need one to train the future developers!

However, if what you really have is a database with no actual formal PK/FK relationships set up (Which you can do when creating diagrams as well as through better ways such as SQL scripts), then that is a different story. That is something that will eventually cause your data to be inconsistent and is a real problem indeed to other users of the database.

share|improve this answer

If it's a purely object driven data design, you can't really query it except through application code anyway. So no, I wouldn't ask for a data diagram that's not going to do me any good, no. I think that sounds like someone pushing preferences over standards (and that's coming from a pretty committed standards oriented DBA nerd).

share|improve this answer

It's certainly not required for any functional reasons, but it's not a bad idea for some quick and dirty documentation. It sounds like they're confusing it with the Access relationship designer, which is where you actually declare your foreign keys. The SQL Server database diagram designer looks similar, but has a completely different purpose (documentation rather than DDL).

share|improve this answer
    
You're right it's mainly being pushed for documentation purposes. The current app runs great without this built in it right now. –  Valien Feb 13 '12 at 19:55

I would recommend having a data dictionary and ER-diagrams for the business domain tables at the very least. While there are some system-generated asp_ tables that are well documented on their own and possibly irrelevant to the business logic, anything that has been created outside of this should be clearly documented.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.