L'option "FOREIGN KEYS" n'est pas obligatoire. Elle est même très rarement utilisée. Pour ma part, depuis vingt ans que je fais de l'informatique professionnellement, je ne l'ai vue employée qu'une seule fois, et bien sûr cela a créer des tas de problèmes dont on se serait volontiers passé.
Mon avis personnel, est que, de même que les bons journalistes séparent l'observation d'un côté, et les commentaires d'un autre côté, les bons informaticiens séparent les données d'un côté, et les traitements d'un autre côté. Laisser aux programmes d'insertion de données le soin de contrôler ces données.