Hi,
> This is a fundamental concept in RDBMS: the use of foreign keys in
> database design.
>
> I'd just like to poll the community here, on whether it is a best
> practice, or practically essential to 'link' related tables by use of
> foreign keys.
>
> For myself, I usually do all the validity checking when adding a new
> record that references a record id from another table. I understand that
> this may not be efficient because it becomes 2 database calls (and db
> calls are expensive in high-load environments).
>
> What are the advantages/ disadvantages in using foreign keys? In MySQL,
> this means one cannot use MyISAM. Do you place a lot of triggers as well?
When it comes to referential constraints, the answer is simple:
ALWAYS put them on the database.
Anyway who answers differently either never had to recover
a database that was trashed by the lack of integrity constraints
or has no ide what he's talking about.
Most probably, this statement will get me tons of e-mail again ;-)
Martijn Tonies
Database Workbench - development tool for MySQL, and more!
Upscene Productions
http://www.upscene.com
My thoughts:
http://blog.upscene.com/martijn/
Database development questions? Check the forum!
http://www.databasedevelopmentforum.com