Merge students and teachers into same table
This commit is contained in:
parent
b673009635
commit
115110a19b
|
@ -1,38 +1,31 @@
|
|||
-- create a table
|
||||
CREATE TABLE ALUMNOS (
|
||||
id_alumno INT PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
|
||||
CREATE TYPE role AS ENUM ('estudiante', 'profesor', 'admin');
|
||||
|
||||
CREATE TABLE usuarios (
|
||||
id_usuario INT PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
|
||||
email VARCHAR(255) UNIQUE NOT NULL,
|
||||
nombre VARCHAR(255) NOT NULL,
|
||||
apellido1 VARCHAR(255),
|
||||
apellido2 VARCHAR(255),
|
||||
email VARCHAR(255) NOT NULL,
|
||||
password VARCHAR(255) NOT NULL
|
||||
password VARCHAR(255) NOT NULL,
|
||||
rol role 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,
|
||||
password VARCHAR(255) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE CUESTIONARIOS (
|
||||
CREATE TABLE cuestionarios (
|
||||
id_cuestionario INT PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
|
||||
id_profesor INT NOT NULL,
|
||||
id_usuario INT NOT NULL,
|
||||
titulo VARCHAR(255) NOT NULL,
|
||||
descripcion VARCHAR(255),
|
||||
CONSTRAINT fk_profesor FOREIGN KEY(id_profesor) REFERENCES PROFESORES(id_profesor)
|
||||
CONSTRAINT fk_usuario FOREIGN KEY(id_usuario) REFERENCES USUARIOS(id_usuario)
|
||||
);
|
||||
|
||||
CREATE TABLE PREGUNTAS (
|
||||
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 (
|
||||
CREATE TABLE respuestas (
|
||||
id_respuesta INT PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
|
||||
id_pregunta INT NOT NULL,
|
||||
respuesta VARCHAR(255) NOT NULL,
|
||||
|
@ -40,29 +33,31 @@ CREATE TABLE RESPUESTAS (
|
|||
CONSTRAINT fk_pregunta FOREIGN KEY(id_pregunta) REFERENCES PREGUNTAS(id_pregunta)
|
||||
);
|
||||
|
||||
CREATE TABLE JUEGA (
|
||||
CREATE TABLE juega (
|
||||
id_intento INT PRIMARY KEY,
|
||||
id_alumno INT NOT NULL,
|
||||
id_usuario 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 fk_usuario FOREIGN KEY(id_usuario) REFERENCES USUARIOS(id_usuario),
|
||||
CONSTRAINT id_cuestionario FOREIGN KEY(id_cuestionario) REFERENCES CUESTIONARIOS(id_cuestionario)
|
||||
);
|
||||
|
||||
-- add test data
|
||||
INSERT INTO ALUMNOS (nombre, apellido1, apellido2, email, password)
|
||||
VALUES ('Raúl', 'Bulgariu', 'Suciu', 'raul@bulgariu.xyz', 'ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f'),
|
||||
('Pepito', 'Prueba', 'de Ejemplo', 'pepito@gmail.com', 'ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f');
|
||||
INSERT INTO usuarios (nombre, apellido1, apellido2, email, password, rol)
|
||||
VALUES ('Raúl', 'Bulgariu', 'Suciu', 'raul@bulgariu.xyz', 'ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f', 'admin'),
|
||||
('Jacinto', 'Sánchez', 'Villa', 'j.sanchezvilla@gmail.com', 'ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f', 'profesor'),
|
||||
('David', 'Balaguer', 'Garcia', 'david@gmail.com', 'ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f', 'profesor'),
|
||||
('Aaron', 'Martinez', '', 'aaron@martinez.xyz', 'ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f', 'estudiante');
|
||||
|
||||
INSERT INTO PROFESORES (nombre, apellido1, apellido2, email, password)
|
||||
VALUES ('Jacinto', 'Sánchez', 'Villa', 'j.sanchezvilla@gmail.com', 'ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f');
|
||||
INSERT INTO CUESTIONARIOS (id_usuario, titulo, descripcion)
|
||||
SELECT id_usuario, 'Examen SOM', 'Cuestionario con preguntas sobre SOM'
|
||||
FROM usuarios
|
||||
WHERE email = 'j.sanchezvilla@gmail.com';
|
||||
|
||||
INSERT INTO PROFESORES (nombre, apellido1, email, password)
|
||||
VALUES ('David', 'Balaguer', 'david@gmail.com', 'ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f');
|
||||
|
||||
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 CUESTIONARIOS (id_usuario, titulo, descripcion)
|
||||
SELECT id_usuario, 'Examen OFI', 'Cuestionario con preguntas sobre OFI'
|
||||
FROM usuarios
|
||||
WHERE email = 'david@gmail.com';
|
||||
|
||||
INSERT INTO PREGUNTAS (id_cuestionario, enunciado)
|
||||
VALUES (1, 'Qué comando muestra los archivos del directorio actual?'),
|
||||
|
|
Loading…
Reference in New Issue