Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/10/2010, 08:48
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: relacionar o no

Buenos días Tony Manero:

Cita:
al eliminar un registro padre eliminar de manera manual todos los registros hijos de otra tabla mediante codigo.
Creo que hay un detalle en cuanto al concepto que estás manejando. si estableces una relación con eliminación en cascada entonces si eliminas un padre automáticamente se eliminan todos los hijos. Si no tienes habilitada la eliminación en cascada NO PODRÁS ELIMINAR UN PADRE SI TIENE HIJOS ASIGNADOS. o lo que es lo mismo, primero tendrías que eliminar todos los hijos para poder eliminar en un segundo momento al registro padre (el error está en el orden en que manejas las eliminaciones).

En lo particular no suelo usar la eliminación en Cascada, pero depende de las necesidades que tengas.

El mayor problema que le veo es por ejemplo si haces una eliminación "erronea" es decir, si eliminas un registro que no debía ser borrado. Supongamos que tienes las tablas Clientes, Facturas y Detalle Facturas donde un cliente tienes una o más facturas y una Factura puede tener uno o más detalles de factura. Supongamos que por "error" eliminas a un cliente, si tienes habilitada la eliminación en cascada también eliminarías todas las facturas asignadas a ese cliente y todos los detalles asignados a esas facturas.

En caso de no tener habilitada la eliminación en cascada si se intenta eliminar un cliente que tenga al menos una factura marcaría un error y sólo podrían eliminarse aquellos clientes que no tuvieran facturas asignadas.

Te repito, es cuestión de necesidades, incluso puedes manejar un esquema de eliminación mixto.

Saludos
Leo.