[BiO BB] RE: Normalization WAS: database design question

JRambla jrambla at hotmail.com
Tue Mar 2 13:36:28 EST 2004


For me, learning normalization is like learning to drive.
When you're experienced, you can make a comfortable use of driving rules:
semaphore timing, how to measure incoming cars speed, safe car to car
distance according to speed, when your car will fit in a parking space and
so on. 

However, if you're a beginner, you better stay with strict rules and driving
professor rules-of-thumb. 

I will advise any beginner to stay with normalization except if the problem
domain mandates otherwise. From my experience, when the designer wants to be
smarter than that, they fail, 99% of times. This means having to redesign
the database after lots of data coherence pains. Most of times, you will
need to edit some data, also.

Some of your issues with normalization (too much joins, etc.) can be
addressed by database objects like views. That's a principle for me: if you
stay normalized, database engine can probably help you with your troubles,
if you stay apart, you're usually on your own. You're a "desperado".

When not talking to beginners, and they can't hear us, we can use another
principle: "queries drives database design". You must design your database
(or a version of it) optimizing against the queries you will perform the
most usually or the most critical.

In my humble opinion,

Jordi Rambla
Barcelona (Spain)

-----Mensaje original-----
De: bio_bulletin_board-admin at bioinformatics.org
[mailto:bio_bulletin_board-admin at bioinformatics.org] En nombre de Michael
Enviado el: martes, 02 de marzo de 2004 18:50
Para: bio_bulletin_board at bioinformatics.org
Asunto: RE: [BiO BB] RE: Normalization WAS: database design question

Thanks for the clarifications! I pretty much agree with everything you
said. Of course you need a lot of experience to be able to design good
data models and once you have the experience you probably don't have to
go through the formal process of normalizing a database, because you
just instinctively know what works best.

But still in order to get the experience you have to start somewhere and
you have to give a beginner an entry point and showing them
normalization with some good examples has worked for me in most cases...

This thread started by someone asking for some guidance on how to design
his database and I still think that pointing that guy to normalization
was a good idea. It would be interesting to get some feedback though and
to know whether reading about normalization helped that guy!


On Tue, 2004-03-02 at 17:00, Svensson, B.A.T. (HKG) wrote:

> That's not what I tried to say; Applying the theory makes things
> more complicated then they are. In short: it's a waste of time
> in everyday work.

More information about the BBB mailing list