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