SQL Clone
SQLServerCentral is supported by Redgate
 
Log in  ::  Register  ::  Not logged in
 
 
 


The Design Investment


The Design Investment

Author
Message
Steve Jones
Steve Jones
SSC Guru
SSC Guru (61K reputation)SSC Guru (61K reputation)SSC Guru (61K reputation)SSC Guru (61K reputation)SSC Guru (61K reputation)SSC Guru (61K reputation)SSC Guru (61K reputation)SSC Guru (61K reputation)

Group: Administrators
Points: 61319 Visits: 19097
Comments posted to this topic are about the item The Design Investment

Follow me on Twitter: @way0utwest
Forum Etiquette: How to post data/code on a forum to get the best help
My Blog: www.voiceofthedba.com
w.durkin@online.de
w.durkin@online.de
SSChasing Mays
SSChasing Mays (637 reputation)SSChasing Mays (637 reputation)SSChasing Mays (637 reputation)SSChasing Mays (637 reputation)SSChasing Mays (637 reputation)SSChasing Mays (637 reputation)SSChasing Mays (637 reputation)SSChasing Mays (637 reputation)

Group: General Forum Members
Points: 637 Visits: 1879
That is a pretty apt analogy IMO. Tiles that you lay yourself can be a little fumbled/imperfect, but a tile-layer would be able to do a professional job. Would you let the tile-layer install your central-heating? He may have an idea of how it could be done, but it could be just as fudged as if you do it yourself.

Now consider the programming profession; most see a programmer and think he can do it all (esp. managers)- it is all computers and code anyway! A C# coder who has mastered that language cannot necessarily design a database, so expecting him to do so and produce a product that is as good as a database architect is foolish.

I accept that a developer should have experience in more than one area and strive to learn but there is a limit to the practicality of it.

I read your editorial as if developers that work on database design have taken that task on voluntarily. I think that that is a minority case in the real world. Many developers work on a front-end and are then "volunteered" into the back-end DB-design too. These people do not have the time to learn something like SQL Server in depth to allow them to work with it optimally.

I am a fulltime development DBA and spend a lot of time extending and perfecting my knowledge of SQL Server. If I also had to write C# applications for my company, I would have to let one of the two slip just to keep up with the expected output!

Regards,

WilliamD
P Jones
P Jones
Ten Centuries
Ten Centuries (1.2K reputation)Ten Centuries (1.2K reputation)Ten Centuries (1.2K reputation)Ten Centuries (1.2K reputation)Ten Centuries (1.2K reputation)Ten Centuries (1.2K reputation)Ten Centuries (1.2K reputation)Ten Centuries (1.2K reputation)

Group: General Forum Members
Points: 1201 Visits: 1517
The attitude amongst managers seems to be that it is "just" a database and you "just stick the data in there" and it doesn't matter how.
More education is essential on how it matters that the database is properly structured and how it can reduce query time and thus improve the users' experience.
Grant Fritchey
Grant Fritchey
SSC-Dedicated
SSC-Dedicated (38K reputation)SSC-Dedicated (38K reputation)SSC-Dedicated (38K reputation)SSC-Dedicated (38K reputation)SSC-Dedicated (38K reputation)SSC-Dedicated (38K reputation)SSC-Dedicated (38K reputation)SSC-Dedicated (38K reputation)

Group: General Forum Members
Points: 38961 Visits: 32616
I don't know about everyone else, but I'm seeing less and less data design these days as we use more and more ORM tools. They "do the design for you"... yeah I can't say it without laughing, but that's the attitude that's been pretty prevalent lately. I'm sure we'll see a pendulum swing the other way at some point. But right now, design is a dirty word around here. It slows down development.

----------------------------------------------------
The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood...
Theodore Roosevelt

