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 ?

  • 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

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.

  • 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.

  • DBAs are not developers or data architects. They only see one side of the application and as such their usefulness as developers is limited. – Sklivvz Jun 29 '13 at 13:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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