Access - planteamiento de base de datos

 
Vista:
sin imagen de perfil

planteamiento de base de datos

Publicado por abjk (2 intervenciones) el 06/08/2014 01:28:44
Buenas, me encuentro haciendo practicas en una empresa extranjera y me han pedido que les haga una pagina user friendly para vender sus productos porque antes tenian que apuntar los pedidos casi a mano en una hoja excel. Para hacer esto primero me han pedido que les haga una base de datos, no me han especificado que software preferian asi que me he puesto con Access ya que lo toque un poco durante los estudios. El problema es que no tengo muy fresco el como distribuir los diferentes campos. A grandes rasgos la empresa fabrica armarios para cableado de todas clases, y tienen diferentes modelos, con diferentes caracteristicas a elegir, de las que solo se pueden elegir una cada vez (tal clase de puerta, x clase de ventilacion...). A ver si esta foto lo explica un poco mejor:

Sintiacutetulo_zps82787a87

Hay 3 clases de armarios, y una de ellas a su vez se divide en otras 2, pero tienen identicas caracteristicas. En la foto solo muestro la tabla de uno de los modelos de armarios (Model_TC), pero las 4 tablas de modelos tienen los mismos campos. Las tablas amarillas son caracteristicas que comparten todos los armarios, y las verdes son especificas para 1 o varios armarios. La tabla OPC contiene el numero de referencia de los 4 armarios asi como su nombre y una breve descripcion. Aqui muestro el contenido de una de las tablas de caracteristicas.

Sintiacutetulo2_zps8c0af5a6

Todas son mas o menos iguales, hay varias posibilidades para cada caracteristica y solo puedes elegir una de cada. La idea seria conectar la base de datos a una pagina web y que empezaras eligiendo el modelo de armario, y a partir de ahi ir seleccionando las caracteristicas una por una, hecho esto se generaria un documento con el precio y las caracteristicas elegidas. Esta es la tabla OPC con la referencia de cada armario y su nombre, el armario TC se corresponde con la referencia ET.

Sintiacutetulo3_zps79c35dc8

Esta es la tabla especifica del armario TC, solo tiene un registro que obviamente es ET (texto), todos los demas campos son numericos para relacionarlos con la ID de las tablas de caracteristicas.

Sintiacutetulo4_zpsa0e06903

Tengo unas cuantas dudas al relacionar las tablas, por ejemplo, dado que el campo Bay (numerico) de la tabla MODEL_TC esta vacio y que quiero acceder al contenido de la tabla BAY_CC_TC a traves de IDBay1 (clave principal autonumerico), deberia forzar la actualizacion en cascada? En cuanto a las propiedades de la relacion, deberia dejarlo en la opcion 1 o cambiar a 2 porque el campo bay de MODEL_TC esta vacio? Mientras escribo tambien se me ocurre que tal vez no seria mejor cambiar la clave principal de las tablas de caracteristicas a las descripciones y asi me ahorraria campos numericos de Id?

Sintiacutetulo5_zpsfa63316b

Merece la pena mostrarlo todo mediante listboxes con querys (que me ponen pegas porque los campos enlazados son numericos y yo querria mostrar texto) o deberia eliminar las tablas de propiedades y crear listboxes manuales para cada campo en las 4 tablas de modelos de armarios y dejarme de complicaciones (aunque me parece chapucero)?

Como veis tengo un monton de dudas, desde el planteamiento de la base de datos (no se si habre cometido errores de base) hasta la decision de poner demasiadas ids numericas porque luego es un problema para hacer querys si quieres mostrar texto.

Ahora mismo tengo la base mas o menos asi (ref en MODEL_TC no es clave principal) y la idea seria conectar las tablas de los otros modelos a OPC y despues hacer igual que con MODEL_TC y las tablas de caracteristicas, pero algo me chirria y no se por que.

Sintiacutetulo6_zps56f8ff45

Si alguien me pudiera resolver cualquiera de estas dudas estaria muy agradecido, un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

planteamiento de base de datos

Publicado por JOSE (830 intervenciones) el 06/08/2014 18:30:44
creo que te sobran todas las relaciones


OPC y MODEL-TC si la relacion es 1 a 1 sobra la tabla OPC y añade el campo model en la tabla MODEL-TC


para introducir el color y demás caracteristicas, que tienes en otras tablas, basta que mediante un cuadro combinado cargues los valores en la tabla principal



por eso creo que te estás liando mucho
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

planteamiento de base de datos

Publicado por abjk (2 intervenciones) el 06/08/2014 23:34:51
Tienes mucha razon en lo que dices, el problema es que probablemente siga necesitando diferentes tablas para cada modelo porque tienen caracteristicas diferentes y no se si puedes cambiar el contenido de un listbox de un registro a otro, no se si me explico:

Sintiacutetulo7_zpsab30b599

Seria posible conseguir que al pasar al siguiente registro el contenido de la listbox fuera distinto? Si fuera asi con una sola tabla podria meter todos los modelos con sus diferentes caracteristicas. Tambien se me ocurre que podria enlazar las tablas de caracteristicas de forma individual con consultas, pero ya me parece muy enrevesado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar