Ver Mensaje Individual
  #6 (permalink)  
Antiguo 03/04/2014, 08:37
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: Claves Foraneas

Desde la optica del modelo ER, una PK es un atributo o conjunto de atributos mínimo (la menor cantidad de ellos) que identifica una única instancia de una entidad. En ese sentido, la PK sólo se compone de atributos de la entidad, entendiendo por tales a aquellso elementos que sólo son parte de la misma.
Por ejemplo, en el caso de una entidad persona serían aquellos que la hacen unica (nombre, apellido, fecha y lugar de nacimiento, etc), pero por convención, se suele usar para tal la modealidad de inscripción el registro de personas de cada país.
Ahora bien, ¿qué conjunto de datos mínimo identifica un contrato? Eso es algo que debes definir tu. También como propuesta, si en tu universo de contratos, los mismos se numeran, y cada número es único, es eviodente que el numero del contrato es una clave candidata.

En el modelo físico o de tablas, una PK es un campo o conjunto de campos que identifica unívocamente un registro en una tabla. Esto puede parecer lo mismo que en el modelo relacional, pero no es necesariamente cierto.
¿Por qué?
Porque a nivel físico, una misma entidad puede tener que descomponerse en más de una tabla, de acuerdo a su normalziación o requisitos del sistema, lo que implciará una construcción de PK diferente a la esperada.
¿Se entiende?

En tu caso, si el contrato se numera, y ese numero es único, entonces esa es la PK.
Pero.. si el contrato está vinculado a más de una persona como contratante, y más de ua como contratado (no tengo ni idea de qué contratos estamos hablando), entonces habrá al menos cuatro tablas: Contrato, Contrato_contratante, Contrato_contratado y Persona. Cada una de estas tendrá PK, pero sólo Contrato y Persona tendran claves primarias simples, mientras que las otras serán compuestas.

En resumen: Necesitaríamos entender mejor qué se contratqa, qué es un abono, y qué personas particpàn, para hacer un modelo realista y correcto.
En cualquier caso, los principios son los mismos, y te conviene repasar los fundamentos del tema del modelo ER.

Lo que seguro no tiene sentido es que generes una tabla Contrato, con una clave compuesta donde el numero del mismo es parte de la clave, porque de ese modo el mismo numero de contrato puede vincularse a diferentes lotes y clientes, sin que por ello deje de ser una clave únbica. Además, como pdrás imaginar, eso traería inconsistencias de datos en la tabla.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)