Re: Database schema for univesal usage

From: Kenneth Downs <knode.wants.this_at_see.sigblock>
Date: Thu, 26 May 2005 21:19:08 -0400
Message-Id: <599im2-jon.ln1_at_pluto.downsfam.net>


David Cressey wrote:

>
> I've never been able to understand why people say it costs lots of $$$ to
> add a column to a table.
>
> The addition ALTER TABLE ... ADD COLUMN is straight forward. The fallout
> on
> existing queries should be minimal. Getting rid of NULLS in the new
> column
> is a data issue, not a technology issue.
>
> Updating INSERTS and UPDATES to the table will take a little work, but
> its'
> no big deal. Where do the $$$ go?
>

My goodness. My goodness indeed.

The ALTER TABLE takes a moment, sure, especially if you are working alone, don't have any programs making use of the column, and have no users who tend to dislike bringing the system down for changes.

And if you don't have to write down why you did it, or justify it to anybody, it's much easier than if you do. Who needs documentation, we can all remember, right?

And its a good thing you don't need an empty copy of the database to give to anybody.

And its a good thing you don't need to worry about the versions of the database that don't have this change.

And if you don't have any customers, it's better than having 100 who all need it. At 3 minutes (I've added two minutes to connect to their system) each, you are at 5 hours here. Since no programs need to be updated, I guess that's it! But if you do have customers, you can just send them all an email, no need to have any kind of upgrade system.

And if this is the only change you are making, you don't need to bother writing a script to make sure all of the changes get executed the same way in any particular database.

And of course you would never accidentally make a typo when adding the column to a big table, and would never follow this up by making a typo on the DROP COLUMN and throw away a real column.

And since we don't do QA, there is no reason to make sure that the change is applied to the production system in exactly the same way it was applied to the development and QA systems.

And if no other programmers or analysts are making changes, all the better, because then you don't have to make sure that your context is correct.

On the other hand, if you did need to worry about some of these things, you might have to pay people to worry about them for you.

-- 
Kenneth Downs
Secure Data Software, Inc.
(Ken)nneth_at_(Sec)ure(Dat)a(.com)
Received on Fri May 27 2005 - 03:19:08 CEST

Original text of this message