82 lines
2.6 KiB
SQL
82 lines
2.6 KiB
SQL
-- create a table
|
|
CREATE TABLE ALUMNOS (
|
|
id_alumno 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 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
|
|
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);
|
|
|