Duda sobre tabla maestra ARTÍCULOS


([N1] gdp.fran.gmail) #1

Hola,

Tengo la siguiente duda:

Tengo una tabla maestra ARTÍCULOS. He dividido el total de los artículos posibles en 5 familias. Los articulos presentan un conjunto de campos que detallan su informacion en funcion de a que familia pertenezcan. En el caso de una de esas familias, los articulos de esa familian tienen hasta 20 campos de informacion complementaria.

La pregunta es como organizo la estructura de datos, en principio he pensado en que la tabla ARTÍCULOS este enlazada a 5 tablas que contengan los campos de personalización en cada caso. Es eso correcto? En el caso de las búsquedas futuras, desde la tabla artículos podré hacer búsquedas en función de los indices de las otras 5 tablas?

Llevo con velneo poco tiempo, por lo que es posible que la pregunta sea tonta.

Saludos.


([N1] Pepeto) #2

Y no es mejor una tabla ARTICULOS con un enlace a una tabla FAMILIAS
Puedes utilizar el indice FAMILIAS de la tabla ARTICULOS para buscar los articulos de cada familia
Edito:
En la misma tabla articulos puedes tener diferentes campos , que puedes visualizar / ocultar dependiendo de la Familia a la que pertenezca el articulo

un saludo
José Luis
http://www.ascsl.com


([N1] gdp.fran.gmail) #3

Gracias por la respuesta tan rápida. También había pensado en meter todos los campos en la tabla ARTÍCULOS, y luego condicionar la visibilidad de los campos e incluso de los tabs (si es que se puede esto ultimo) .

Pues voy adelante con ello e informo de los resultados. Gracias


([N1] Giuseppe::Komenco) #4

@gdp.fran.gmail

Sería interesante que nos explicaras qué es exactamente lo que intentas hacer, qué comportamiento debe tener la aplicación con esos artículos, qué son esos campos de personalización etc... para poder dar una mejor visión...Te iba a contestar lo mismo que @Pepeto, pero relellendo tu mensaje, creo que no es eso lo que necesitas, pero tampoco me queda muy claro..

Creo entender, que tienes unos productos, que pertenecen a distintas familias, y luego, partiendo de si pertenece a una u otra familia, el producto tendrá ciertos datos personalizables...por ejemplo, si es ZAPATO tendrá talla y color, y si es ENVASADO tendrá Peso, por ejemplo.....eso es lo que intentas?


([N1] gdp.fran.gmail) #5

@Giuseppe

Lo que pretendo es exactamente lo que has contado en tu respuesta. Quiero tener una familia que sea ZAPATERIA y para los artículos de esa familia ( ZAPATOS ) almacenar información especifica para esos productos, p. ejemplo, color , talla, cm de tacon, adulto/infantil, etc ( esto es un ejemplo ). ¿Por que quiero hacerlo ? Por que esta primera tabla Artículos, le voy a crear un proyecto de aplicación, le creo una instancia y el objetivo es que el conjunto de clientes del comercio, acceda via vWebclient para hacer búsquedas de este tipo:

"Busco un zapato de la talla 38, color marron sin tacon y que sea de mujer por un precio de entre 30-40€"

Lanzar la búsqueda, y presentar los resultados en una rejilla para que desde ahí el usuario acceda a la ficha del que mas le convenga.

Todas las características como están predefinidas, las enlazo a tablas estáticas.

El motivo de la pregunta, inicialmente era, que si desagrupo la tabla Articulos en una combinación como esta:

Articulos

Zapatos Electrodomesticos Alimentación Deportes

Si en el futuro era posible lanzar una busqueda en la tabla Articulos en función de los campos almacenados en las otras tablas.

Según he visto con vuestras respuestas, conceptualmente es más interesante agrupar en la tabla Artículos todas las características de todos los posibles tipos de articulos y controlar la visualización en el formulario en función del valor del campo FAMILIA.

Si esto es así, supongo que el rendimiento de la aplicación en la nube mejorará , ¿no?

Gracias de antemano


([N1] Giuseppe::Komenco) #6

Lo ideal, pero que sí sería un coñazo (que no imposible) en Velneo, sería tener una tabla Artículos -> Familias -> DatosPersonalización
Así podrías crear "on the fly" nuevos campos de personalización y registras los datos en una tabla de Artículos-Familia-Datos

Ahora, si no quieres morir en el intento y quemarnos el foro, lo suyo es que tengas todos los campos de personalización en la tabla Articulos. Se me ocurre, que puedes diferenciar los campos de personalización por grupos, y campos booleanos en la tabla de familias.
Por ejemplo.
ZAPATOS -> Talla y Color
Alimentación -> Peso
Electrodomésticos-> Altura

En la tabla familias, el campo TallaColor sería un booleano, que para el caso de Zapatos lo pondrías a True.
Para alimentación lo mismo, un campo Peso, que para este caso estaría a True (y a False para Zapatos)

En el formulario de Articulos, diferenciaría los campos de personalización en un "separador de formularios" (un tab control de toda la vida), con los distintos grupos donde su condición de visible fuera el booleano correspondiente de la familia.

Para la rejilla podrías montarte algo parecido. Donde las condiciones de visibilidad de las distintas columans que no te interesen, partieran de la condición del "grupo" que tienes en la tabla Familia...

Lo más rápido, como hacen muchas aplicaciones, te dan la opción de meter el peso, y si no lo usas o no aplica, no lo pongas, pero no te preocupas por ocultarlo, y te ahorrarías muchos dolores de cabeza, pero no queda tan elegante, eso sí.

Espero no haberte liado...


([N1] Pepeto) #7

@Giusseppe

Cuando hablo de Visualizar / Ocultar campos con condiciones de visubilidad segun la Familia a la que corresponde el articulo, podemos hacerlo a piñon, poniendo las condiciones en cada uno de los campos.

Pero veo que hay que aclarar las cosas para que no se desmadren :)

Podemos crear diferentes Sub-formularios (para utilizar con el Separador de formularios) y en cada uno de ellos, mostrar los campos necesarios para cada una de las familias, y aplicar la condicion de visibilidad unicamente al sub-formulario correspondiente.

De esta forma solo utilizamos una condicion de visibilidad y ademas, en edicion, el desarrollador ve lo mismo que va a ver el usuario.

En la vida se me ocurriria poner las condiciones a cada uno de los campos por separado, ya que eso, ademas de ser dificil de mantener, lleva mucho mas trabajo y en ejecución tambien suponer tener que realizar las mismas comprobaciones multitud de veces, lo que empeora el rendimiento.

Lo simple es mucho mejor. ;)

un saludo
José Luis
http://www.ascsl.com


([N1] Giuseppe::Komenco) #8

@Pepeto

Me explayé en mi explicación más que nada ya que como @gdp.fran.gmail comentó que llevaba poco con Velneo, quizás no veía como hacerlo :D

Un saludo.


([N1] gdp.fran.gmail) #9

Voy a probar y os cuento mis resultados. Gracias!