09/04/2014, 09:26
|
| Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años Puntos: 2658 | |
Respuesta: Recomendarme como hacer Primary key de 2 tablas La tabla de Trabajos necesita la FK que apunte a Clientes, porque de lo contrario podrías dar de alta trabajos sin cliente, o bien trabajos asignados a clietnes que ya no existen. Es obligatoria desde el punto de vista funcional.
La PK que tenga la tabla de Trabajos es tema de discusión. Puedes dejarla como la hiciste, con un AI, y eso no te traerá problemas. Personalmente me gusta mas la opción de usar un discrinminante no AI, como por ejemplo un incremental por cliente, generando una clave compuesta, o bien un identificador de otra tabla, como podría ser una de OrdenDeTrabajo, si existiera. Pero en realidd es una decisión de diseño que se toma cuando haces el relevamiento de la empresa donde aplicará.
En cualquie caso, si quieres evitarte problemas al borrar clientes, simplemente le agregas en la definición de la FK las cláusulas ON DELETE CASCADE ON UPDATE CASCADE, y que la base se encargue del resto.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |