Re: pro- foreign key propaganda?

From: Evan Keel <evankeel_at_sbcglobal.net>
Date: Sat, 17 May 2008 17:22:18 -0400
Message-ID: <S%HXj.4301$7k7.2026_at_flpi150.ffdc.sbc.com>


"sinister" <sinister_at_nospam.invalid> wrote in message news:pKydnZlc2LGujbHVnZ2dnUVZ_jidnZ2d_at_comcast.com...
> 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
over
> 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
to
> 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,
and
> 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