mm Bueno .. cuando uno diseña una aplicación .. igual que elige el lenguaje que necesita (por las características de los requerimientos de la aplicación) .. también hay que dedicarle tiempo a ver que Base de datos te vienen mejor por los requerimientos de tu aplicación y .. como es este caso de "funcionalidades" de la misma.
Mysql puede trabajar con algo de "integridad referencial" si usas tablas tipo InnoDB (en lugar de las "por defecto": MyISAM) .. El soporte completo de "Integridad referencial" está -previsto- para versiones de Msyql 4.1.x en adelante que todavía están en fase de desarrollo (pero puedes bajarlas para ir probando ...).
Toda esa información la tienes en la web oficial de Mysql:
www.mysql.com
Y en artículos de:
www.mysql-hispano.com
Por lo demás .. si requieres de esas funcionalidades para tu modelo de datos y aplicación (y otras más que tal vez hechas en falta como "store procedure" .. "triggers" .. etc) Podrías usar otras "base de datos" RDBM como por ejemplo (dentro den mundo "GNU/GPL gratuito"): PostgreSQL (
www.postgresql.com), Interbase .. y algunas más.
Un saludo,