Search Postgresql Archives

Re: What are the consequences of a bad database design

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
      joining column's datatypes do not match

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux