Saltar al contenido

Diseño de base de datos para preguntas y respuestas

Te recomendamos que revises esta solución en un entorno controlado antes de pasarlo a producción, saludos.

Solución:

Tenemos una aplicación en nuestro lugar de trabajo que hace algo similar. Funciona al tener una tabla que contiene una lista de todas las preguntas posibles como esta:

CREATE TABLE QUESTIONS
(
   ID INT NOT NULL PRIMARY KEY,
   SUMMARY NVARCHAR(64) NOT NULL UNIQUE,
   DESCRIPTION NVARCHAR(255) NULL
);

Luego tiene una tabla de RESPUESTAS y CUESTIONARIOS definida usando la misma estructura anterior. Una vez que tenga estas dos tablas, defina una tabla para contener la lista de posibilidades de preguntas/respuestas como tal:

CREATE TABLE QUESTION_ANSWERS
(
   ID INT NOT NULL PRIMARY KEY,
   QUESTION INT NOT NULL REFERENCES QUESTIONS(ID),
   ANSWER INT NOT NULL REFERENCES ANSWERS(ID)
);

Una vez que tenga estos, puede crear una tabla para contener las respuestas como tales:

CREATE TABLE RESPONSES
(
   QUESTIONAIRE INT NOT NULL REFERENCES QUESTIONAIRES(ID),
   RESPONSE INT NOT NULL REFERENCES QUESTION_ANSWERS(ID)
);

Esto le dará la máxima flexibilidad permitiéndole agregar nuevas preguntas y respuestas sin tener que cambiar el diseño de su base de datos con frecuencia. Puede ser un poco complicado si necesita versionar las preguntas/respuestas, pero esto debería darle un buen punto de apoyo para trabajar.

Espero que esto te ayude.

Puntuaciones y reseñas

Puedes añadir valor a nuestra información tributando tu experiencia en las reseñas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *