• I think a certain amount of freedom for developers in the test area is fine. Creating indexes, show plans, etc. are all part of giving them tools to help me help them get better faster code. But when it comes to creating tables, I'd lock that down. Most developers I've dealt with just don't understand how to normalize a database or (more likely) just don't care because their 3 rows of test data returned just fine while they were developing and once we test with load, the dba can make it better.

    The problem is (at least here) once a developer writes code against their non normalized table that doesn't bother to follow naming conventions, that's it. They never want to have to revisit and change that code again. I just saw a new production table created while I was on vacation. It has 20 columns, 1 identity and the rest are varchar(max). Nice.