-
Notifications
You must be signed in to change notification settings - Fork 0
/
s-10-tablas-provedor.sql
executable file
·321 lines (266 loc) · 10.7 KB
/
s-10-tablas-provedor.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
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
--@Autor: Lara Sala Kevin Arturo y Miranda Cortes Yak Balam
--@Fecha creación: 06/05/2022
--@Descripción: Script para crear todas las tablas necesarias
whenever sqlerror exit rollback;
connect provedor/provedor
CREATE TABLE BANCO(
BANCO_ID NUMBER(1, 0) NOT NULL,
NOMBRE VARCHAR2(10) NOT NULL,
CONSTRAINT BANCO_PK PRIMARY KEY (BANCO_ID)
USING INDEX (
CREATE UNIQUE INDEX BANCO_PK ON BANCO(BANCO_ID)
TABLESPACE ts_p_indices
)
) TABLESPACE ts_provedor
;
--
-- TABLE: TIPO_SERVICIO
--
CREATE TABLE TIPO_SERVICIO(
TIPO_SERVICIO_ID NUMBER(1, 0) NOT NULL,
NOMBRE VARCHAR2(15) NOT NULL,
DESCRIPCION VARCHAR2(100) NOT NULL,
CONSTRAINT TIPO_SERVICIO_PK PRIMARY KEY (TIPO_SERVICIO_ID)
USING INDEX (
CREATE UNIQUE INDEX TIPO_SERVICIO_PK ON TIPO_SERVICIO(TIPO_SERVICIO_ID)
TABLESPACE ts_p_indices
)
) TABLESPACE ts_provedor
;
--
-- TABLE: STATUS_PROVEDOR
--
CREATE TABLE STATUS_PROVEDOR(
STATUS_PROVEDOR_ID NUMBER(1, 0) NOT NULL,
NOMBRE_STATUS VARCHAR2(13) NOT NULL,
CONSTRAINT STATUS_PROVEDOR_PK PRIMARY KEY (STATUS_PROVEDOR_ID)
USING INDEX (
CREATE UNIQUE INDEX STATUS_PROVEDOR_PK ON STATUS_PROVEDOR(STATUS_PROVEDOR_ID)
TABLESPACE ts_p_indices
),
CONSTRAINT STATUS_PROVEDOR_NOMBRE_STATUS_CHK CHECK (NOMBRE_STATUS IN
('en validacion','en servicio','suspendido','expulsado','inactivo'))
) TABLESPACE ts_provedor
;
--
-- TABLE: NIVEL_ESTUDIO
--
CREATE TABLE NIVEL_ESTUDIO(
NIVEL_ESTUDIO_ID NUMBER(1, 0) NOT NULL,
NOMBRE_NIVEL VARCHAR2(15) NOT NULL,
CONSTRAINT NIVEL_ESTUDIO_PK PRIMARY KEY (NIVEL_ESTUDIO_ID)
USING INDEX (
CREATE UNIQUE INDEX NIVEL_ESTUDIO_PK ON NIVEL_ESTUDIO(NIVEL_ESTUDIO_ID)
TABLESPACE ts_p_indices
),
CONSTRAINT NIVEL_ESTUDIO_NOMBRE CHECK (NOMBRE_NIVEL IN
('primaria','secundaria','bachillerato','licenciatura','maestria','doctorado'))
) TABLESPACE ts_provedor
;
--
-- TABLE: PROVEDOR
--
CREATE TABLE PROVEDOR(
PROVEDOR_ID NUMBER(5, 0) NOT NULL,
NOMBRE VARCHAR2(30) NOT NULL,
APELLIDO VARCHAR2(30) NOT NULL,
FOTO BLOB DEFAULT EMPTY_BLOB(),
FECHA_NACIMIENTO DATE NOT NULL,
FECHA_STATUS DATE DEFAULT SYSDATE,
LUGAR_NACIMIENTO VARCHAR2(50) NOT NULL,
DIRECCION VARCHAR2(70) NOT NULL,
STATUS_PROVEDOR_ID NUMBER(1, 0) NOT NULL,
NIVEL_ESTUDIO_ID NUMBER(1, 0) NOT NULL,
BANCO_ID NUMBER(1, 0) NOT NULL,
CONSTRAINT PROVEDOR_PK PRIMARY KEY (PROVEDOR_ID)
USING INDEX (
CREATE UNIQUE INDEX PROVEDOR_PK ON PROVEDOR(PROVEDOR_ID)
TABLESPACE ts_p_indices
),
CONSTRAINT PROVEDOR_BANCO_ID_FK FOREIGN KEY (BANCO_ID)
REFERENCES BANCO(BANCO_ID),
CONSTRAINT PROVEDOR_STATUS_PROVEDOR_ID_FK FOREIGN KEY (STATUS_PROVEDOR_ID)
REFERENCES STATUS_PROVEDOR(STATUS_PROVEDOR_ID),
CONSTRAINT PROVEDOR_NIVEL_ESTUDIO_ID_FK FOREIGN KEY (NIVEL_ESTUDIO_ID)
REFERENCES NIVEL_ESTUDIO(NIVEL_ESTUDIO_ID)
) TABLESPACE ts_provedor
LOB (FOTO) STORE AS SECUREFILE PROVEDOR_FOTO_LOB (
TABLESPACE ts_p_docs_fotos INDEX PROVEDOR_FOTO_IX (TABLESPACE ts_p_indices)
)
;
--
-- TABLE: HISTORICO_PROVEDOR_STATUS
--
CREATE TABLE HISTORICO_PROVEDOR_STATUS(
HISTORICO_PROVEDOR_STATUS_ID NUMBER(6, 0) NOT NULL,
FECHA_STATUS DATE NOT NULL,
STATUS_PROVEDOR_ID NUMBER(1, 0) NOT NULL,
PROVEDOR_ID NUMBER(5, 0) NOT NULL,
CONSTRAINT HISTORICO_PROVEDOR_STATUS_PK PRIMARY KEY (HISTORICO_PROVEDOR_STATUS_ID)
USING INDEX (
CREATE UNIQUE INDEX HISTORICO_PROVEDOR_STATUS_PK ON HISTORICO_PROVEDOR_STATUS(HISTORICO_PROVEDOR_STATUS_ID)
TABLESPACE ts_p_indices
),
CONSTRAINT HISTORICO_PROVEDOR_STATUS_STATUS_PROVEDOR_ID_FK FOREIGN KEY (STATUS_PROVEDOR_ID)
REFERENCES STATUS_PROVEDOR(STATUS_PROVEDOR_ID),
CONSTRAINT HISTORICO_PROVEDOR_STATUS_PROVEDOR_ID_FK FOREIGN KEY (PROVEDOR_ID)
REFERENCES PROVEDOR(PROVEDOR_ID)
) TABLESPACE ts_provedor
;
--
-- TABLE: PROVEDOR_SERVICIO
--
CREATE TABLE PROVEDOR_SERVICIO(
PROVEDOR_SERVICIO_ID NUMBER(6, 0) NOT NULL,
ANIO_EXPERIENCIA NUMBER(2, 0) NOT NULL,
TIPO_SERVICIO_ID NUMBER(1, 0) NOT NULL,
PROVEDOR_ID NUMBER(5, 0) NOT NULL,
CONSTRAINT PROVEDOR_SERVICIO_PK PRIMARY KEY (PROVEDOR_SERVICIO_ID)
USING INDEX (
CREATE UNIQUE INDEX PROVEDOR_SERVICIO_PK ON PROVEDOR_SERVICIO(PROVEDOR_SERVICIO_ID)
TABLESPACE ts_p_indices
),
CONSTRAINT PROVEDOR_SERVICIO_TIPO_SERVICIO_ID_FK FOREIGN KEY (TIPO_SERVICIO_ID)
REFERENCES TIPO_SERVICIO(TIPO_SERVICIO_ID),
CONSTRAINT PROVEDOR_SERVICIO_PROVEDOR_ID_FK FOREIGN KEY (PROVEDOR_ID)
REFERENCES PROVEDOR(PROVEDOR_ID)
) TABLESPACE ts_provedor
;
--
-- TABLE: PROV_SERVICIO_COMPROBANTE
--
CREATE TABLE PROV_SERVICIO_COMPROBANTE(
PROV_SERVICIO_COMPROBANTE_ID NUMBER(6, 0) NOT NULL,
COMPROBANTE BLOB NOT NULL,
PROVEDOR_SERVICIO_ID NUMBER(6, 0) NOT NULL,
CONSTRAINT PROV_SERVICIO_COMPROBANTE_PK PRIMARY KEY (PROV_SERVICIO_COMPROBANTE_ID)
USING INDEX (
CREATE UNIQUE INDEX PROV_SERVICIO_COMPROBANTE_PK ON PROV_SERVICIO_COMPROBANTE(PROV_SERVICIO_COMPROBANTE_ID)
TABLESPACE ts_p_indices
),
CONSTRAINT PROV_SERVICIO_COMPROBANTE_PROVEDOR_SERVICIO_ID_FK FOREIGN KEY (PROVEDOR_SERVICIO_ID)
REFERENCES PROVEDOR_SERVICIO(PROVEDOR_SERVICIO_ID)
) TABLESPACE ts_provedor
LOB (COMPROBANTE) STORE AS SECUREFILE PROV_SERVICIO_COMPROBANTE_PDF_LOB (
TABLESPACE ts_p_docs_fotos INDEX PROV_SERVICIO_COMPROBANTE_PDF_IX (TABLESPACE ts_p_indices)
)
;
--
-- TABLE: PROVEDOR_EMAIL
--
CREATE TABLE PROVEDOR_EMAIL(
PROVEDOR_EMAIL_ID NUMBER(5, 0) NOT NULL,
EMAIL VARCHAR2(40) NOT NULL,
PROVEDOR_ID NUMBER(5, 0) NOT NULL,
CONSTRAINT PROVEDOR_EMAIL_PK PRIMARY KEY (PROVEDOR_EMAIL_ID)
USING INDEX (
CREATE UNIQUE INDEX PROVEDOR_EMAIL_PK ON PROVEDOR_EMAIL(PROVEDOR_EMAIL_ID)
TABLESPACE ts_p_indices
),
CONSTRAINT PROVEDOR_EMAIL_PROVEDOR_ID_FK FOREIGN KEY (PROVEDOR_ID)
REFERENCES PROVEDOR(PROVEDOR_ID)
) TABLESPACE ts_provedor
;
--
-- TABLE: TELEFONO_TIPO
--
CREATE TABLE TELEFONO_TIPO(
TELEFONO_TIPO_ID NUMBER(1, 0) NOT NULL,
NOMBRE_TIPO VARCHAR2(7) NOT NULL,
CONSTRAINT TELEFONO_TIPO_PK PRIMARY KEY (TELEFONO_TIPO_ID)
USING INDEX (
CREATE UNIQUE INDEX TELEFONO_TIPO_PK ON TELEFONO_TIPO(TELEFONO_TIPO_ID)
TABLESPACE ts_p_indices
),
CONSTRAINT TELEFONO_TIPO_NOMBRE_CHK CHECK (NOMBRE_TIPO IN ('fijo','celular'))
) TABLESPACE ts_provedor
;
--
-- TABLE: PROVEDOR_TELEFONO
--
CREATE TABLE PROVEDOR_TELEFONO(
PROVEDOR_TELEFONO_ID NUMBER(6, 0) NOT NULL,
TELEFONO VARCHAR2(10) NOT NULL,
PROVEDOR_ID NUMBER(5, 0) NOT NULL,
TELEFONO_TIPO_ID NUMBER(1, 0) NOT NULL,
CONSTRAINT PROVEDOR_TELEFONO_PK PRIMARY KEY (PROVEDOR_TELEFONO_ID)
USING INDEX (
CREATE UNIQUE INDEX PROVEDOR_TELEFONO_PK ON PROVEDOR_TELEFONO(PROVEDOR_TELEFONO_ID)
TABLESPACE ts_p_indices
),
CONSTRAINT PROVEDOR_TELEFONO_PROVEDOR_ID_FK FOREIGN KEY (PROVEDOR_ID)
REFERENCES PROVEDOR(PROVEDOR_ID),
CONSTRAINT PROVEDOR_TELEFONO_TELEFONO_TIPO_ID_FK FOREIGN KEY (TELEFONO_TIPO_ID)
REFERENCES TELEFONO_TIPO(TELEFONO_TIPO_ID)
) TABLESPACE ts_provedor
;
--
-- TABLE: SEGURIDAD
--
CREATE TABLE SEGURIDAD(
SEGURIDAD_ID NUMBER(5, 0) NOT NULL,
IDENTIFICACION_PDF BLOB DEFAULT EMPTY_BLOB(),
COMPROBANTE_DOMICILIO BLOB DEFAULT EMPTY_BLOB(),
CLABE CHAR(18) NOT NULL,
PROVEDOR_ID NUMBER(5, 0) NOT NULL,
CONSTRAINT SEGURIDAD_PK PRIMARY KEY (SEGURIDAD_ID)
USING INDEX (
CREATE UNIQUE INDEX SEGURIDAD_PK ON SEGURIDAD(SEGURIDAD_ID)
TABLESPACE ts_p_indices
),
CONSTRAINT SEGURIDAD_PROVEDOR_ID_FK FOREIGN KEY (PROVEDOR_ID)
REFERENCES PROVEDOR(PROVEDOR_ID)
) TABLESPACE ts_provedor
LOB (IDENTIFICACION_PDF) STORE AS SECUREFILE SEGURIDAD_IDENTIFICACION_PDF_LOB (
TABLESPACE ts_p_docs_fotos INDEX SEGURIDAD_IDENTIFICACION_PDF_IX (TABLESPACE ts_p_indices)
)
LOB (COMPROBANTE_DOMICILIO) STORE AS SECUREFILE SEGURIDAD_COMPROBANTE_DOMICILIO_LOB (
TABLESPACE ts_p_docs_fotos INDEX SEGURIDAD_COMPROBANTE_DOMICILIO_IX (TABLESPACE ts_p_indices)
)
;
--
-- TABLE: SERVICIO_PROVEDOR_REALIZADO
--
CREATE TABLE SERVICIO_PROVEDOR_REALIZADO(
SERVICIO_PROVEDOR_REALIZADO_ID NUMBER(7, 0) NOT NULL,
DESCRIPCION VARCHAR2(200) NOT NULL,
FECHA_SERVICIO DATE NOT NULL,
PROVEDOR_ID NUMBER(5, 0) NOT NULL,
CONSTRAINT SERVICIO_PROVEDOR_REALIZADO_PK PRIMARY KEY (SERVICIO_PROVEDOR_REALIZADO_ID)
USING INDEX (
CREATE UNIQUE INDEX SERVICIO_PROVEDOR_REALIZADO_PK ON SERVICIO_PROVEDOR_REALIZADO(SERVICIO_PROVEDOR_REALIZADO_ID)
TABLESPACE ts_p_indices
),
CONSTRAINT SERVICIO_PROVEDOR_REALIZADO_PROVEDOR_ID_FK FOREIGN KEY (PROVEDOR_ID)
REFERENCES PROVEDOR(PROVEDOR_ID)
) TABLESPACE ts_provedor
;
--
-- TABLE: SERVICIO_REALIZADO_IMAGEN
--
CREATE TABLE SERVICIO_REALIZADO_IMAGEN(
SERVICIO_REALIZADO_IMAGEN_ID NUMBER(7, 0) NOT NULL,
SERVICIO_IMAGEN BLOB DEFAULT EMPTY_BLOB(),
DESCRIPCION_IMAGEN VARCHAR2(500),
SERVICIO_PROVEDOR_REALIZADO_ID NUMBER(7, 0) NOT NULL,
CONSTRAINT SERVICIO_REALIZADO_IMAGEN_PK PRIMARY KEY (SERVICIO_REALIZADO_IMAGEN_ID)
USING INDEX (
CREATE UNIQUE INDEX SERVICIO_REALIZADO_IMAGEN_PK ON SERVICIO_REALIZADO_IMAGEN(SERVICIO_REALIZADO_IMAGEN_ID)
TABLESPACE ts_p_indices
),
CONSTRAINT SERVICIO_REALIZADO_IMAGEN_SERVICIO_PROVEDOR_REALIZADO_ID_FK FOREIGN KEY (SERVICIO_PROVEDOR_REALIZADO_ID)
REFERENCES SERVICIO_PROVEDOR_REALIZADO(SERVICIO_PROVEDOR_REALIZADO_ID)
) TABLESPACE ts_provedor
LOB (SERVICIO_IMAGEN) STORE AS SECUREFILE SERVICIO_REALIZADO_IMAGEN_FOTO_LOB (
TABLESPACE ts_p_foto_servicio INDEX SERVICIO_REALIZADO_IMAGEN_FOTO_IX (TABLESPACE ts_p_indices)
)
;
grant references on provedor to cliente;
grant references on tipo_servicio to cliente;
grant select on provedor to cliente;
grant insert on provedor to cliente;
grant update on provedor to cliente;
grant select on provedor_servicio to cliente;
grant select on tipo_servicio to cliente;
grant select on seguridad to cliente;
grant select on banco to cliente;