Re: What are the consequences of a bad database design - Mailing list pgsql-general

From Scott Marlowe
Subject Re: What are the consequences of a bad database design
Date
Msg-id 1113232931.20921.94.camel@state.g2switchworks.com
Whole thread Raw
In response to What are the consequences of a bad database design (never seen that before !)  ("Jinane Haddad" <jinanehaddad@hotmail.com>)
List pgsql-general
On Mon, 2005-04-11 at 04:39, Jinane Haddad wrote:
> Hi everyone,
>
> i just got a new job in a small entreprise and they are using postgres as a
> database for their application. I was stupefied cause the database design is
> so bad : we can even say it has been done by amateurs. I observed the
> following problems till now:
>
> 1- redondancy ( TOO MUCH)
> 2- Many tables for the same object (stupid ex: a table for female_employees
> another for males ...) instead of one table (there are cases of 6 tables for
> the same one)
> 3- Some essential table are inexistant
> 4- Null values for critical information
> 5- Primary keys of multiple fields (4 or 5 sometimes) du to bad design
> ...
>
> The bottom of the line is that they have been working on the application for
> 2 years. Querys are becoming bigger and contains a lot of unions and "in/not
> in". The data contained in the database have to be checked often invalid
> values may be found ...
>
> My question is with such database, what are the lomg term consequences or
> can we determinate them. I know that the querys will become slower, and the
> database will grow more quickly ... And a lot of information will not be
> trust wise ....
>
> But the people i am working with are not considering the restructuring of
> the database. They are even thinking of expanding it by adding new modules.
>
> Please can someone advise me, or tell me what to do, what may be the
> consequences

First off, make your escape plan, it's likely that these people are too
clueless to be saved.  Seriously, I've seen it happen before.  You can
have all the evidence at hand as to why what they're doing is wrong, and
make the strongest business plan there is, and some guy who's been in
charge of this beast for two years and cares more about his ego will
throw his political weight around to crush you, the new guy who "knows
nothing about our business."

Next, you need to get the ears of the people who hired you and explain
to them WHY the current design is so bad.  Use concrete examples, and
teach them some very basic relational theory and how it fixes these
problems.  You have to make allies here, not enemies.

Finally, if you can't stop them, they may write the next peoplesoft!
Haha.  Just Kidding, Only Serious.

pgsql-general by date:

Previous
From: David Fetter
Date:
Subject: Re: What are the consequences of a bad database design
Next
From: Scott Marlowe
Date:
Subject: Re: Time and date functions give me headaches!!