Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Where I work, new applications that are being developed that will use their own relational database, must have their database-models (conceptual, then physical ) reviewed and aproved by DBAs.

Things looked after are normalization, antipatterns, table and column naming standards, etc.

Is this really a DBA's responsability to do this ?

or should it be, in a greater extend, the responsability of app designers and architects ?

share|improve this question
4  
If they're a good DBA, this review should be welcomed, and if you dont review it with them, you'd run the chance of them hacking it up later or "blaming" you when something is slow / broke –  hanzolo Jan 9 '13 at 17:52
2  
Why would you think it would not be? –  HLGEM Jan 9 '13 at 18:30

2 Answers 2

up vote 7 down vote accepted

Depends on how database-savvy your developers are, but normally yes. DBAs are usually better at spotting potential performance issues, plus it gives them a heads-up in case they need to do anything special or unusual when creating the database (allocating space on multiple drives, setting up failover plans, allocating unusually large buffers or temp segments, etc). Plus, as you point out, they need to enforce any naming standards and data domains. They also will point out if some data you are using is already being stored in another database, to reduce data duplication.

share|improve this answer
3  
In large systems, I'd argue that a DBA can run circles around even a "database-savvy" developer (unless said developer used to be a DBA, and even that would depend on when that transition took place, as domain information tends to get stale after a while), in large part due to the points you mentioned (multiple drives, failover, etc). –  Shauna Jan 9 '13 at 18:44
    
I've worked in shops where no developer touched the database, ever. There was a data modeler, database engineers (programmers) and database admins. These shops also had the fewest data related bugs and the fewest scalability problems. Go figure. –  Adrian J. Moreno Jan 9 '13 at 19:57

Yes, that practice seems pretty standard to me.

If you have DBAs (whose expertise should include database modeling, normalization, table-naming structure, etc.) I would expect you would want to use them...

Why would you have DBAs and not want their their expertise and input? It seems like it is the obvious choice.

share|improve this answer
    
DBAs are not developers or data architects. They only see one side of the application and as such their usefulness as developers is limited. –  Ebenezer Sklivvze Jun 29 '13 at 13:44

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.