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

Ingreso de registros por campos ENUM

Estas en el tema de Ingreso de registros por campos ENUM en el foro de Mysql en Foros del Web. Buenas! Tengo una tabla que cuenta con 3 campos de tipo enum (tipo de producto, código de producto, tienda del producto) y uno de tipo ...
  #1 (permalink)  
Antiguo 16/07/2013, 08:58
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 5 meses
Puntos: 12
Ingreso de registros por campos ENUM

Buenas! Tengo una tabla que cuenta con 3 campos de tipo enum (tipo de producto, código de producto, tienda del producto) y uno de tipo float (precio del producto). Esta tabla sólo hará updates en la columna de precio ya que las otras van a quedar fijas.

Para comenzar a utilizarla (es una tabla recién creada) debo ingresar un registro por cada combinación de los primeros 3 campos, ya que los precios varían de producto a producto y también según la tienda que los expida. El tema es que al combinar las 3 posibilidades tengo un total de 3500 registros. ¿Es posible generar un registro por cada combinación posible de enum asignándole al campo restante un valor constante de algún modo medianamente automático? ¿O debo ingresar uno a uno?

Muchas gracias!
  #2 (permalink)  
Antiguo 16/07/2013, 10:05
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Ingreso de registros por campos ENUM

Por un lado, creo que estás errando completamente el concepto de tabla relacional...
Lo que describes es una tabla que relaciona tipo de producto, producto, local y precio. hasta allí, vamos bien. Pero:
- El tipo de producto debería (conceptualmente hablando) relacionar se con el producto, y por tanto no debería estar en esa tabla.
- Los otros campos (producto y tienda) deberían ser FK de sus respectivas tablas, para lo cual no se pueden usar ENUM que yo sepa, porque no coincidirían los tipos de dato.
- Siendo ENUM, tienes que definir la tabla entera con sus claves de valor, lo que implica que si tienes algunas pocas tiendas, no hay problema, pero si tienes muchos productos... francamente.

Me da la impresión de que quieres "facilitarte" crear un esquema para un sistema comercial "reducido", sin prever crecimiento alguno, y con existencias de productos restringidas... Ese sistema carecerá totalmente de dinamismo y capacidad de adaptación a las corrientes de mercado. Francamente lo veo poco útil, y con muchas complicaciones a futuro.

más allá de eso, la única forma de hacerlo sin hacerlo a mano, sería crear un SP que inicie los valores, pero desde ya te digo que esa forma de gestionar una relación N:N es un total error.

Pero, es tu decisión.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 17/07/2013, 14:17
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: Ingreso de registros por campos ENUM

Gracias! Tal vez haya cometido varios errores conceptuales. Lo único que se pretende por el momento mediante este sistema es cargar los precios de los productos para que luego la página web los recupere y los vaya modificando (según esquema de descuentos que dependen de variables que envía el usuario).

Los precios base se actualizan constantemente, por eso me parecía que precisaba sí o sí en una tabla de costos todas estas variables. Lo de el tipo de producto puede confundir, pero mi necesidad de ponerlo es porque hay productos que tienen el mismo código, pero se diferencian por el tipo (es raro y hasta podría considerarse un error pero así lo estableció la empresa y el sistema que hoy utilizan) ¿Algún consejo para armar el esquema de la mejor forma posible? Aún no lo empecé así que todo es adaptable...¡Muchas gracias!

Etiquetas: campo, campos, enum, ingreso, registro, registros, tabla
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 23:43.