Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/04/2014, 09:26
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: 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)