Are foreign keys really necessary in a database design?  Aug 22
2008  Recently I asked a question in StackOverFlow:  Are foreign
keys really necessary in a database design?  As far as I know,
foreign keys are used to aid the programmer to manipulate data
in the correct way. Suppose a programmer is actually doing this
in the right manner already, then do we really need the concept
of foreign keys?  Are there any other uses for foreign keys? Am
I missing something here?  Many people responded and there were
all kinds of opinions. The strange thing I noticed was that many
people including Joel Spolsky do not use foreign key constraints
in their databases.  You can build a complete application
without even using a single foreign key constraint. Foreign
keys, as a matter of fact are not essential in your databases,
but they help a lot in programming and making robust systems.
Hence the use of foreign key integrity constraints is strongly
recommended.  These are the obvious advantages of using foreign
key constrain