OK I agree if you were using lots of different scripts written in different languages then using foreign key refs to validate would be a good idea, but with the case in hand most of the data will have to be validated in PHP (or whatever language is being used) as SQL cant validate it on its own, so adding one extra line to validate the gender would be niether here or there, and would be less than the coding required to handle the error generated by a failed foreign key validation.