in reply to
Database Design Issues - OT
Boy, this is the first time I've ever been tempted to talk about my company here, but I will resist. Suffice to say there are many wonderful commercial tools for optimizing and benchmarking SQL and it might be very instructive to get your DBA one of them so that he can see for himself what the different forms of the queries run like compared to one another.
As for the heart of the issue, I think the one point being missed here is the age old struggle between the different camps in any IT organization. Speaking as aomeone who often has to straddle these fences, remember that when approaching these problems you need to take a look at why the DBA might be saying what he's saying. tilly says that we need to take a step back and look at this as a programming problem. While I whole-heartedly agree that gets us to the right conclusion (i.e. to normalize mercilessly), what it does not do is get you any closer to getting the DBA to do that.
I deal with a lot of DBAs, and a DBA only cares that the DB perfroms well and is up. If your code is slow b/c of structures in his DB that is not really his problem. When you suggest a large normalization effort, right or wrong, he hears things running slow in the DB and therefore him getting the short end of the stick. What you must do is to be sure and approach the problem with his concerns in mind. Don't demand or simply refer to rules and accepted policy; he doesn't care about that stuff =). Be sure to tell him that it will increase performance on the whole and therefore no one will be coming after him just b/c transactions may spend more of their time in the database side than the application side - if the overall transaction time is better no one will care! Make sure he understands that you have just as great an interest in maintaining the saner structure so that you can assist in those tasks when it's needed and that you'll help from a budget perspective if that means buying some tools to help with that (if you can). Basically, walk in his shoes for a bit, then re-approach. He is more than likely just trying to be sure he's doing his job - even if it seems he's not too aware of how it should be done.
We speak the way we breathe. --Fugazi