none
Duda en Realizar Enumerable o Tabla RRS feed

  • Pregunta

  • Buen Dia

    Tengo la siguiente pregunta... existe una tabla en la base de datos que estoy trabajando que me indica los canales de venta:

       Tabla CanalesVenta 

    1 DISTRIBUIDOR
    2 MAYORISTA
    3 CI
    4 NORMAL
    5 FABRICANTE

    lo que me referencia esos datos a datos de Factura, mi pregunta es si es necesario tener estos datos como tabla o tenerlo como un enumerado?? esta tabla no va crecer en el futuro así que me gustaría una opinión de ustedes.

    martes, 6 de marzo de 2018 13:41

Respuestas

  • hola

    >>mi pregunta es si es necesario tener estos datos como tabla o tenerlo como un enumerado?

    depende

    si le preguntas a un DBA seguro te direa que lo tengas en tabla, mas que nada para poder asegurar la relacion de integridad y ademas si hay que crear queries de listado o reportes se puede obtener la descripcion

    Ahora si le preguntas a un progrador te direa que es innecesario ya que con el valor si la lista es fija puede obtener la descripcion del enum

    por lo general en las aplicaciones que desarolle se optan por ambas, se crea la tabla y demas se tiene el enum

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta greg_dorian martes, 6 de marzo de 2018 13:58
    martes, 6 de marzo de 2018 13:48

Todas las respuestas

  • La ventaja de tenerlo como tabla es que puedes hacer un JOIN, cosa que te facilita la escritura de sentencias de seleccion que muestren el nombre del campo, asi como la realizacion de informes, exportacion, etc. Si lo dejas como un enum, te fuerzas a realizar todas esas operaciones en el lado cliente aplicando C# sobre los resultados de la consulta. Aparte de complicarte la programacion, no tiene por que ser mas rapido que hacer el JOIN en el servidor, dado que los servidores de base de datos estan precisamente altamente optimizados para realizar este tipo de JOINs.

    Editado: Ademas, teniendolo como tabla, es sencillo aplicar una regla de integridad referencial, para evitar que se graben valores incorrestos en el campo relacionado. De no tener la tabla, tendrias que aplicar una restriccion de tipo CHECK, mas molesta de escribir y de mantener sincronizada con el enum.

    martes, 6 de marzo de 2018 13:46
    Moderador
  • hola

    >>mi pregunta es si es necesario tener estos datos como tabla o tenerlo como un enumerado?

    depende

    si le preguntas a un DBA seguro te direa que lo tengas en tabla, mas que nada para poder asegurar la relacion de integridad y ademas si hay que crear queries de listado o reportes se puede obtener la descripcion

    Ahora si le preguntas a un progrador te direa que es innecesario ya que con el valor si la lista es fija puede obtener la descripcion del enum

    por lo general en las aplicaciones que desarolle se optan por ambas, se crea la tabla y demas se tiene el enum

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta greg_dorian martes, 6 de marzo de 2018 13:58
    martes, 6 de marzo de 2018 13:48