The Scary DBA
Author of: SQL Server Query Performance Tuning and SQL Server Execution Plans
Product Evangelist for Red Gate Software
Tony Savoie
Tony Savoie
SSC Rookie
SSC Rookie (38 reputation)SSC Rookie (38 reputation)SSC Rookie (38 reputation)SSC Rookie (38 reputation)SSC Rookie (38 reputation)SSC Rookie (38 reputation)SSC Rookie (38 reputation)SSC Rookie (38 reputation)

Group: General Forum Members
Points: 38 Visits: 1037
I am currently stuck in the scenario Old Hand describes......with the addition of "rock star" developers who design their own databases, in Access, do all of their .Net development against it.

Only when they feel it is ready for UAT do they send the Access file to me "to upsize" or they do it them selves on a dev box and ask the dba to backup/restore to another box for UAT.

The DBA then becomes the bad guy for holding things up by wanting database changes. The devs are perfectly happy with columns named "Default", "PostalCode/Zip Code".....or tables named "Tbl Inventory Items in Error / Not Found".

I am at my wits end trying to get this place running properly. I've only been here a year and a half and feel like I'm making no progress as everything is a battle. 52 servers - 1200+ databases - 2 dba's - the other dba was hired 5 months ago - they've gone through 5 dba's in 5 years.....nobody is "getting it" Sad
Matt S.
Matt S.
SSC Veteran
SSC Veteran (201 reputation)SSC Veteran (201 reputation)SSC Veteran (201 reputation)SSC Veteran (201 reputation)SSC Veteran (201 reputation)SSC Veteran (201 reputation)SSC Veteran (201 reputation)SSC Veteran (201 reputation)

Group: General Forum Members
Points: 201 Visits: 60
I agree with the angle of this article. However, I am a developer. I mainly write entire applications and websites by myself. I used to lead a team. Regardless of which setting I am/was in, I always make sure that the database design gets the utmost consideration. I took the time long ago to learn everything that I could about good DB design.

I am a stickler for consistency and standards, so I have always had guidelines written up for my team (even when my team is just myself) on how to handle just about everything from naming variables, functions, classes, columns, tables, indexes, to how to arrange an argument list, use of tabs vs. spaces, and where to put block begin/end indicators (on the declaration line vs. below it, etc.).

Attention to proper design and careful implementation are key to the long-term success of a project. I always find myself correcting colleagues' inconsistent column names, or mixing tabs with spaces. The usual response is, "What does that matter? I just want to know if you think it will work!"

It seems as though many people in our field do not value organization, planning, and general forethought. It's a shame. The software suffers and its users learn to accept certain (inexcusable) patterns in its life-cycle.
Matt S.
Matt S.
SSC Veteran
SSC Veteran (201 reputation)SSC Veteran (201 reputation)SSC Veteran (201 reputation)SSC Veteran (201 reputation)SSC Veteran (201 reputation)SSC Veteran (201 reputation)SSC Veteran (201 reputation)SSC Veteran (201 reputation)

Group: General Forum Members
Points: 201 Visits: 60
I also partially agree with the comments made against ORMs. I feel that many developers use those tools to generate the DB and that makes me shutter. As a developer who uses ORMs plenty, I make a point to design my database correctly by hand (the horror). Afterward, I force the ORM to use my proper design.

In the end, this way of working with ORMs makes everything run so much smoother. A good ORM knows how to work with a good DB design if it is configured properly. That means someone with a good working knowledge of the DB schema absolutely must be one of the folks configuring the ORM. Whether that is a developer with a really good understanding of DB design, or a DBA that gets OOP, it doesn't really matter. So long as the ORM is not allowed to do whatever it wants and is "told" how things work in this particular setting.
Grant Fritchey
Grant Fritchey
SSC-Dedicated
SSC-Dedicated (38K reputation)SSC-Dedicated (38K reputation)SSC-Dedicated (38K reputation)SSC-Dedicated (38K reputation)SSC-Dedicated (38K reputation)SSC-Dedicated (38K reputation)SSC-Dedicated (38K reputation)SSC-Dedicated (38K reputation)

