· 4 years ago · Dec 08, 2020, 12:02 AM
1-- =============================================================================
2-- AUTOR: <TANIA SEPÚLVEDA CASTRO>
3-- NOMBRE ARCHIVO: <SCRIPT_CASOS_COVID.SQL>
4-- FECHA: <07-12-2020>
5-- DESCRIPCIÓN: <CREACIÓN DE TABLAS PARA EL MODELO INTEGRAL DEL SISTEMA COVID-19>
6-- =============================================================================
7
8SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
9SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
10SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
11
12
13CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 ;
14USE `mydb` ;
15
16
17CREATE TABLE SCC_REGIÓN (
18 SRG_id_region INT NOT NULL,
19 SRG_nombre_region VARCHAR(300) NOT NULL,
20 PRIMARY KEY (SRG_id_region);
21
22
23CREATE TABLE SCC_CIUDAD (
24 SCI_id_ciudad INT NOT NULL,
25 SCI_nombre_ciudad VARCHAR(300) NOT NULL,
26 SRG_id_region INT NOT NULL,
27 PRIMARY KEY (SCI_id_ciudad),
28 FOREIGN KEY (SRG_id_region)
29 REFERENCES SCC_REGIÓN (SRG_id_region)
30)
31
32CREATE TABLE SCC_COMUNA (
33 SCO_id_comuna INT NOT NULL,
34 SCO_nombre_comuna VARCHAR(300) NOT NULL,
35 SCI_id_ciudad INT NOT NULL,
36 PRIMARY KEY (SCO_id_comuna),
37 FOREIGN KEY (SCI_id_ciudad)
38 REFERENCES SCC_CIUDAD (SCI_id_ciudad)
39)
40
41CREATE TABLE SCC_RECINTO (
42 SRC_id_recinto INT NOT NULL,
43 SRC_nombre_recinto VARCHAR(300) NOT NULL,
44 SRC_direccion_recinto VARCHAR(300) NOT NULL,
45 SCO_id_comuna INT NOT NULL,
46 PRIMARY KEY (SRC_id_recinto),
47 FOREIGN KEY (SCO_id_comuna)
48 REFERENCES SCC_COMUNA (SCO_id_comuna)
49 )
50
51
52CREATE TABLE SCC_PAIS_ORIGEN (
53 SPO_id_pais_origen INT NOT NULL,
54 SPO_nombre_pais_origen VARCHAR(300) NOT NULL,
55 PRIMARY KEY (SPO_id_pais_origen)
56 )
57
58
59CREATE TABLE SCC_PERSONA (
60 SPE_rut_persona INT NOT NULL,
61 SPE_num_doc_persona VARCHAR(300) NOT NULL,
62 SPE_nombre_persona VARCHAR(300) NOT NULL,
63 SPE_apell_pat_persona VARCHAR(300) NOT NULL,
64 SPE_apell_mat_persona VARCHAR(300) NOT NULL,
65 SPE_direccion_persona VARCHAR(300) NOT NULL,
66 SPE_genero_persona VARCHAR(300) NOT NULL,
67 SPE_fecha_nac_persona DATE NOT NULL,
68 SPE_email_persona VARCHAR(300) NOT NULL,
69 SPE_telefono_personal VARCHAR(300) NOT NULL,
70 SPE_telefono_laboral VARCHAR(300) NOT NULL,
71 SRC_id_recinto INT NOT NULL,
72 SCO_id_comuna INT NOT NULL,
73 SPO_id_pais_origen INT NOT NULL,
74 PRIMARY KEY (SPE_rut_persona),
75 FOREIGN KEY (SRC_id_recinto)
76 REFERENCES SCC_RECINTO (SRC_id_recinto)
77 FOREIGN KEY (SCO_id_comuna)
78 REFERENCES SCC_COMUNA (SCO_id_comuna)
79 FOREIGN KEY (SPO_id_pais_origen)
80 REFERENCES SCC_PAIS_ORIGEN (SPO_id_pais_origen)
81 )
82
83
84CREATE TABLE SCC_CENTRO_CLINICO (
85 SCE_id_centro INT NOT NULL,
86 SCE_nombre_centro VARCHAR(300) NOT NULL,
87 SCE_direccion_centro VARCHAR(300) NOT NULL,
88 SCE_telefono_centro VARCHAR(300) NOT NULL,
89 SCO_id_comuna INT NOT NULL,
90 PRIMARY KEY (SCE_id_centro),
91 FOREIGN KEY (SCO_id_comuna)
92 REFERENCES SCC_COMUNA (SCO_id_comuna)
93 )
94
95
96
97CREATE TABLE SCC_RECURSO (
98 SRE_id_recurso INT NOT NULL,
99 SRE_nombre_recurso VARCHAR(300) NOT NULL,
100 PRIMARY KEY (SRE_id_recurso)
101)
102
103
104CREATE TABLE SCC_ESTADO_RECURSO (
105 SES_id_estado_recurso INT NOT NULL,
106 SES_nombre_estado_recurso VARCHAR(300) NOT NULL,
107 PRIMARY KEY (SES_id_estado_recurso),
108)
109
110
111CREATE TABLE SCC_MEDIDA_SANITARIA (
112 SMS_id_medida INT NOT NULL,
113 SMS_nombre_medida VARCHAR(300) NOT NULL,
114 SMS_fecha_inicio DATE NOT NULL,
115 SMS_fecha_termino DATE NOT NULL,
116 PRIMARY KEY (SMS_id_medida)
117)
118
119
120CREATE TABLE SCC_TIPO_CASO (
121 STC_id_tipo_caso INT NOT NULL,
122 STC_nombre_tipo_caso VARCHAR(300) NOT NULL,
123 PRIMARY KEY (STC_id_tipo_caso)
124)
125
126
127CREATE TABLE SCC_CASO (
128 SCA_id_caso INT NOT NULL,
129 SCA_nombre_caso VARCHAR(300) NOT NULL,
130 SMS_id_medida INT NOT NULL,
131 SCC_TIPO_CASO_STC_id_tipo_caso INT NOT NULL,
132 PRIMARY KEY (`SCA_id_caso`),
133 FOREIGN KEY (`SMS_id_medida`)
134 REFERENCES `mydb`.`SCC_MEDIDA_SANITARIA` (`SMS_id_medida`),
135 FOREIGN KEY (`SCC_TIPO_CASO_STC_id_tipo_caso`)
136 REFERENCES `mydb`.`SCC_TIPO_CASO` (`STC_id_tipo_caso`)
137)
138
139
140CREATE TABLE SCC_TRAMITE (
141 STM_id_tramite INT NOT NULL,
142 STM_nombre_tramite VARCHAR(300) NOT NULL,
143 STM_destinatario VARCHAR(300) NOT NULL,
144 PRIMARY KEY (STM_id_tramite)
145)
146
147
148CREATE TABLE SCC_ESTADO_TRAMITE (
149 `SET_id_estado_tramite INT NOT NULL,
150 `SET_nombre_estado_tramite VARCHAR(300) NOT NULL,
151 PRIMARY KEY (SET_id_estado_tramite)
152)
153
154
155CREATE TABLE SCC_EMPLEADOR (
156 SEM_id_empleador INT NOT NULL,
157 SEM_nombre_empleador VARCHAR(300) NOT NULL,
158 SEM_telefono_empleador VARCHAR(300) NOT NULL,
159 SEM_direccion_empleador VARCHAR(300) NOT NULL,
160 SEM_email_empleador VARCHAR(300) NOT NULL,
161 SEM_rut_empleador VARCHAR(300) NOT NULL,
162 PRIMARY KEY (SEM_id_empleador)
163)
164
165
166CREATE TABLE SCC_PATOLOGIA_BASE (
167 SPA_id_patologia INT NOT NULL,
168 SPA_nombre_patologia VARCHAR(300) NOT NULL,
169 PRIMARY KEY (SPA_id_patologia)
170)
171
172
173CREATE TABLE SCC_SINTOMA (
174 SSI_id_sintoma INT NOT NULL,
175 SSI_nombre_sintoma VARCHAR(300) NOT NULL,
176 PRIMARY KEY (SSI_id_sintoma)
177)
178
179
180CREATE TABLE SCC_TRATAMIENTO (
181 STR_id_tratamiento INT NOT NULL,
182 STR_nombre_tratamiento VARCHAR(300) NOT NULL,
183 STR_duracion_tratamiento VARCHAR(300) NOT NULL,
184 PRIMARY KEY (STR_id_tratamiento)
185)
186
187
188CREATE TABLE SCC_TEST (
189 STE_id_test INT NOT NULL,
190 STE_tipo_test VARCHAR(300) NOT NULL,
191 PRIMARY KEY (STE_id_test)
192)
193
194
195CREATE TABLE SCC_PROFESIONAL (
196 SPR_rut_profesional INT NOT NULL,
197 SPR_nombre_profesional VARCHAR(300) NOT NULL,
198 SPR_situacion_profesional VARCHAR(300) NOT NULL,
199 PRIMARY KEY (SPR_rut_profesional)
200)
201
202
203CREATE TABLE SCC_ESPECIALIDAD (
204 SES_id_especialidad INT NOT NULL,
205 SES_nombre_especialidad VARCHAR(300) NOT NULL,
206 PRIMARY KEY (SES_id_especialidad)
207)
208
209
210CREATE TABLE PRESENTA (
211 SPE_rut_persona INT NULL,
212 SPA_id_patologia INT NULL,
213 PRIMARY KEY (SPE_rut_persona, SPA_id_patologia),
214 FOREIGN KEY (SPE_rut_persona)
215 REFERENCES SCC_PERSONA (SPE_rut_persona),
216 FOREIGN KEY (SPA_id_patologia)
217 REFERENCES SCC_PATOLOGIA_BASE (SPA_id_patologia)
218 )
219
220
221CREATE TABLE SIENTE (
222 SPE_rut_persona INT NULL,
223 SSI_id_sintoma INT NULL,
224 PRIMARY KEY (SPE_rut_persona, SSI_id_sintoma),
225 FOREIGN KEY (SPE_rut_persona)
226 REFERENCES SCC_PERSONA (SPE_rut_persona),
227 FOREIGN KEY (SSI_id_sintoma)
228 REFERENCES SCC_SINTOMA (SSI_id_sintoma)
229 )
230
231
232CREATE TABLE ASIGNA (
233 SRC_id_recinto INT NOT NULL,
234 STR_id_tratamiento INT NOT NULL,
235 PRIMARY KEY (SRC_id_recinto, STR_id_tratamiento),
236 FOREIGN KEY (SRC_id_recinto)
237 REFERENCES SCC_RECINTO (SRC_id_recinto),
238 FOREIGN KEY (STR_id_tratamiento)
239 REFERENCES SCC_TRATAMIENTO (STR_id_tratamiento)
240)
241
242
243CREATE TABLE SOLICITA (
244 SPE_rut_persona INT NOT NULL,
245 STM_id_tramite INT NULL,
246 fecha_tramite DATE NULL,
247 PRIMARY KEY (SPE_rut_persona, STM_id_tramite),
248 FOREIGN KEY (SPE_rut_persona)
249 REFERENCES SCC_PERSONA (SPE_rut_persona),
250 FOREIGN KEY (STM_id_tramite)
251 REFERENCES SCC_TRAMITE (STM_id_tramite)
252)
253
254
255CREATE TABLE REALIZA (
256 STE_id_test INT NOT NULL,
257 SPE_rut_persona INT NOT NULL,
258 fecha_test DATE NULL,
259 fecha_resultado_test DATE NULL,
260 resultado_test VARCHAR(300) NULL,
261 PRIMARY KEY (STE_id_test, SPE_rut_persona),
262 FOREIGN KEY (STE_id_test)
263 REFERENCES SCC_TEST (STE_id_test),
264 FOREIGN KEY (SPE_rut_persona)
265 REFERENCES SCC_PERSONA (SPE_rut_persona)
266)
267
268CREATE TABLE SE_HACE (
269 STE_id_test INT NOT NULL,
270 SCE_id_centro INT NOT NULL,
271 fecha_test VARCHAR(45) NULL,
272 PRIMARY KEY (STE_id_test, SCE_id_centro),
273 FOREIGN KEY (STE_id_test)
274 REFERENCES SCC_TEST (STE_id_test),
275 FOREIGN KEY (SCE_id_centro)
276 REFERENCES SCC_CENTRO_CLINICO (SCE_id_centro)
277)
278
279
280CREATE TABLE TIENE (
281 STM_id_tramite INT NOT NULL,
282 SET_id_estado_tramite INT NOT NULL,
283 fecha_solicitud_tramite DATE NULL,
284 PRIMARY KEY (STM_id_tramite, SET_id_estado_tramite),
285 FOREIGN KEY (STM_id_tramite)
286 REFERENCES SCC_TRAMITE (STM_id_tramite),
287 FOREIGN KEY (SET_id_estado_tramite)
288 REFERENCES SCC_ESTADO_TRAMITE (SET_id_estado_tramite)
289)
290
291CREATE TABLE POSEE (
292 SPR_rut_profesional INT NOT NULL,
293 SCE_id_centro INT NOT NULL,
294 PRIMARY KEY (SPR_rut_profesional, SCE_id_centro),
295 FOREIGN KEY (SPR_rut_profesional)
296 REFERENCES SCC_PROFESIONAL (SPR_rut_profesional),
297 FOREIGN KEY (SCE_id_centro)
298 REFERENCES SCC_CENTRO_CLINICO (SCE_id_centro)
299)
300
301
302CREATE TABLE GOZA_DE (
303 SPR_rut_profesional INT NOT NULL,
304 SES_id_especialidad INT NOT NULL,
305 PRIMARY KEY (SPR_rut_profesional, SES_id_especialidad),
306 FOREIGN KEY (SPR_rut_profesional)
307 REFERENCES SCC_PROFESIONAL (SPR_rut_profesional),
308 FOREIGN KEY (SES_id_especialidad)
309 REFERENCES SCC_ESPECIALIDAD (SES_id_especialidad)
310)
311
312
313CREATE TABLE CUENTA_CON (
314 SRE_id_recurso INT NULL,
315 SCE_id_centro INT NOT NULL,
316 cantidad_recurso VARCHAR(300) NOT NULL,
317 PRIMARY KEY (SCE_id_centro, SRE_id_recurso),
318 FOREIGN KEY (SRE_id_recurso)
319 REFERENCES SCC_RECURSO (SRE_id_recurso),
320 FOREIGN KEY (SCE_id_centro)
321 REFERENCES SCC_CENTRO_CLINICO (SCE_id_centro)
322)
323
324
325CREATE TABLE PASAN_POR (
326 SRE_id_recurso INT NULL,
327 SES_id_estado_recurso INT NOT NULL,
328 PRIMARY KEY (SRE_id_recurso, SES_id_estado_recurso),
329 FOREIGN KEY (SRE_id_recurso)
330 REFERENCES SCC_RECURSO (SRE_id_recurso),
331 FOREIGN KEY (SES_id_estado_recurso)
332 REFERENCES SCC_ESTADO_RECURSO (SES_id_estado_recurso)
333)
334
335
336CREATE TABLE DEPENDE (
337 SPE_rut_persona INT NOT NULL,
338 SEM_id_empleador INT NULL,
339 PRIMARY KEY (SPE_rut_persona, SEM_id_empleador),
340 FOREIGN KEY (SPE_rut_persona)
341 REFERENCES SCC_PERSONA (SPE_rut_persona),
342 FOREIGN KEY (SEM_id_empleador)
343 REFERENCES SCC_EMPLEADOR (SEM_id_empleador)
344)
345
346
347CREATE TABLE ESTABLECE (
348 SCC_COMUNA_SCO_id_comuna INT NULL,
349 SCC_MEDIDA_SANITARIA_SMS_id_medida INT NULL,
350 PRIMARY KEY (SCC_COMUNA_SCO_id_comuna, SCC_MEDIDA_SANITARIA_SMS_id_medida),
351 FOREIGN KEY (SCC_COMUNA_SCO_id_comuna)
352 REFERENCES SCC_COMUNA (SCO_id_comuna),
353 FOREIGN KEY (SCC_MEDIDA_SANITARIA_SMS_id_medida)
354 REFERENCES SCC_MEDIDA_SANITARIA (SMS_id_medida)
355)
356
357
358CREATE TABLE ES_UN (
359 SPE_rut_persona INT NULL,
360 SCA_id_caso INT NULL,
361 PRIMARY KEY (SPE_rut_persona, SCA_id_caso),
362 FOREIGN KEY (SPE_rut_persona)
363 REFERENCES SCC_PERSONA (SPE_rut_persona),
364 FOREIGN KEY (SCA_id_caso)
365 REFERENCES SCC_CASO (SCA_id_caso)
366)
367
368
369SET SQL_MODE=@OLD_SQL_MODE;
370SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
371SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
372