Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Relación muchos a muchos y problemas PK

Estas en el tema de Relación muchos a muchos y problemas PK en el foro de Mysql en Foros del Web. Buenos días a todos! Tengo una tabla llamada modelos (modelos de coches) y otra tabla llamada categorías (las categorías de piezas que tiene, suspensión, carrocería, ...
  #1 (permalink)  
Antiguo 09/01/2014, 10:01
 
Fecha de Ingreso: agosto-2008
Ubicación: Canarias, España - París, Francia
Mensajes: 105
Antigüedad: 16 años, 3 meses
Puntos: 3
Relación muchos a muchos y problemas PK

Buenos días a todos!
Tengo una tabla llamada modelos (modelos de coches) y otra tabla llamada categorías (las categorías de piezas que tiene, suspensión, carrocería, etc).

Como un modelo de vehículo tiene muchas categorías y una categoría tiene muchos modelos.
Ej: Todo SEAT Ibiza tiene categoría carrocería, suspensión, etc. y la categoría suspensión la tienen todos los coches. Pues he creado una tabla intermedia que guarda la id_categoria y la id_modelo. Esa tabla es modelo_has_categorias.

La cuestión es que cuando añado un producto cuya categoría y modelo ya se ha dado de alta, me suelta un error, tal que así:
Código HTML:
Ver original
  1. Falla categoria_has_modelos: Duplicate entry '9-1' for key 'PRIMARY'
Se que una tabla de relaciones muchos a muchos usa como CLAVE PRIMARIA las dos claves foráneas, pero entonces ¿cómo lo hago?

Muchas gracias
  #2 (permalink)  
Antiguo 09/01/2014, 10:22
Avatar de 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: Relación muchos a muchos y problemas PK

Es un error de modelado.
Si un vehiculoo tiene una categoría, y a su vez cada componente del mismo tiene su propia categoría, el modelado requiere unmayor despliegue de entidades.

Esta sería una aproximación:



Esto está más orientado a componentes:



Esta sería una version simplificada:

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: relaciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:30.