Why schemas and not code?

Ovid publiustemp-londonpm at yahoo.com
Mon Jun 26 10:02:28 BST 2006

You know, my last two emails have made quite violent references in regards to databases and yet, in regards to people's code, I'm considerably more polite.  Patient, even.  I started wondering about this curious dichotomy and I think I understand why it exists, but it raises another question that I *don't* know the answer to.

I constantly find that programmers are working on systems with plenty of hacks, cruft, or just plain bad code.  The programmers are apologetic, explain that these are "legacy" systems or they were "just learning" and that's that.  When I see the databases, though, I get blank stares from programmers when I ask why something has been done a particular way.  If I'm so foolish as to bring up data modeling, I often get a vigorous "no".  While they're often receptive to ideas of refactoring and testing their code, they not only object to this idea with their databases but they *deny* that there's anything wrong with their schemas.

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.

Ovid (who's making a somewhat arbitrary distinction between code and databases)
-- If this message is a response to a question on a mailing list, please send follow up questions to the list.
Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/

More information about the london.pm mailing list