Continuando con nuestro sistema de encuestas y tras el análisis de requisitos realizado en http://www.todoasp.net/blogs/indigo/archive/2007/11/30/sistema-de-encuestas-parte-1.aspx he realizado el siguiente modelado de datos:

En él tenemos, PoolQuestions donde se guardarán las preguntas de las encuestas, PoolOptions, donde guardaremos las respuestas posibles de la pregunta. En PoolFilters guardaremos los filtros para evitar que una misma persona vote dos veces en la misma encuesta. Cabe destacar el campo Tags en PoolQuestions que nos servirá para categorizar las encuestas y poder presentar a los usuarios encuestas acordes a una temática en concreto, por ejemplo, “programación en c#”. También destacó el campo key de PoolFilters donde guardaremos por ejemplo la IP desde donde se realiza la votación o el nombre de usuario que realiza la votación en páginas donde los usuarios estén registrados.
Con esto ya tenemos nuestro modelo de datos. Próximamente haremos el modelo de objetos y nos pondremos a programas. Así que hasta la próxima entrega.