Pues hasta que no corrijas los errores que te comenté pues no sé que más podría surgir.
Y sobre la base de datos, dices que no ves necesidad, pero si un analista de bases de datos ve lo que hiciste, de seguro se quedará medio calvo
La razón es simple, consistencia de datos, las correcciones que te dí son en aras de las buenas prácticas.
Mira
este tema, de seguro te ayudará a entender un poco más la necesidad y utilidad a la hora de usar FK.
Saludos