Group: General Forum Members
Points: 38961 Visits: 32616
Grant Fritchey (9/29/2010)
I don't know about everyone else, but I'm seeing less and less data design these days as we use more and more ORM tools. They "do the design for you"... yeah I can't say it without laughing, but that's the attitude that's been pretty prevalent lately. I'm sure we'll see a pendulum swing the other way at some point. But right now, design is a dirty word around here. It slows down development.


Holy cow, that's a nightmare.

Why don't you get the developers to at least install SQL Server locally and use that for development. That would avoid the "upsizing" issues.

----------------------------------------------------
The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood...
Theodore Roosevelt

The Scary DBA
Author of: SQL Server Query Performance Tuning and SQL Server Execution Plans
Product Evangelist for Red Gate Software
Grant Fritchey
Grant Fritchey
SSC-Dedicated
SSC-Dedicated (38K reputation)SSC-Dedicated (38K reputation)SSC-Dedicated (38K reputation)SSC-Dedicated (38K reputation)SSC-Dedicated (38K reputation)SSC-Dedicated (38K reputation)SSC-Dedicated (38K reputation)SSC-Dedicated (38K reputation)

Group: General Forum Members
Points: 38961 Visits: 32616
Matt S. (9/29/2010)
I also partially agree with the comments made against ORMs. I feel that many developers use those tools to generate the DB and that makes me shutter. As a developer who uses ORMs plenty, I make a point to design my database correctly by hand (the horror). Afterward, I force the ORM to use my proper design.

In the end, this way of working with ORMs makes everything run so much smoother. A good ORM knows how to work with a good DB design if it is configured properly. That means someone with a good working knowledge of the DB schema absolutely must be one of the folks configuring the ORM. Whether that is a developer with a really good understanding of DB design, or a DBA that gets OOP, it doesn't really matter. So long as the ORM is not allowed to do whatever it wants and is "told" how things work in this particular setting.


No disagreement. I'm not against ORMs in any way. I'm just against the way they are used by lots of developers. Basically they're turning everything into OOM (Object-Object-Mapping) as a way to eliminate the database problem. Instead, of course, it's making things worse.

----------------------------------------------------
The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood...
Theodore Roosevelt

The Scary DBA
Author of: SQL Server Query Performance Tuning and SQL Server Execution Plans
Product Evangelist for Red Gate Software
Matt S.
Matt S.
SSC Veteran
SSC Veteran (201 reputation)SSC Veteran (201 reputation)SSC Veteran (201 reputation)SSC Veteran (201 reputation)SSC Veteran (201 reputation)SSC Veteran (201 reputation)SSC Veteran (201 reputation)SSC Veteran (201 reputation)

Group: General Forum Members
Points: 201 Visits: 60
@Grant
I hear you. I've seen DBAs light up with some glimmer of hope when I'm hired to reign in developers gone wild. It's because I sell my services similarly to how I just described things above.... The database comes FIRST!

No matter how good the code is, the whole system can become a cesspool of hatred and loathing if the DB is treated like an afternoon Access class at a community college. Most developers only see it from their side of the fence. "It's just data in a bucket." or "I can do it with text files just fine!"

Oh, I'm going to be sick just thinking of it.
Go


Permissions

You can't post new topics.
You can't post topic replies.
You can't post new polls.
You can't post replies to polls.
You can't edit your own topics.
You can't delete your own topics.
You can't edit other topics.
You can't delete other topics.
You can't edit your own posts.
You can't edit other posts.
You can't delete your own posts.
You can't delete other posts.
You can't post events.
You can't edit your own events.
You can't edit other events.
You can't delete your own events.
You can't delete other events.
You can't send private messages.
You can't send emails.
You can read topics.
You can't vote in polls.
You can't upload attachments.
You can download attachments.
You can't post HTML code.
You can't edit HTML code.
You can't post IFCode.
You can't post JavaScript.
You can post emoticons.
You can't post or upload images.

Select a forum

































































































































































SQLServerCentral


Search