Re: pro- foreign key propaganda?

From: Evan Keel <>
Date: Sat, 17 May 2008 17:22:18 -0400
Message-ID: <S%HXj.4301$>

"sinister" <sinister_at_nospam.invalid> wrote in message
> I'm supervising the development of a database system with a web interface.
> I had built the DB backend using postgresql. The guy we hired to take
> the project from me---I have non-IT duties to attend to---for various
> reasons decided to switch to MySQL and created his own tables (as well as
> redoing the web interface).
> After a conversation involving two tables which I thought ought to be
> connected by a foreign key relationship, I went and checked his DB; I was
> worried that he didn't fully understand the importance of using foreign
> keys. So I ran mysqldump and then did "grep -i foreign dump.sql" and
> "grep -i references dump.sql." Nothing!
> So...sent him an email late in the day, stressing that it's important that
> foreign keys be used where possible, that as much of the model
> logic/business logic/whatever should be encoded in the database itself to
> ensure data integrity, and so on.
> What do I do if he gets back to me and says---as I'm sure everyone in his
> position does---"oh, but my PHP code makes sure everything is done right"?
> Not that I don't know what to say, but it would be good to have a pointer
> an essay or webpage that succinctly explains why you're asking for trouble
> if you don't encode such relationships in the DB itself.
> Sure, I could say, "Your next assignment is to read a book on DB theory,
> give me a 10 minute summary," but we don't have that much time...
> :-(
I think you are confusing foreign keys with declarative referential integrity. Foreign keys are a must and I'm sure your database uses them. What you are talking about (and I agree) is a constraint. Received on Sat May 17 2008 - 23:22:18 CEST

Original text of this message