Why schemas and not code?

Jonathan Peterson JPeterson at bmjgroup.com
Tue Jun 27 13:52:01 BST 2006


> > This brings me to the question I can't figure out:  why is it that 
> > otherwise competent programmers who admit that their code is a mess 
> > fail to see that their databases might be also?  Since they can 
> > describe virtually nothing about relational theory, one might 
> > assume (incorrectly) that they might realize they have a weakness 
> > there.

Few people know what a subjunctive is, but they still think they can write 
English. They probably even use subjectives properly sometimes.

Being able to communicate well, and knowing what a subjunctive is, are not 
all that closely linked. Likewise, being able to created a useful little 
web app, and knowing what 2nd normal form is, are not all that closely 
linked.

Practically speaking, poor database design often appears (to neophytes) to 
be poor code. People sit there scratching their heads "Man, it's so hard 
to process this data - I wish I could program better, it can't be this 
hard!". They think the problem is that they don't know the cool 
programming trick that will sort the problem out, but in fact the problem 
is caused is poor database design.

I don't deal with RDBMSs much, but in general terms, people who spend 80% 
of their time doing X will assume the problem is in the X domain, not 
other ones.

See also poor sysadmins wondering why managing their box is so hard, when 
the answer is that the apps running on it are written badly.



More information about the london.pm mailing list