From 271d66216c29c19a4596f341eb775b0ec2865a81 Mon Sep 17 00:00:00 2001 From: raul Date: Mon, 9 Dec 2024 10:43:12 +0100 Subject: [PATCH] Populate database --- db-config/init.sql | 75 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 71 insertions(+), 4 deletions(-) diff --git a/db-config/init.sql b/db-config/init.sql index a2360cf..df74ce2 100644 --- a/db-config/init.sql +++ b/db-config/init.sql @@ -1,10 +1,50 @@ -- create a table CREATE TABLE ALUMNOS ( id_alumno INT PRIMARY KEY GENERATED ALWAYS AS IDENTITY, - nombre TEXT NOT NULL, - apellido1 TEXT, - apellido2 TEXT, - email TEXT NOT NULL + nombre VARCHAR(255) NOT NULL, + apellido1 VARCHAR(255), + apellido2 VARCHAR(255), + email VARCHAR(255) NOT NULL +); + +CREATE TABLE PROFESORES ( + id_profesor INT PRIMARY KEY GENERATED ALWAYS AS IDENTITY, + nombre VARCHAR(255) NOT NULL, + apellido1 VARCHAR(255), + apellido2 VARCHAR(255), + email VARCHAR(255) NOT NULL +); + +CREATE TABLE CUESTIONARIOS ( + id_cuestionario INT PRIMARY KEY GENERATED ALWAYS AS IDENTITY, + id_profesor INT NOT NULL, + titulo VARCHAR(255) NOT NULL, + descripcion VARCHAR(255), + CONSTRAINT fk_profesor FOREIGN KEY(id_profesor) REFERENCES PROFESORES(id_profesor) +); + +CREATE TABLE PREGUNTAS ( + id_pregunta INT PRIMARY KEY GENERATED ALWAYS AS IDENTITY, + id_cuestionario INT NOT NULL, + enunciado VARCHAR(255) NOT NULL, + CONSTRAINT fk_cuestionario FOREIGN KEY(id_cuestionario) REFERENCES CUESTIONARIOS(id_cuestionario) +); + +CREATE TABLE RESPUESTAS ( + id_respuesta INT PRIMARY KEY GENERATED ALWAYS AS IDENTITY, + id_pregunta INT NOT NULL, + respuesta VARCHAR(255) NOT NULL, + es_verdadera BOOLEAN NOT NULL, + CONSTRAINT fk_pregunta FOREIGN KEY(id_pregunta) REFERENCES PREGUNTAS(id_pregunta) +); + +CREATE TABLE JUEGA ( + id_intento INT PRIMARY KEY, + id_alumno INT NOT NULL, + id_cuestionario INT NOT NULL, + num_correctas INT NOT NULL, + CONSTRAINT fk_alumno FOREIGN KEY(id_alumno) REFERENCES ALUMNOS(id_alumno), + CONSTRAINT id_cuestionario FOREIGN KEY(id_cuestionario) REFERENCES CUESTIONARIOS(id_cuestionario) ); -- add test data @@ -12,3 +52,30 @@ INSERT INTO ALUMNOS (nombre, apellido1, apellido2, email) VALUES ('Raúl', 'Bulgariu', 'Suciu', 'raul@bulgariu.xyz'), ('Pepito', 'Prueba', 'de Ejemplo', 'pepito@gmail.com'); +INSERT INTO PROFESORES (nombre, apellido1, apellido2, email) + VALUES ('Jacinto', 'Sánchez', 'Villa', 'j.sanchezvilla@gmail.com'); + +INSERT INTO PROFESORES (nombre, apellido1, email) + VALUES ('David', 'Balaguer', 'david@gmail.com'); + +INSERT INTO CUESTIONARIOS (id_profesor, titulo, descripcion) + VALUES (1, 'Examen SOM', 'Cuestionario con preguntas sobre SOM'), + (2, 'Examen OFI', 'Cuestionario con preguntas sobre OFI'); + +INSERT INTO PREGUNTAS (id_cuestionario, enunciado) + VALUES (1, 'Qué comando muestra los archivos del directorio actual?'), + (1, 'Como podemos editar un archivo de texto?'), + (2, 'Es GIMP un editor de texto?'); + +INSERT INTO RESPUESTAS (id_pregunta, respuesta, es_verdadera) + VALUES (1, 'whoami', false), + (1, 'ls', true), + (1, 'chmod', false), + (1, 'sudo', false), + (2, 'nano', true), + (2, 'cat', false), + (2, 'vim', true), + (2, 'less', false), + (3, 'Verdadero', false), + (3, 'Falso', true); +