-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathescuela.sql
190 lines (158 loc) · 4.48 KB
/
escuela.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
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
CREATE DATABASE escuela;
USE escuela;
--------------------------------------------------------------
CREATE TABLE grados(
id int(10) not null auto_increment primary key,
nombre varchar(50) unique,
tipo varchar(50),
inicio date,
fin date,
status enum('Activo','Inactivo')
)ENGINE=INNODB;
CREATE TABLE grados(
id int(10) not null auto_increment primary key,
nombre varchar(50) unique,
tipo varchar(50),
status enum('Activo','Inactivo'),
created_at date
)ENGINE=INNODB;
CREATE TABLE fechas_grados(
id int(10) not null auto_increment primary key,
id_grado int(10),
fecha_fin date,
fecha_inicio date,
status enum('Terminado','En proceso')
)ENGINE=INNODB;
--------------------------------------------------------------
CREATE TABLE calendario(
id int(10) not null auto_increment primary key,
dia int(2) not null,
mes int(2) not null,
anio int(2) not null,
evento varchar(255),
duracion varchar(5)
)engine = innodb;
CREATE TABLE grupos(
id int(10) not null auto_increment primary key,
letra varchar(2) not null,
turno enum("Matutino","Vespertino"),
id_grado int(10)
)ENGINE=INNODB;
CREATE TABLE materias(
id int(10) not null auto_increment primary key,
nombre varchar(100) not null,
clave varchar(20) not null,
id_maestro int(10)
)ENGINE=INNODB;
CREATE TABLE documentos(
id int(10) not null auto_increment primary key,
nombre varchar(200) not null,
tipo enum("Original","Copia") not null,
descripcion text
)ENGINE=INNODB;
CREATE TABLE documentos_alumnos(
id int(10) not null auto_increment primary key,
id_alumno int(10) not null,
id_documento int(10) not null,
status enum("Entregado","Pendiente","Extraviado") not null,
fecha date
)ENGINE=INNODB;
CREATE TABLE trabajos(
id int(10) not null auto_increment primary key,
nombre varchar(200) not null,
tipo enum("Tarea","Trabajo") not null,
status enum("Entregado","Pendiente","No entregado"),
calificacion decimal(2.1),
fecha_inicio date,
fecha_fin date
)ENGINE=INNODB;
CREATE TABLE asistencia(
id int(10) not null auto_increment primary key,
id_alumno int(10) not null,
fecha date,
status enum("Presente","Ausente","Permiso"),
id_grupo int(10)
)ENGINE=INNODB;
CREATE TABLE paraescola(
id int(10) not null auto_increment primary key,
nombre varchar(200) not null,
clave varchar(10),
id_asesor int(10),
id_alumno int(10)
)ENGINE=INNODB;
CREATE TABLE horarios(
id int(10) not null auto_increment primary key,
dia enum("Lunes","Martes","Miercoles","Jueves","Viernes"),
id_materia int(10) not null,
id_asesor int(10) not null,
id_grupo int(10) not null,
hora_inicio varchar(10),
hora_fin varchar(10)
)ENGINE=INNODB;
-- Pendientes
CREATE TABLE alumnos(
id int(10) not null auto_increment primary key,
nombre varchar(100) not null,
apellido_paterno varchar(100) not null,
apellido_materno varchar(100) not null,
genero enum("Masculino","Femenino"),
fecha_nacimiento date,
domicilio text,
estado varchar(200),
municipio varchar(255),
localidad varchar(255),
codigopostal int(6),
matricula int(12) unique
)ENGINE=INNODB;
CREATE TABLE profesores(
id int(10) not null auto_increment primary key,
nombre varchar(100) not null,
apellido_paterno varchar(100) not null,
apellido_materno varchar(100) not null,
genero enum("Masculino","Femenino"),
fecha_nacimiento date,
domicilio text,
carrera varchar(100),
id_contrato int(10)
)ENGINE=INNODB;
create table contrato(
id int(10) not null auto_increment primary key,
fecha date,
tipo enum('temporal','permanente','anual'),
inicio date,
fin date,
sueldo int(10),
folio int(10),
id_profesor int(10)
)engine=innodb;
CREATE TABLE profesor_grupo(
id int(10) not null auto_increment primary key,
id_grupo int(10),
id_profesor int(10),
fechainicio date,
fecha_fin date,
status enum('Aactual','Anterior','Sin asignar')
)engine=innodb;
CREATE TABLE alumnos_grupo(
id int(10) not null auto_increment primary key,
id_grupo int(10),
id_alumno int(10) unique
)engine=innodb;
-- operaciones
CREATE USER 'colegio'@'localhost' identified by 'colegio';
GRANT ALL PRIVILEGES ON colegio.* TO colegio@localhost;
FLUSH PRIVILEGES;
-- crear una vista
CREATE VIEW
vista_futbolistas AS
SELECT futbolistas.id, nombre, apellidos FROM futbolistas
INNER JOIN tarjetas_amarillas
ON futbolistas.id = tarjetas_amarillas.id_futbolista;
CREATE PROCEDURE proc_sacar_clientes_tipo (IN tipoCliente INT)
-> BEGIN
-> SELECT * FROM clientes WHERE tipo = tipoCliente;
-> END
-- select * from alumnos as a
-- inner join alumnos_grupo as ag
-- on a.id=ag.id_alumno inner join grupos as g
-- on ag.id_grupo=g.id;