Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/07/2007, 15:53
Avatar de Bellenger
Bellenger
 
Fecha de Ingreso: noviembre-2004
Ubicación: En un lugar del Mundo...
Mensajes: 599
Antigüedad: 19 años, 5 meses
Puntos: 4
Usar SET o ENUM, Que tan viable es???...

Hola, a todos los foreroes, nuevamente molestando, quisiera hacerles una pregunta a criterio personal o de desarrollo. Estoy trabajando en una bd, para un censo, y he llegado a una pregunta en la cual puedo almacenar de una a mas respuestas, dependiendo del usuario, ejemplo:
Pregunta: Con que servicios cuentas en Casa?
Opciones:
1. Luz
2. Agua
3. Desague
4. Telefono
5. Cable
6. Otros

como se sabe, la persona puede marcar desde 0 opciones a todas. Y he aqui donde viene mi pregunta, en un desarrollo normal se tendria que crear los 6 campos para estas opciones, lo cual conllevaria a que estas opciones sean estaticas y por lo cual si mas adelante quisieramos agregar una opcion mas tendriamos que modificar la estructura de la tabla. ejemplo:
Agregamos la opcion Internet:

1. Luz
2. Agua
3. Desague
4. Telefono
5. Cable
6. Internet
7. Otros

Como se aprecia ahora tenemos 7 opciones, y lo hemos logrado agregando un atributo mas a nuestra tabla. Pero existe una solucion revisando los tipos de datos de MySQL, encontre que existen dos tipos de datos llamados ENUM, y SET, los cuales pueden guardar un rango de valores como si fuera uno, segun entendi. siendo asi veo yo, que creando un solo campo denominado servicios por ejemplo, puedo almacenar toda la lista anteriormente mencionada, e inclusive si la lista cambia todo lo podria almacenar en un mismo campo, claro segun lei maximo 64 valores. Siendo este una solucion viable aparentemente en teoria, viene el problema de la practica, al momento de programar (PHP), tendria que utilizar una funcion que me desglozara estos valores individualmente (explode), y asi poder mostrarlos individualmente en una interfaz y si quiero actualizarla, segun veo se tendria que hacer el mismo proceso a la inversa. La pregunta es::: que tan viable es hacer esto y que problemas puede ocasionar utilizar esta solucion, seguro que a alguien ya se le ha ocurrido hacer esto, y me gustaria que me de su opinion sobre este detalle. Bueno gente forera espero sus respuestas y sus consejos en esta mi encruzijada. nos vemos...
Me olvidaba tener en cuenta que al hacer esto n oexistiria relacion entre la tabla donde se encuentran los servicios, con la de las personas...

Última edición por Bellenger; 26/07/2007 a las 16:33 Razón: me falto...