Ver Mensaje Individual
  #8 (permalink)  
Antiguo 17/02/2016, 08:33
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: indices en mysql

Una PK compuesta (se denomina asi cuando la PK se compone de más de una columna) basada en un ID autonumerico más otro dato no es una opción muy buena que digamos. Tienes que tener en cuenta que la PK debe ser única, y debe identificar al registro en forma totalmente consistente.
Esto quiere decir que si la PK la compones de una parte numérica y otro campo mas, ambos campos deben poseer una combinación tal que no pueda llevar a inconsistencias.
Hacer un campo ID+CATEGORIA, por ejemplo, permite usar el mismo numero de ID para N categorías. Te obligaría a realizar validaciones extras para asegurarte la unicidad de la asignación del par de datos, o bien crear un campo declarado UNIQUE... con lo que estarías ante una clave alternativa o candidata, y de esa forma la PK compuesta se vuelve superflua.
La idea es que estos valores de PK serían validos en ese contexto:

Cita:
(1, AAA)
(1, AA)
(1, BB)
(2, AAA)
(3, AAA)
Como podras ver, hay variaciones en uno de los campos de la clave, que generan claves únicas legales.

Es preferible, si vas a trabajar una clave compuesta, que lo hagas con datos propios de la entidad representada, y que puedan validarse como únicos y no nulables.

Dinos cual es la entidad y el caso real, y veamos como te conviene hacer la PK.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)