Afortunadamente he tenido profesores mas sensatos que me han enseñado lo importante que es mantener la integridad referencial en una base de datos. Por supuesto que es complejo y provoca errores, pero es complejo porque OBLIGA a pensar detenidamente y en serio cual debe ser la estructura de la base de datos, algo que parece ser poco frecuente, por desgracia; y si provoca errores es porque no se mantiene la estructura lógica de la información, cometiendo barbaridades que ocasionan que la información almacenada no sea totalmente coherente.
Llevo veinte años como programador y estoy cansado de ver gente que no se preocupa nada o casi nada de seguir una cierta metodología de trabajo, de cuidar los detalles, de estructurar el código, de probar adecuadamente las diferentes partes del programa, de controlar los posibles errores, ...
En fin. Yo, por mi parte, creo que no es suficiente con hacer un trabajo; hay que hacerlo con todo el esmero y cuidado que podamos poner.