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

Consultar recambios por modelo de vehículo

Estas en el tema de Consultar recambios por modelo de vehículo en el foro de Mysql en Foros del Web. Buenas noches a todos. Tengo una consulta que me está volviendo loco, posiblemente tenga mal diseñada la base de datos, la hice muy grande, no ...
  #1 (permalink)  
Antiguo 05/12/2013, 19:40
 
Fecha de Ingreso: agosto-2008
Ubicación: Canarias, España - París, Francia
Mensajes: 105
Antigüedad: 15 años, 8 meses
Puntos: 3
Consultar recambios por modelo de vehículo

Buenas noches a todos.

Tengo una consulta que me está volviendo loco, posiblemente tenga mal diseñada la base de datos, la hice muy grande, no tengo ni PI, o todo junto.

La cuestión es que tengo 6 tablas tal que así:

Marcas, Modelos, Modelos-Categorías, Categorías, Subcategorías, Productos.

Modelos-Categorías relaciona los modelos de coche con las Categorías de Recambio (Carrocería, Motor, Suspensión, etc.)

Pues bien, hasta ahora llego a Categorías y saca la Categoría o Categorías correspondiente al Modelo, pero en Categorías me salen todas las subcategorías, las tenga o no ese modelo.

Lo ideal es que si el coche BMW modelo M3, tiene 3 Categorías con recambios, me saque esas tres categorías con sus subcategorías, pero solo si esos recambios pertenecen a ese Modelo.

Bueno, me estoy enrrollando, lo mejor es que presente una imagen de mi modelo ER de la BD.


La idea es presentar todas las categorías, subcategorías y productos relacionados con un Modelo de coche.
  #2 (permalink)  
Antiguo 06/12/2013, 05:22
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Consultar recambios por modelo de vehículo

Creo que con esa estructura no podrás hacerlo. Deberías tener una tabla en la que relacionaras modelos con productos. De poco o nada te sirve la relación de modelos con categorías, y además me parece un error, pues las categorías son de productos, al igual que la subcategorías, o al menos así lo entiendo yo. Si tuvieras esa tabla productos modelos, llegarías a donde quieres. Con lo que tienes solo puedes sacar categorías que tú has relacionado con los modelos, pero nada más, y como una categoría tiene varias subcategorías, te las trae todas, claro, y si buscas productos para ese modelo te traerá todos los de esas categorías para las que existe una categoría relacionada con el modelo, pero todo eso es, en mi opinión, un error de diseño. Lo que debe relacionarse con un modelo son los productos que hay para él. Así lo entiendo yo, salvo que ofrezcas otra información que me haga cambiar de opinión sobre ello.
  #3 (permalink)  
Antiguo 06/12/2013, 07:28
 
Fecha de Ingreso: agosto-2008
Ubicación: Canarias, España - París, Francia
Mensajes: 105
Antigüedad: 15 años, 8 meses
Puntos: 3
Respuesta: Consultar recambios por modelo de vehículo

Cita:
Iniciado por jurena Ver Mensaje
Creo que con esa estructura no podrás hacerlo. Deberías tener una tabla en la que relacionaras modelos con productos. De poco o nada te sirve la relación de modelos con categorías, y además me parece un error, pues las categorías son de productos, al igual que la subcategorías, o al menos así lo entiendo yo. Si tuvieras esa tabla productos modelos, llegarías a donde quieres. Con lo que tienes solo puedes sacar categorías que tú has relacionado con los modelos, pero nada más, y como una categoría tiene varias subcategorías, te las trae todas, claro, y si buscas productos para ese modelo te traerá todos los de esas categorías para las que existe una categoría relacionada con el modelo, pero todo eso es, en mi opinión, un error de diseño. Lo que debe relacionarse con un modelo son los productos que hay para él. Así lo entiendo yo, salvo que ofrezcas otra información que me haga cambiar de opinión sobre ello.
Muchas gracias amigo jurena, por quererlo hacer tan estrictamente correcto me lié y cree tablas por un tubo.
Lo voy a hacer de la siguiente manera:
Una tabla "Piezas" que se relacione con "Modelos" y "Marcas" y con "Fabricantes", las categorías y subcategorías se las meto en la misma tabla de "Piezas" (antes llamada productos).
  #4 (permalink)  
Antiguo 06/12/2013, 09:18
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Consultar recambios por modelo de vehículo

A ver,
si el modelo ya lleva la marca como campo propio del modelo, deberías tener una tabla de modelos_productos, pues los productos no son para todos los modelos de una marca, sino para alguno o uno solo. Así lo entiendo yo. Acláranos algo más sobre la naturaleza de las tablas y podremos ayudarte mejor. ¿Qué incluye y para qué sirve cada una?
Por cierto, un producto podrá pertenecer a una o varias subcategorías, y la subcategoría a una categoría. Así lo entiendo yo, aunque tú me dirás si un producto puede o no pertenecer a varias subcategorías. Si un producto solo pudiera pertenecer a una subcategoría, te bastaría una FKsubcategoria en la tabla productos, pero tienes que aclararnos más sobre las tablas, sus campos, sus relaciones, lo que quieres hacer...

Última edición por jurena; 06/12/2013 a las 10:16

Etiquetas: tablascruzadas
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 11:17.