-
Notifications
You must be signed in to change notification settings - Fork 0
ADR 1 ‐ Diseño de BD para Generación de Preguntas
El propósito de este documento es explicar las decisiones tomadas en el diseño de la base de datos para el sistema de generación de preguntas aleatorias. Se seleccionó MySQL como el sistema de gestión de bases de datos, y se optó por una estructura normalizada con tres tablas: Categorías, Preguntas y Respuestas.
Razones: Madurez y Estabilidad: MySQL es conocido por su estabilidad y madurez en entornos de producción. Rendimiento: Es eficiente para consultas estructuradas y escalabilidad. Amplia Comunidad: Cuenta con una comunidad activa que proporciona soporte y recursos abundantes.
Justificación:
Permite la clasificación y organización de preguntas por categorías. Facilita la actualización y mantenimiento de la información relacionada con las categorías.
Justificación:
Almacena las preguntas junto con su texto y la categoría a la que pertenecen. Utiliza una clave foránea para mantener la integridad referencial con la tabla de Categorías.
Justificación:
Almacena las respuestas asociadas a cada pregunta, indicando cuál es la correcta. Utiliza una clave foránea para mantener la integridad referencial con la tabla de Preguntas.
Razones del Rechazo:
Redundancia de Datos: Podría llevar a redundancia y dificultar la actualización consistente de la información. Complejidad de Mantenimiento: Mantener la integridad de los datos podría volverse más complejo con la gestión de datos duplicados.
Razones del Rechazo:
Estructura Relacional: La estructura de los datos es principalmente relacional, por lo que un sistema de base de datos relacional como MySQL es más apropiado. Experiencia y Compatibilidad: MySQL es ampliamente utilizado y bien soportado, y la elección se basa en la familiaridad y compatibilidad con herramientas existentes.
Conclusión: El diseño elegido busca equilibrar la simplicidad, eficiencia y mantenimiento de la base de datos para el sistema de generación de preguntas aleatorias. MySQL, con su estructura relacional y las tres tablas propuestas, proporciona una solución que se alinea con las necesidades específicas del proyecto. Este diseño permite una fácil actualización, mantenimiento y expansión del conjunto de preguntas en el futuro.