-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdatabase.sql
More file actions
197 lines (170 loc) · 5.26 KB
/
database.sql
File metadata and controls
197 lines (170 loc) · 5.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
DROP DATABASE IF EXISTS aurum;
CREATE DATABASE IF NOT EXISTS aurum;
USE aurum;
CREATE TABLE usuario (
id INT AUTO_INCREMENT PRIMARY KEY NOT NULL,
CI CHAR(8) UNIQUE NOT NULL,
nombre VARCHAR(25) NOT NULL,
apellido VARCHAR(25) NOT NULL,
email VARCHAR(320) NOT NULL,
contrasena VARCHAR(150) NOT NULL,
imagen VARCHAR(50) NOT NULL,
tipo ENUM('alumno', 'docente', 'admin') NOT NULL,
primer_login BOOl NOT NULL
);
CREATE TABLE cedulas (
id INT AUTO_INCREMENT PRIMARY KEY NOT NULL,
cedula CHAR(8) UNIQUE NOT NULL
);
/* Esta tabla almacenara los grupos de los Alumnos*/
CREATE TABLE grupos_alumno (
idAlumno INT NOT NULL,
grupo CHAR (4) NOT NULL,
CONSTRAINT FK_idAlumno_grupo FOREIGN KEY (idAlumno)
REFERENCES usuario(id) ON DELETE CASCADE
);
CREATE TABLE horarios (
ciDocente CHAR (8) PRIMARY KEY NOT NULL,
dia_minimo INT,
dia_maximo INT,
hora_minima CHAR(5),
hora_maxima CHAR(5),
registro_horarios BOOL NOT NULL,
CONSTRAINT FK_docente_horarios FOREIGN KEY (ciDocente)
REFERENCES usuario(CI) ON DELETE CASCADE
);
/* Esta tabla almacenara los grupos de los docentes*/
CREATE TABLE grupos_docente(
idDocente INT NOT NULL,
grupo CHAR (4) NOT NULL,
CONSTRAINT FK_idDocente_grupo FOREIGN KEY (idDocente)
REFERENCES usuario(id) ON DELETE CASCADE
);
/* Esta tabla almacenara los Asignaturas de los docentes*/
CREATE TABLE asignaturas_docente (
idDocente INT NOT NULL,
asignatura VARCHAR (30) NOT NULL,
CONSTRAINT FK_idDocente_asignatura FOREIGN KEY (idDocente)
REFERENCES usuario(id) ON DELETE CASCADE
);
/*PARA EL ADMIN Tabla donde se almacenan los alumnos previos a ingresar al sistema */
CREATE TABLE pendiente (
idAlumno INT PRIMARY KEY AUTO_INCREMENT NOT NULL,
CI CHAR(8) UNIQUE NOT NULL,
nombre VARCHAR(30) NOT NULL,
apellido VARCHAR(30) NOT NULL,
email VARCHAR(320) NOT NULL,
contrasena VARCHAR(150) NOT NULL,
imagen VARCHAR(50) NOT NULL,
tipo ENUM('alumno', 'docente', 'admin') NOT NULL,
primer_login BOOL
);
CREATE TABLE grupos_pendiente (
idAlumno INT NOT NULL,
grupo CHAR (4) NOT NULL,
CONSTRAINT FK_idAlumno_grupoPendiente FOREIGN KEY (idAlumno)
REFERENCES pendiente(idAlumno) ON DELETE CASCADE
);
CREATE TABLE consultas (
id INT PRIMARY KEY AUTO_INCREMENT NOT NULL,
idAlumno INT NOT NULL,
idDocente INT NOT NULL,
titulo VARCHAR(100) NOT NULL,
descripcion VARCHAR(255) NOT NULL,
respuesta VARCHAR (5000),
fecha CHAR(10) NOT NULL,
estado VARCHAR (10) NOT NULL,
CONSTRAINT FK_Alumno_idAlumno_consulta3 FOREIGN KEY (idAlumno)
REFERENCES usuario(id) ON DELETE CASCADE,
CONSTRAINT FK_Alumno_idDocente_consulta3 FOREIGN KEY (idDocente)
REFERENCES usuario(id) ON DELETE CASCADE
);
CREATE TABLE asignaturas (
id INT PRIMARY KEY AUTO_INCREMENT NOT NULL,
nombre VARCHAR(35) NOT NULL,
orientacion VARCHAR(50),
grado INT NOT NULL
);
CREATE TABLE grupos_sistema (
id INT PRIMARY KEY AUTO_INCREMENT NOT NULL,
grupo VARCHAR(4) NOT NULL
);
CREATE TABLE orientaciones_sistema (
id INT PRIMARY KEY AUTO_INCREMENT NOT NULL,
orientacion VARCHAR(100) NOT NULL
);
/*
INSERT INTO asignaturas (nombre, grado) VALUES
('A.D.A', 3),
('Fisica I', 1),
('Fisica II', 2),
('Historia', 1),
('Economia', 2),
('Sociologia', 3),
('Proyecto', 3),
('Filosofia', 3),
('Matematicas I', 1),
('Matematicas II', 2),
('Matematicas III', 3),
('Base de datos I', 2),
('Programacion I', 1),
('Programacion II', 2),
('Programacion III', 3),
('Programacion Web', 3),
('Sistemas Operativos I', 1),
('Sistemas Operativos II', 2),
('Sistemas Operativos III', 3);
*/
CREATE TABLE chat (
id INT PRIMARY KEY AUTO_INCREMENT NOT NULL,
ciHost INT NOT NULL,
emailHost VARCHAR(320) NOT NULL,
ciDocente INT NOT NULL,
emailDocente VARCHAR(320) NOT NULL,
fecha CHAR(10) NOT NULL,
asignatura VARCHAR(30),
grupo CHAR(4)
);
CREATE TABLE usuarios_online (
idChat INT NOT NULL,
ciUsuario INT NOT NULL,
isOnline BOOL,
CONSTRAINT FK_idChat FOREIGN KEY (idChat)
REFERENCES chat(id) ON DELETE CASCADE
);
CREATE TABLE mensajes_chat (
id INT PRIMARY KEY AUTO_INCREMENT NOT NULL,
idChat INT NOT NULL,
ciUsuario INT NOT NULL,
nombreUsuario VARCHAR(30) NOT NULL,
apellidoUsuario VARCHAR(30) NOT NULL,
mensaje VARCHAR(500) NOT NULL,
hora CHAR(5) NOT NULL,
CONSTRAINT FK_idChat2 FOREIGN KEY (idChat)
REFERENCES chat(id) ON DELETE CASCADE
);
CREATE TABLE usuarios_chat (
idChat INT NOT NULL,
ciUsuario INT,
nombreUsuario VARCHAR(30),
apellidoUsuario VARCHAR(30),
email VARCHAR(320) NOT NULL,
isOnline BOOL,
CONSTRAINT FK_idChat3 FOREIGN KEY (idChat)
REFERENCES chat(id) ON DELETE CASCADE
);
CREATE TABLE solicitud_chat (
id INT PRIMARY KEY AUTO_INCREMENT,
ciDocente CHAR(8),
ciHost INT,
nombreHost VARCHAR(25),
apellidoHost VARCHAR(25),
emailHost VARCHAR(320) NOT NULL,
asignatura VARCHAR(30),
grupo CHAR(4),
CONSTRAINT FK_solicitud FOREIGN KEY (ciDocente)
REFERENCES usuario(CI) ON DELETE CASCADE
);
INSERT INTO usuario (CI,nombre,apellido, email, contrasena, imagen, tipo, primer_login) VALUES ('11111111', 'Administrador' , 'ESI', 'correo@correo.com', '$2y$10$jA5RolMZ6QfoWibr5J3PuOVXnZjxQjRJD84pR59DfKs4uScUrGfN2','/build/public/Admin.svg', 'admin', false);
INSERT INTO cedulas (cedula) VALUES ('11111111');
use aurum;