Ver Mensaje Individual
  #6 (permalink)  
Antiguo 25/01/2010, 06:59
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: herencia en mysql

Cita:
Y si quiero introducir un nuevo directivo en la BD con dni, nombre, apellido1, apellido2 y cargo...
tengo q insertar primero en la tabla persona dni,nombre y apellidos y luego insertar en directivo dni y cargo, es así?
SI.
El problema es que cuando haces un INSERT, DELETE o UPDATE, el mismo DBMS realiza antes de realizar efectivamente la operación algunas comprobaciones entre las que se cuentan: que la cantidad de campos entrantes correspondan en tipo y número con los que se indican, Que los tipos de datos sean válidos (tipo de columna), que se respeten las restricciones de NOT NULL, y que se respete la integridad referencial, la cual en este caso significa que verifica que la FK que se está ingresando como valor exista ya en la tabla a la que esa FK hace referencia.
Entonces, siempre y en todos los casos, las tablas dependientes deben cargarse luego de que los valores de las FK ya estén en las tablas primarias.
Los únicos casos en que esto no funciona es al usar tablas MyISAM (que no tienen restricciones de clave foránea), o si desactivas la comprobación de FK, cosa que se debe hacer bajo condiciones muy estrictas y sólo por optimización de carga de datos a gran escala.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)