Ver Mensaje Individual
  #8 (permalink)  
Antiguo 26/04/2011, 15:40
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, 5 meses
Puntos: 2658
Respuesta: DELETE a varias tablas

Más o menos por allí. Tienes que tener en cuenta que las FK no se ponen arbitrariamente.
Se debe analizar las entidades que componen el sistema y las relaciones establecidas primero; luego, cuando ya se tiene ese esquema base, se realiza la normalización de la base y es allí donde surge la mayoría de los requerimientos de FK.
El hecho de que tengas, por ejemplo, un Cliente, no implica que el ID del cliente esté en todas las partes que aparentemente están vinculadas. Por caso, el cliente hace compras, pero la factura de la compra a su vez tiene sólo una aparición del cliente, en el encabezado; el detalle de la factura (los items comprados) componen otra tabla y en esa tabla no se hereda el numero de cliente. En otros casos, el cliente no se hereda en ciertos documentos, pero si el numero de la factura o el ID del documento que corresponda. No se heredan porque se debe evitar la redundancia innecesaria.
Relaciones como esa sólo se pueden ver claramente cuando se grafica la base de datos con ayuda de alguna aplicación, como MySQL Workbench, DBDesigner o algo así.
Si has usado algo por el estilo, sería una buena idea que mostraras el gráfico, para ver si hay exceso de FK o si están faltando relaciones que no se vean bien.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)