-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path_db.sql
138 lines (112 loc) · 4.59 KB
/
_db.sql
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
-- Adminer 4.8.1 MySQL 5.5.5-10.4.12-MariaDB dump
-- TODO Intentar usar utf8mb4
SET NAMES utf8;
SET time_zone = '+00:00';
SET foreign_key_checks = 0;
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
DROP TABLE IF EXISTS `periodos`;
CREATE TABLE `periodos` (
`inicio` date NOT NULL,
`fin` date NOT NULL,
UNIQUE KEY `inicio_fin` (`inicio`,`fin`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `comision`;
CREATE TABLE `comision` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`numero` varchar(10) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `instancias_estados`;
CREATE TABLE `instancias_estados` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`descripcion` varchar(25) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `instancias_estados` (`id`, `descripcion`) VALUES
(1, 'Pendiente'),
(2, 'Confirmada'),
(3, 'Bloqueada por el profesor');
DROP TABLE IF EXISTS `materia`;
CREATE TABLE `materia` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nombre` varchar(60) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `usuarios_tipos`;
CREATE TABLE `usuarios_tipos` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`descripcion` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_spanish_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `usuarios_tipos` (`id`, `descripcion`) VALUES
(1, 'Estudiante'),
(2, 'Profesor'),
(3, 'Administración');
DROP TABLE IF EXISTS `materia_x_comision`;
CREATE TABLE `materia_x_comision` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`materia_id` int(11) NOT NULL,
`comision_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `materia_id` (`materia_id`),
KEY `comision_id` (`comision_id`),
CONSTRAINT `materia_x_comision_ibfk_1` FOREIGN KEY (`materia_id`) REFERENCES `materia` (`id`),
CONSTRAINT `materia_x_comision_ibfk_2` FOREIGN KEY (`comision_id`) REFERENCES `comision` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `usuarios`;
CREATE TABLE `usuarios` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nombre_completo` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_spanish_ci NOT NULL,
`correo` varchar(50) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
`legajo` varchar(10) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
`contrasenia` char(60) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
`tipo_id` int(11) NOT NULL,
`baja` tinyint(1) DEFAULT 0 NOT NULL,
PRIMARY KEY (`id`),
KEY `tipo_id` (`tipo_id`),
CONSTRAINT `usuarios_ibfk_1` FOREIGN KEY (`tipo_id`) REFERENCES `usuarios_tipos` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `consultas`;
CREATE TABLE `consultas` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`materia_x_comision_id` int(11) NOT NULL,
`profesor_id` int(11) NOT NULL,
`hora_desde` time NOT NULL,
`hora_hasta` time DEFAULT NULL,
`dia_de_la_semana` varchar(10) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`aula` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_spanish_ci NOT NULL,
`fecha` datetime NOT NULL,
`enlace` varchar(100) DEFAULT NULL
PRIMARY KEY (`id`),
KEY `materia_x_comision_id` (`materia_x_comision_id`),
KEY `profesor_id` (`profesor_id`),
CONSTRAINT `consultas_ibfk_1` FOREIGN KEY (`materia_x_comision_id`) REFERENCES `materia_x_comision` (`id`),
CONSTRAINT `consultas_ibfk_2` FOREIGN KEY (`profesor_id`) REFERENCES `usuarios` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `instancias`;
CREATE TABLE `instancias` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fecha` date NOT NULL,
`motivo` varchar(500) DEFAULT NULL,
`hora_nueva` time DEFAULT NULL,
`cupo` int(11) NOT NULL,
`estado_id` int(11) NOT NULL,
`consulta_id` int(11) NOT NULL,
`aula_nueva` varchar(25) DEFAULT NULL,
`fecha_consulta` date NOT NULL
PRIMARY KEY (`id`),
KEY `estado_id` (`estado_id`),
KEY `consulta_id` (`consulta_id`),
CONSTRAINT `instancias_ibfk_1` FOREIGN KEY (`estado_id`) REFERENCES `instancias_estados` (`id`),
CONSTRAINT `instancias_ibfk_2` FOREIGN KEY (`consulta_id`) REFERENCES `consultas` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `suscripciones`;
CREATE TABLE `suscripciones` (
`instancia_id` int(11) NOT NULL,
`estudiante_id` int(11) NOT NULL,
KEY `instancia_id` (`instancia_id`),
KEY `estudiante_id` (`estudiante_id`),
CONSTRAINT `suscripciones_ibfk_1` FOREIGN KEY (`instancia_id`) REFERENCES `instancias` (`id`),
CONSTRAINT `suscripciones_ibfk_2` FOREIGN KEY (`estudiante_id`) REFERENCES `usuarios` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 2023-01-09 20:17:40