forked from mike10841181/Compartir
-
Notifications
You must be signed in to change notification settings - Fork 0
/
DDL
129 lines (113 loc) · 4.2 KB
/
DDL
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
CREATE DATABASE asociacionCompartir;
GRANT ALL ON asociacionCompartir.* TO compartir IDENTIFIED BY 'datos';
FLUSH PRIVILEGES;
USE asociacionCompartir;
CREATE TABLE educadors(codigo varchar(10) NOT NULL,
nombre varchar(30),
apellido varchar(30),
PRIMARY KEY (codigo)
) ENGINE=INNODB;
CREATE TABLE centros(nombre varchar(30) NOT NULL,
sector varchar(20) NOT NULL,
codigoAdministrador varchar(10),
FOREIGN KEY (codigoAdministrador) REFERENCES educadors(codigo),
PRIMARY KEY (nombre,sector)
) ENGINE=INNODB;
CREATE TABLE padrinos(codigo varchar(10) NOT NULL,
nombre varchar(50),
nacionalidad varchar(30),
PRIMARY KEY (codigo)
) ENGINE=INNODB;
CREATE TABLE ninos(codigo varchar(10) NOT NULL,
nombre varchar(50) NOT NULL,
apellido varchar(50) NOT NULL,
estadoPadrinazgo varchar(25),
fechaNac date,
sexo char(1) NOT NULL,
habitaCon varchar(30),
nombreCentro varchar(30) NOT NULL,
nombreSector varchar(20) NOT NULL,
codigoEducador varchar(10),
FOREIGN KEY (nombreCentro,nombreSector) REFERENCES centros(nombre,sector),
FOREIGN KEY (codigoEducador) REFERENCES educadors(codigo),
PRIMARY KEY (codigo)
) ENGINE=INNODB;
CREATE TABLE apadrinas(
codigoNino varchar(10) NOT NULL,
codigoPadrino varchar(10) NOT NULL,
fechaInicio date,
fechaInterrupcion date,
FOREIGN KEY (codigoNino) REFERENCES ninos(codigo),
FOREIGN KEY (codigoPadrino) REFERENCES padrinos(codigo),
PRIMARY KEY (codigoNino,codigoPadrino)
) ENGINE=INNODB;
CREATE TABLE historials(
codigoNino varchar(10) NOT NULL,
fecha date,
foto longblob,
descripcion mediumtext,
FOREIGN KEY (codigoNino) REFERENCES ninos(codigo),
PRIMARY KEY (codigoNino, fecha)
) ENGINE=INNODB;
CREATE TABLE familiars(
nombre varchar(30) NOT NULL,
apellido varchar(30) NOT NULL,
ocupacion varchar(25),
salud varchar(50),
salario decimal(11,2),
fechaNac date,
fechaAct timestamp,
estadoCivil varchar(15),
parentesco varchar(15),
lugarTrabajo varchar(50),
PRIMARY KEY (nombre, apellido)
) ENGINE=INNODB;
CREATE TABLE beneficios(
codigoNino varchar(10) NOT NULL,
tipoBeneficio varchar(30) NOT NULL,
fecha date,
detalle text,
importe decimal(11,2),
observacion text,
FOREIGN KEY (codigoNino) REFERENCES ninos(codigo),
PRIMARY KEY (codigoNino,tipoBeneficio)
) ENGINE=INNODB;
CREATE TABLE situacion_academicas(
codigoNino varchar(10) NOT NULL,
anio char(4) NOT NULL,
grado char(2),
indice decimal(5,2),
observacion text,
FOREIGN KEY (codigoNino) REFERENCES ninos(codigo),
PRIMARY KEY (codigoNino,anio)
) ENGINE=INNODB;
CREATE TABLE programas(
tipo varchar(20) NOT NULL,
componente varchar(20) NOT NULL,
PRIMARY KEY (tipo,componente)
) ENGINE=INNODB;
CREATE TABLE participas(
codigoNino varchar(10) NOT NULL,
tipoPrograma varchar(20) NOT NULL,
componentePrograma varchar(20) NOT NULL,
fechaInic date,
fechaFinal date,
resultado text,
FOREIGN KEY (codigoNino) REFERENCES ninos(codigo),
FOREIGN KEY (tipoPrograma,componentePrograma) REFERENCES programas(tipo,componente),
PRIMARY KEY (codigoNino,tipoPrograma,componentePrograma)
) ENGINE = INNODB;
CREATE TABLE esfamiliars(
codigoNino varchar(10) NOT NULL,
nombreFamiliar varchar(30) NOT NULL,
apellidoFamiliar varchar(30) NOT NULL,
FOREIGN KEY (codigoNino) REFERENCES ninos(codigo),
FOREIGN KEY (nombreFamiliar,apellidoFamiliar) REFERENCES familiars(nombre,apellido),
PRIMARY KEY (codigoNino,nombreFamiliar,apellidoFamiliar)
) ENGINE = INNODB;
CREATE TABLE telefono_educadors(
codigoEducador varchar(10) NOT NULL,
telefono varchar(16) NOT NULL,
FOREIGN KEY (codigoEducador) REFERENCES educadors(codigo) ON DELETE CASCADE,
PRIMARY KEY (codigoEducador,telefono)
) ENGINE = INNODB;