none
Modificar la estructura de una base de datos de forma que sea mucho mejor el mantenimiento del proyecto asociado

    General discussion

  • Estimados amigos gracias por su colaboración:

    Tengo una tabla para registrar productos que tiene todos sus campos o columnas como por ejemplo: Id, Descripción, Precio, etc; pero luego de un tiempo es necesario agregar 3 precios más a dichos productos ¿Cuál de las siguientes dos opciones sería la más adecuada para lograr un mejor mantenimiento de la estructura de la base de datos? Recuerden que eso implica modificar el código en el lenguaje de programación, procedimientos almacenados, etc. Además de que también el sistema ya está en producción y se debe actualizar con la nueva solicitud del cliente en varias PC:

    1. Crear esos tres nuevos precios en la misma tabla ejemplo: Precio2, Precio3 y Precio4

    2. Crear una tabla nueva con la siguiente estructura: Id, IdProductos, Precio2, Precio3 y Precio4; obviamente IdProductos es para hacer la relación con la tabla de productos que ya existe.

    Saludos y gracias.


    "Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada"

    Friday, April 12, 2013 10:27 PM

All replies

  • Con cualquier de las dos opciones Habra que modificar codigo....

    De pronto, seria mejor enfocarse en las mejores practicas en el termino de la base de datos en si... bajo esa perspectiva, es mejor la segunda opción, ya que normaliza la base de datos, y permite que un producto pueda tener solo un precio adicional, mientras que otros puedan tener dos, tres o mas....

    Ojo, es IdProducto, Precio, NumPrecio... mas o menos....

    saludos...


    Fredy R.(Co)

    Saturday, April 13, 2013 3:45 AM
  • Hola Fausto,

    Lo ideal sería tener las tablas normalizadas (3a forma normal), de manera que deberías tener algo como:

    a) Tabla Productos: IDProducto, Nombre, Descripción, ...

    b) Tabla PreciosProducto: IDPrecio, IDProducto, Precio (donde IDPrecio podría ser un autonúmerico).

    Como comenta Fredy, sea cual sea la solución deberás hacer cambios en el código.

    ¡Espero que te sirva!

    Saludos.


    Ferran Chopo
    MCPD Web, MCITP SQL Server
    Web: http://www.ferranchopo.com Twitter: @fchopo

    Sunday, April 14, 2013 7:57 PM
  • Ferran Chopo tiene la respuesta correcta a mi criterio.

    MVP MCT MCTS Daniel Calbimonte

    http://elpaladintecnologico.blogspot.com

    Monday, April 15, 2013 2:45 PM
  • Gracias muchachos también estoy de acuerdo con la segunda opción, puse la pregunta como debate para escuchar opciones y ver que piensan otras personas aparte de nuestro equipo de desarrollo, y sí es seguro que hay que modificar código en todo el sentido de la palabra.

    "Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada"

    Monday, April 15, 2013 6:22 PM