Duda existencial : Diseño de base de datos

Hola a toda la comunidad, para empezar no se si este foro es el lugar correcto para poner esta duda que tengo:
En mis ratos libres, he pensado en desarrollar una aplicación en los diferentes frameworks que existen (Spring MVC, Struts, JSF), y para la persistencia de datos quiero usar Hibernate y MySQL, pero me surgió la duda al momento de hacer el diseño de la bd, supongamos que mi aplicación es acerca de un sitio de encuestas, donde las opciones son si, no, a veces, nunca.
¿Que es lo mejor? ¿hacer un campo por cada pregunta? o hacer una tabla y vincular un 'encuestado' a un solo campo con todas las respuestas separadas por coma, en un solo string, por ejemplo si,no,si,si,si,no,nunca... etc
¿O que es lo que proponen? Sirve que entramos en intercambio de ideas, porque javamexico se esta convirtiendo en un espacio 'resuelve tareas' y ya casi no se discuten temas.
Saludos !!

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

> ¿hacer un campo por cada

> ¿hacer un campo por cada pregunta?

Para cada pregunta? Te refieres a "para cada respuesta"?

> o hacer una tabla y vincular un 'encuestado' a un solo campo con todas las respuestas separadas por coma, en un solo string, por ejemplo si,no,si,si,si,no,nunca..

No. Eso de separar por coma se usaba como ultimo recurso para lugares donde no habia otra opcion, pero es mala idea en general.

Esta es una relación muchos a muchos y como tal necesita una tabla intermedia ( muchas preguntas y muchos encuestados ) para las respuestas, donde guardas el valor. Así puedes después usar esa misma estructura para guardar otros tipos de respuestas.

Imagen de alucard1

Gracias

Muy bien, gracias por la respuesta dada, eso soluciona incluso si las preguntas tienen categoría o si los usuarios tienen un rol diferente !! Voy a tomarlo en cuenta para el análisis que estoy haciendo, para lo cual surge otra duda, pero eso es a nivel Spring MVC.

Imagen de alucard1

No habra problema con hibernate?

Si quiero usar hibernate, tendria que crear n instancias de la tabla 'answer' , para guardar un formulario, de respuestas? eso es factible a nivel programacion?

Si

Si