
begin try 

begin transaction

ALTER TABLE HUELLA_PERSONA ADD CONSTRAINT FK_HUELLA_PERSONA_1  FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA) ON DELETE CASCADE

ALTER TABLE ACCESO ADD CONSTRAINT FK_ACCESO_1  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE ACCESO ADD CONSTRAINT FK_ACCESO_2  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE ACCESO ADD CONSTRAINT FK_ACCESO_3  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
CREATE INDEX IDX_ACCESO_1 ON ACCESO (ID_EMPRESA);

ALTER TABLE AGENDA ADD CONSTRAINT FK_AGENDA_1  FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA);
ALTER TABLE AGENDA ADD CONSTRAINT FK_AGENDA_2  FOREIGN KEY (ID_ESTADO_AGENDA) REFERENCES ESTADO_AGENDA (ID_ESTADO_AGENDA);
ALTER TABLE AGENDA ADD CONSTRAINT FK_AGENDA_3  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE AGENDA ADD CONSTRAINT FK_AGENDA_4  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE AGENDA ADD CONSTRAINT FK_AGENDA_5  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
CREATE INDEX IDX_AGENDA_1 ON AGENDA (FECHA_VISITA);

ALTER TABLE AGENTE ADD CONSTRAINT FK_AGENTE_1  FOREIGN KEY (ID_TIPO_AGENTE) REFERENCES TIPO_AGENTE (ID_TIPO_AGENTE);
ALTER TABLE AGENTE ADD CONSTRAINT FK_AGENTE_2  FOREIGN KEY (ID_TIPO_EJECUCION_AGENTE) REFERENCES TIPO_EJECUCION_AGENTE (ID_TIPO_EJECUCION_AGENTE);
ALTER TABLE AGENTE ADD CONSTRAINT FK_AGENTE_3  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE AGENTE ADD CONSTRAINT FK_AGENTE_4  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE AGENTE ADD CONSTRAINT FK_AGENTE_5  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
CREATE INDEX IDX_AGENTE_1 ON AGENTE (ID_TIPO_AGENTE);
CREATE INDEX IDX_AGENTE_2 ON AGENTE (ID_EMPRESA);

ALTER TABLE AGRUPACION ADD CONSTRAINT FK_AGRUPACION_1  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE AGRUPACION ADD CONSTRAINT FK_AGRUPACION_2  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE AGRUPACION ADD CONSTRAINT FK_AGRUPACION_3  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
CREATE INDEX IDX_AGRUPACION_1 ON AGRUPACION (ID_EMPRESA);

ALTER TABLE AUDITORIA ADD CONSTRAINT FK_AUDITORIA_1  FOREIGN KEY (ID_OPERACION) REFERENCES OPERACION (ID_OPERACION);
ALTER TABLE AUDITORIA ADD CONSTRAINT FK_AUDITORIA_2  FOREIGN KEY (ID_OPCION) REFERENCES OPCION (ID_OPCION);
ALTER TABLE AUDITORIA ADD CONSTRAINT FK_AUDITORIA_3  FOREIGN KEY (ID_USUARIO) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE AUDITORIA ADD CONSTRAINT FK_AUDITORIA_4  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);

ALTER TABLE CATEGORIA ADD CONSTRAINT FK_CATEGORIA_1  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE CATEGORIA ADD CONSTRAINT FK_CATEGORIA_2  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE CATEGORIA ADD CONSTRAINT FK_CATEGORIA_3  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);

ALTER TABLE CONCEPTO_PROCESO ADD CONSTRAINT FK_CONCEPTO_PROCESO_2  FOREIGN KEY (ID_CONCEPTO) REFERENCES CONCEPTO (ID_CONCEPTO);

ALTER TABLE CONFIGURACION_MONITOR ADD CONSTRAINT FK_CONF_MONITOR_1  FOREIGN KEY (ID_USUARIO) REFERENCES USUARIO (ID_USUARIO);
CREATE INDEX IDX_CONFIGURACION_MONITOR_1 ON CONFIGURACION_MONITOR (ID_USUARIO);
alter table CONFIGURACION_MONITOR add constraint FK_CONF_MONITOR_2 foreign key (ID_RELOJ_PUNTO_ENTRADA) references RELOJ (ID_RELOJ) on update NO ACTION on delete CASCADE;

ALTER TABLE CONVENIO ADD CONSTRAINT FK_CONVENIO_1  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE CONVENIO ADD CONSTRAINT FK_CONVENIO_2  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE CONVENIO ADD CONSTRAINT FK_CONVENIO_3  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);

ALTER TABLE CONVERSION ADD CONSTRAINT FK_CONVERSION_1  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE CONVERSION ADD CONSTRAINT FK_CONVERSION_2  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE CONVERSION ADD CONSTRAINT FK_CONVERSION_3  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);

ALTER TABLE DATO_PERMANENCIA ADD CONSTRAINT FK_DATO_PERMANENCIA_1  FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA);
ALTER TABLE DATO_PERMANENCIA ADD CONSTRAINT FK_DATO_PERMANENCIA_2  FOREIGN KEY (ID_RELOJ_INGRESO) REFERENCES RELOJ (ID_RELOJ);
ALTER TABLE DATO_PERMANENCIA ADD CONSTRAINT FK_DATO_PERMANENCIA_3  FOREIGN KEY (ID_RELOJ_EGRESO) REFERENCES RELOJ (ID_RELOJ);
CREATE INDEX IDX_DATO_PERM_1 ON DATO_PERMANENCIA (ID_PERSONA);

CREATE INDEX IDX_EMPRESA_1 ON EMPRESA (RAZON_SOCIAL);
CREATE INDEX IDX_EMPRESA_2 ON EMPRESA (CUIT);

ALTER TABLE ERROR_TECNICO ADD CONSTRAINT FK_ERROR_TECNICO_1  FOREIGN KEY (ID_RELOJ) REFERENCES RELOJ (ID_RELOJ);
ALTER TABLE ERROR_TECNICO ADD CONSTRAINT FK_ERROR_TECNICO_2  FOREIGN KEY (ID_TIPO_ERROR_TECNICO) REFERENCES TIPO_ERROR_TECNICO (ID_TIPO_ERROR_TECNICO);

ALTER TABLE FERIADO ADD CONSTRAINT FK_FERIADO_1  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE FERIADO ADD CONSTRAINT FK_FERIADO_2  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE FERIADO ADD CONSTRAINT FK_FERIADO_3  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE FERIADO ADD CONSTRAINT FK_FERIADO_4  FOREIGN KEY (ID_FORMATO_CONCEPTO_VECES) REFERENCES FORMATO_CONCEPTO (ID_FORMATO_CONCEPTO);
ALTER TABLE FERIADO ADD CONSTRAINT FK_FERIADO_5  FOREIGN KEY (ID_FORMATO_CONCEPTO_HORAS) REFERENCES FORMATO_CONCEPTO (ID_FORMATO_CONCEPTO);

ALTER TABLE FORMATO_CONCEPTO ADD CONSTRAINT FK_FORMATO_CONCEPTO_1  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE FORMATO_CONCEPTO ADD CONSTRAINT FK_FORMATO_CONCEPTO_2  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE FORMATO_CONCEPTO ADD CONSTRAINT FK_FORMATO_CONCEPTO_3  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);

ALTER TABLE GRUPO ADD CONSTRAINT FK_GRUPO_1  FOREIGN KEY (ID_AGRUPACION) REFERENCES AGRUPACION (ID_AGRUPACION);
ALTER TABLE GRUPO ADD CONSTRAINT FK_GRUPO_2  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE GRUPO ADD CONSTRAINT FK_GRUPO_3  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
CREATE INDEX IDX_GRUPO_1 ON GRUPO (ID_AGRUPACION);

ALTER TABLE HORARIO ADD CONSTRAINT FK_HORARIO_1  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE HORARIO ADD CONSTRAINT FK_HORARIO_2  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE HORARIO ADD CONSTRAINT FK_HORARIO_3  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);

ALTER TABLE HORARIO_CONTROL_PERSONAL ADD CONSTRAINT FK_HORARIO_CONTROL_PERSONAL_1  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE HORARIO_CONTROL_PERSONAL ADD CONSTRAINT FK_HORARIO_CONTROL_PERSONAL_2  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE HORARIO_CONTROL_PERSONAL ADD CONSTRAINT FK_HORARIO_CONTROL_PERSONAL_3  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE HORARIO_CONTROL_PERSONAL ADD CONSTRAINT FK_HORARIO_CONTROL_PERSONAL_4  FOREIGN KEY (ID_TIPO_HORARIO) REFERENCES TIPO_HORARIO (ID_TIPO_HORARIO);
CREATE INDEX UNI_HORARIO_1 ON HORARIO_CONTROL_PERSONAL (NOMBRE,ID_TIPO_HORARIO,ID_EMPRESA);

ALTER TABLE JORNADA ADD CONSTRAINT FK_JORNADA_1  FOREIGN KEY (ID_HORARIO_CONTROL_PERSONAL) REFERENCES HORARIO_CONTROL_PERSONAL (ID_HORARIO_CONTROL_PERSONAL);
ALTER TABLE JORNADA ADD CONSTRAINT FK_JORNADA_2  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE JORNADA ADD CONSTRAINT FK_JORNADA_3  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE JORNADA ADD CONSTRAINT FK_JORNADA_4  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);

ALTER TABLE JUSTIFICACION ADD CONSTRAINT FK_JUSTIFICACION_2  FOREIGN KEY (ID_CONCEPTO_VECES) REFERENCES FORMATO_CONCEPTO (ID_FORMATO_CONCEPTO);
ALTER TABLE JUSTIFICACION ADD CONSTRAINT FK_JUSTIFICACION_3  FOREIGN KEY (ID_CONCEPTO_HORAS) REFERENCES FORMATO_CONCEPTO (ID_FORMATO_CONCEPTO);
ALTER TABLE JUSTIFICACION ADD CONSTRAINT FK_JUSTIFICACION_4  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE JUSTIFICACION ADD CONSTRAINT FK_JUSTIFICACION_5  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE JUSTIFICACION ADD CONSTRAINT FK_JUSTIFICACION_6  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);

ALTER TABLE LOTE_AGENTE ADD CONSTRAINT FK_LOTE_AGENTE_1  FOREIGN KEY (ID_RELOJ) REFERENCES RELOJ (ID_RELOJ);
CREATE INDEX IDX_LOTE_AGENTE_1 ON LOTE_AGENTE (ID_LOTE);
CREATE INDEX IDX_LOTE_AGENTE_2 ON LOTE_AGENTE (ID_RELOJ);

ALTER TABLE NOVEDAD ADD CONSTRAINT FK_NOVEDAD_1  FOREIGN KEY (ID_HORARIO_CONTROL_PERSONAL) REFERENCES HORARIO_CONTROL_PERSONAL (ID_HORARIO_CONTROL_PERSONAL);
ALTER TABLE NOVEDAD ADD CONSTRAINT FK_NOVEDAD_2  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE NOVEDAD ADD CONSTRAINT FK_NOVEDAD_3  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE NOVEDAD ADD CONSTRAINT FK_NOVEDAD_4  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE NOVEDAD ADD CONSTRAINT FK_NOVEDAD_5  FOREIGN KEY (ID_TIPO_NOVEDAD) REFERENCES TIPO_NOVEDAD (ID_TIPO_NOVEDAD);
ALTER TABLE NOVEDAD ADD CONSTRAINT FK_NOVEDAD_6  FOREIGN KEY (ID_JORNADA) REFERENCES JORNADA (ID_JORNADA);
ALTER TABLE NOVEDAD ADD CONSTRAINT FK_NOVEDAD_7  FOREIGN KEY (ID_JUSTIFICACION) REFERENCES JUSTIFICACION (ID_JUSTIFICACION);
ALTER TABLE NOVEDAD ADD CONSTRAINT FK_NOVEDAD_8  FOREIGN KEY (ID_TIPO_JUSTIFICACION) REFERENCES TIPO_JUSTIFICACION (ID_TIPO_JUSTIFICACION);
ALTER TABLE NOVEDAD ADD CONSTRAINT FK_NOVEDAD_9  FOREIGN KEY (ID_TIPO_AUTORIZACION) REFERENCES TIPO_AUTORIZACION (ID_TIPO_AUTORIZACION);
ALTER TABLE NOVEDAD ADD CONSTRAINT FK_NOVEDAD_10  FOREIGN KEY (ID_FORMATO_CONCEPTO) REFERENCES FORMATO_CONCEPTO (ID_FORMATO_CONCEPTO);
ALTER TABLE NOVEDAD ADD CONSTRAINT FK_NOVEDAD_11  FOREIGN KEY (ID_FORMATO_CONCEPTO_HORAS) REFERENCES FORMATO_CONCEPTO (ID_FORMATO_CONCEPTO);
ALTER TABLE NOVEDAD ADD CONSTRAINT FK_NOVEDAD_12  FOREIGN KEY (ID_FORMATO_CONCEPTO_VECES) REFERENCES FORMATO_CONCEPTO (ID_FORMATO_CONCEPTO);

ALTER TABLE REL_NOVEDAD_DOCUMENTO ADD CONSTRAINT FK_REL_NOV_DOC_NOV FOREIGN KEY (ID_NOVEDAD) REFERENCES NOVEDAD (ID_NOVEDAD) ON DELETE CASCADE;
ALTER TABLE REL_NOVEDAD_DOCUMENTO ADD CONSTRAINT FK_REL_NOV_DOC_DOC FOREIGN KEY (ID_DOCUMENTO) REFERENCES DOCUMENTO (ID_DOCUMENTO) ON DELETE CASCADE;

ALTER TABLE NOVEDAD_EXPORTACION ADD CONSTRAINT FK_NOV_EXP_NOV FOREIGN KEY (ID_NOVEDAD) REFERENCES NOVEDAD (ID_NOVEDAD) ON DELETE CASCADE;

ALTER TABLE REL_NOVEDAD_USUARIO ADD CONSTRAINT FK_REL_NOVEDAD_USUARIO_1 FOREIGN KEY (ID_NOVEDAD) REFERENCES NOVEDAD (ID_NOVEDAD);
ALTER TABLE REL_NOVEDAD_USUARIO ADD CONSTRAINT FK_REL_NOVEDAD_USUARIO_2 FOREIGN KEY (ID_USUARIO) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE REL_NOVEDAD_USUARIO ADD CONSTRAINT FK_REL_NOVEDAD_USUARIO_3 FOREIGN KEY (ID_ESTADO_AUTORIZACION) REFERENCES ESTADO_AUTORIZACION (ID_ESTADO_AUTORIZACION);

ALTER TABLE OPCION ADD CONSTRAINT FK_OPCION_1  FOREIGN KEY (ID_SUBMENU) REFERENCES SUBMENU (ID_SUBMENU);
CREATE INDEX IDX_OPCION_1 ON OPCION (ID_SUBMENU);

ALTER TABLE PARAMETRO_ACCESO ADD CONSTRAINT FK_PARAMETRO_ACCESO_1  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);

ALTER TABLE PARAMETRO_GENERAL ADD CONSTRAINT FK_PARAMETRO_GENERAL_1  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);

ALTER TABLE PARAMETRO_HORARIO ADD CONSTRAINT FK_PARAMETRO_HORARIO_1  FOREIGN KEY (FORMATO_CONCEPTO) REFERENCES FORMATO_CONCEPTO (ID_FORMATO_CONCEPTO);
ALTER TABLE PARAMETRO_HORARIO ADD CONSTRAINT FK_PARAMETRO_HORARIO_4  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);

ALTER TABLE PARAMETRO_IMPO ADD CONSTRAINT FK_PARAMETRO_IMPO_1  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE PARAMETRO_EXPO ADD CONSTRAINT FK_PARAMETRO_EXPO_1  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE PARAMETRO_EXPO ADD CONSTRAINT FK_PARAMETRO_EXPO_2  FOREIGN KEY (E_ID_AGRUPACION) REFERENCES AGRUPACION (ID_AGRUPACION) ON DELETE SET NULL;

ALTER TABLE PARAMETRO_NOVEDAD ADD CONSTRAINT FK_PARAM_NOV_AUS FOREIGN KEY (FORMATO_AUSENCIA) REFERENCES FORMATO_EXPO_NOVEDAD (ID_FORMATO_EXPO_NOVEDAD);
ALTER TABLE PARAMETRO_NOVEDAD ADD CONSTRAINT FK_PARAM_NOV_CH FOREIGN KEY (FORMATO_CAMBIO_HORARIO) REFERENCES FORMATO_EXPO_NOVEDAD (ID_FORMATO_EXPO_NOVEDAD);
ALTER TABLE PARAMETRO_NOVEDAD ADD CONSTRAINT FK_PARAM_NOV_AUT FOREIGN KEY (FORMATO_AUTORIZACION) REFERENCES FORMATO_EXPO_NOVEDAD (ID_FORMATO_EXPO_NOVEDAD);
ALTER TABLE PARAMETRO_NOVEDAD ADD CONSTRAINT FK_PARAM_NOV_FER FOREIGN KEY (FORMATO_FERIADO) REFERENCES FORMATO_EXPO_NOVEDAD (ID_FORMATO_EXPO_NOVEDAD);

ALTER TABLE PARAMETRO_WORKFLOW ADD CONSTRAINT FK_PARAMETRO_WORKFLOW_1 FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE PARAMETRO_WORKFLOW ADD CONSTRAINT FK_PARAMETRO_WORKFLOW_2 FOREIGN KEY (ID_USUARIO_SUPERVISOR) REFERENCES USUARIO (ID_USUARIO);

ALTER TABLE PERFIL ADD CONSTRAINT FK_PERFIL_1  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE PERFIL ADD CONSTRAINT FK_PERFIL_2  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE PERFIL ADD CONSTRAINT FK_PERFIL_3  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
CREATE INDEX IDX_PERFIL_1 ON PERFIL (ID_EMPRESA);

ALTER TABLE PERFIL_ACCESO ADD CONSTRAINT FK_PERFIL_ACCESO_1  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE PERFIL_ACCESO ADD CONSTRAINT FK_PERFIL_ACCESO_2  FOREIGN KEY (ID_ACCESO) REFERENCES ACCESO (ID_ACCESO);
ALTER TABLE PERFIL_ACCESO ADD CONSTRAINT FK_PERFIL_ACCESO_3  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE PERFIL_ACCESO ADD CONSTRAINT FK_PERFIL_ACCESO_4  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
CREATE INDEX IDX_PERFIL_ACCESO_1 ON PERFIL_ACCESO (ID_EMPRESA);
CREATE INDEX IDX_PERFIL_ACCESO_2 ON PERFIL_ACCESO (ID_ACCESO);

ALTER TABLE PERIODO ADD CONSTRAINT FK_PERIODO_1  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE PERIODO ADD CONSTRAINT FK_PERIODO_2  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE PERIODO ADD CONSTRAINT FK_PERIODO_3  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE PERIODO ADD CONSTRAINT FK_PERIODO_4  FOREIGN KEY (ID_JORNADA) REFERENCES JORNADA (ID_JORNADA);

ALTER TABLE PERSONA ADD CONSTRAINT FK_PERSONA_1  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE PERSONA ADD CONSTRAINT FK_PERSONA_2  FOREIGN KEY (ID_TIPO_PERSONA) REFERENCES TIPO_PERSONA (ID_TIPO_PERSONA);
ALTER TABLE PERSONA ADD CONSTRAINT FK_PERSONA_3  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE PERSONA ADD CONSTRAINT FK_PERSONA_4  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE PERSONA ADD CONSTRAINT FK_PERSONA_5  FOREIGN KEY (ID_PERFIL_ACCESO) REFERENCES PERFIL_ACCESO (ID_PERFIL_ACCESO);
ALTER TABLE PERSONA ADD CONSTRAINT FK_PERSONA_6  FOREIGN KEY (ID_SUPERIOR_INMEDIATO) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE PERSONA ADD CONSTRAINT FK_PERSONA_7  FOREIGN KEY (ID_TIPO_DOCUMENTO) REFERENCES TIPO_DOCUMENTO (ID_TIPO_DOCUMENTO);

ALTER TABLE PERSONA_HORARIO ADD CONSTRAINT FK_PERSONA_HORARIO_1  FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA);
ALTER TABLE PERSONA_HORARIO ADD CONSTRAINT FK_PERSONA_HORARIO_2  FOREIGN KEY (ID_HORARIO_CONTROL_PERSONAL) REFERENCES HORARIO_CONTROL_PERSONAL (ID_HORARIO_CONTROL_PERSONAL);
ALTER TABLE PERSONA_HORARIO ADD CONSTRAINT FK_PERSONA_HORARIO_3  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE PERSONA_HORARIO ADD CONSTRAINT FK_PERSONA_HORARIO_4  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE PERSONA_HORARIO ADD CONSTRAINT FK_PERSONA_HORARIO_5  FOREIGN KEY (ID_TIPO_AUTORIZACION) REFERENCES TIPO_AUTORIZACION (ID_TIPO_AUTORIZACION);

ALTER TABLE PROTOCOLO ADD CONSTRAINT FK_PROTOCOLO_1  FOREIGN KEY (ID_TIPO_RELOJ) REFERENCES TIPO_RELOJ (ID_TIPO_RELOJ);
CREATE INDEX IDX_PROTOCOLO_1 ON PROTOCOLO (ID_TIPO_RELOJ);

ALTER TABLE PRO_FORMATO_CONCEPTO ADD CONSTRAINT FK_PRO_FORMATO_CONCEPTO_3  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);

ALTER TABLE PRO_HOR_CON_PER ADD CONSTRAINT FK_PRO_HOR_CONT_PER_1  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE PRO_HOR_CON_PER ADD CONSTRAINT FK_PRO_HOR_CONT_PER_2  FOREIGN KEY (ID_TIPO_HORARIO) REFERENCES TIPO_HORARIO (ID_TIPO_HORARIO);

ALTER TABLE PRO_JORNADA ADD CONSTRAINT FK_PRO_JORNADA_1  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);

ALTER TABLE PRO_JORNADA_CALENDARIO ADD CONSTRAINT FK_PRO_JORNADA_CALENDARIO_1  FOREIGN KEY (ID_PERSONA_HORARIO) REFERENCES PERSONA_HORARIO (ID_PERSONA_HORARIO);

ALTER TABLE PRO_JUSTIFICACION ADD CONSTRAINT FK_PRO_JUSTIFICACION_6  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);

ALTER TABLE PRO_NOVEDAD ADD CONSTRAINT FK_PRO_NOVEDAD_4  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE PRO_NOVEDAD ADD CONSTRAINT FK_PRO_NOVEDAD_5  FOREIGN KEY (ID_TIPO_NOVEDAD) REFERENCES TIPO_NOVEDAD (ID_TIPO_NOVEDAD);
ALTER TABLE PRO_NOVEDAD ADD CONSTRAINT FK_PRO_NOVEDAD_8  FOREIGN KEY (ID_TIPO_JUSTIFICACION) REFERENCES TIPO_JUSTIFICACION (ID_TIPO_JUSTIFICACION);
ALTER TABLE PRO_NOVEDAD ADD CONSTRAINT FK_PRO_NOVEDAD_9  FOREIGN KEY (ID_TIPO_AUTORIZACION) REFERENCES TIPO_AUTORIZACION (ID_TIPO_AUTORIZACION);
ALTER TABLE PRO_NOVEDAD ADD CONSTRAINT FK_PRO_NOVEDAD_10  FOREIGN KEY (ID_FORMATO_CONCEPTO) REFERENCES FORMATO_CONCEPTO (ID_FORMATO_CONCEPTO);
ALTER TABLE PRO_NOVEDAD ADD CONSTRAINT FK_PRO_NOVEDAD_11  FOREIGN KEY (ID_FORMATO_CONCEPTO_HORAS) REFERENCES FORMATO_CONCEPTO (ID_FORMATO_CONCEPTO);
ALTER TABLE PRO_NOVEDAD ADD CONSTRAINT FK_PRO_NOVEDAD_12  FOREIGN KEY (ID_FORMATO_CONCEPTO_VECES) REFERENCES FORMATO_CONCEPTO (ID_FORMATO_CONCEPTO);

ALTER TABLE PRO_PERIODO ADD CONSTRAINT FK_PRO_PERIODO_1  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
 
ALTER TABLE PRO_PERSONA_HORARIO ADD CONSTRAINT FK_PRO_PERSONA_HORARIO_1  FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA);
ALTER TABLE PRO_PERSONA_HORARIO ADD CONSTRAINT FK_PRO_PERSONA_HORARIO_2  FOREIGN KEY (ID_TIPO_AUTORIZACION) REFERENCES TIPO_AUTORIZACION (ID_TIPO_AUTORIZACION);

ALTER TABLE REGISTRACION ADD CONSTRAINT FK_REGISTRACION_1  FOREIGN KEY (ID_RELOJ) REFERENCES RELOJ (ID_RELOJ);
ALTER TABLE REGISTRACION ADD CONSTRAINT FK_REGISTRACION_2  FOREIGN KEY (ID_GEOLOCALIZACION) REFERENCES GEOLOCALIZACION (ID_GEOLOCALIZACION);
CREATE INDEX IDX_REGISTRACION_1 ON REGISTRACION (ID_RELOJ);
CREATE INDEX IDX_REGISTRACION_2 ON REGISTRACION (FECHA);
CREATE INDEX IDX_REGISTRACION_3 ON REGISTRACION (TARJETA);
CREATE INDEX IDX_REGISTRACION_4 ON REGISTRACION (ID_GEOLOCALIZACION);
CREATE INDEX IDX_REGISTRACION_5 ON REGISTRACION (EXPORTADA);
CREATE INDEX IDX_REGISTRACION_6 ON REGISTRACION (COMANDO);

ALTER TABLE RELOJ ADD CONSTRAINT FK_RELOJ_1 FOREIGN KEY (ID_TIPO_RELOJ) REFERENCES TIPO_RELOJ (ID_TIPO_RELOJ);
ALTER TABLE RELOJ ADD CONSTRAINT FK_RELOJ_2 FOREIGN KEY (ID_TIPO_COMUNICACION) REFERENCES TIPO_COMUNICACION (ID_TIPO_COMUNICACION);
ALTER TABLE RELOJ ADD CONSTRAINT FK_RELOJ_3 FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE RELOJ ADD CONSTRAINT FK_RELOJ_4 FOREIGN KEY (ID_AGENTE) REFERENCES AGENTE (ID_AGENTE);
ALTER TABLE RELOJ ADD CONSTRAINT FK_RELOJ_5 FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE RELOJ ADD CONSTRAINT FK_RELOJ_6 FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE RELOJ ADD CONSTRAINT FK_RELOJ_7 FOREIGN KEY (ID_TIPO_ACCESO_RELOJ)	REFERENCES TIPO_ACCESO_RELOJ (ID_TIPO_ACCESO_RELOJ);
ALTER TABLE RELOJ ADD CONSTRAINT FK_RELOJ_8 FOREIGN KEY (ID_RELOJ_ASOC) REFERENCES RELOJ (ID_RELOJ);
ALTER TABLE RELOJ ADD CONSTRAINT FK_RELOJ_9 FOREIGN KEY (ID_MODO_TARJETA) REFERENCES MODO_TARJETA (ID_MODO_TARJETA);

CREATE INDEX IDX_RELOJ_1 ON RELOJ (ID_TIPO_RELOJ);
CREATE INDEX IDX_RELOJ_2 ON RELOJ (ID_EMPRESA);
CREATE INDEX IDX_RELOJ_3 ON RELOJ (ID_RELOJ_ASOC);

ALTER TABLE REL_ACCESO_RELOJ ADD CONSTRAINT FK_ACCESO_RELOJ_1  FOREIGN KEY (ID_ACCESO) REFERENCES ACCESO (ID_ACCESO);
ALTER TABLE REL_ACCESO_RELOJ ADD CONSTRAINT FK_ACCESO_RELOJ_2  FOREIGN KEY (ID_RELOJ) REFERENCES RELOJ (ID_RELOJ);

ALTER TABLE REL_CATEGORIA_CONCEPTO ADD CONSTRAINT FK_REL_CATEGORIA_CONCEPTO_1  FOREIGN KEY (ID_CATEGORIA) REFERENCES CATEGORIA (ID_CATEGORIA);
ALTER TABLE REL_CATEGORIA_CONCEPTO ADD CONSTRAINT FK_REL_CATEGORIA_CONCEPTO_2  FOREIGN KEY (ID_CONCEPTO) REFERENCES CONCEPTO (ID_CONCEPTO);

ALTER TABLE REL_CONVENIO_PERSONA ADD CONSTRAINT FK_REL_CONVENIO_PERSONA_1  FOREIGN KEY (ID_CONVENIO) REFERENCES CONVENIO (ID_CONVENIO);
ALTER TABLE REL_CONVENIO_PERSONA ADD CONSTRAINT FK_REL_CONVENIO_PERSONA_2  FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA);

ALTER TABLE REL_CONVERSION_CONVENIO ADD CONSTRAINT FK_REL_CONVERSION_CONVENIO_1  FOREIGN KEY (ID_CONVERSION) REFERENCES CONVERSION (ID_CONVERSION);
ALTER TABLE REL_CONVERSION_CONVENIO ADD CONSTRAINT FK_REL_CONVERSION_CONVENIO_2  FOREIGN KEY (ID_CONVENIO) REFERENCES CONVENIO (ID_CONVENIO);

ALTER TABLE REL_EMPRESA_MODULO ADD CONSTRAINT FK_REL_EMPRESA_MODULO_1  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE REL_EMPRESA_MODULO ADD CONSTRAINT FK_REL_EMPRESA_MODULO_2  FOREIGN KEY (ID_MODULO) REFERENCES MODULO (ID_MODULO);

CREATE INDEX UNI_REL_F_C_CONV_DES_1 ON REL_F_CONCEPTO_CONVERSION_DES (ID_FORMATO_CONCEPTO,ID_CONVERSION);

CREATE INDEX UNI_REL_FC_CONV_ORI_1 ON REL_F_CONCEPTO_CONVERSION_ORI (ID_FORMATO_CONCEPTO,ID_CONVERSION);

ALTER TABLE REL_GRUPO_PERSONA ADD CONSTRAINT FK_REL_GRUPO_PERSONA_1  FOREIGN KEY (ID_GRUPO) REFERENCES GRUPO (ID_GRUPO);
ALTER TABLE REL_GRUPO_PERSONA ADD CONSTRAINT FK_REL_GRUPO_PERSONA_2  FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA);

ALTER TABLE REL_GRUPO_USUARIO ADD CONSTRAINT FK_REL_GRUPO_USUARIO_1  FOREIGN KEY (ID_GRUPO) REFERENCES GRUPO (ID_GRUPO);
ALTER TABLE REL_GRUPO_USUARIO ADD CONSTRAINT FK_REL_GRUPO_USUARIO_2  FOREIGN KEY (ID_USUARIO) REFERENCES USUARIO (ID_USUARIO);

ALTER TABLE REL_RELOJ_USUARIO ADD CONSTRAINT FK_REL_RELOJ_USUARIO_1  FOREIGN KEY (ID_RELOJ) REFERENCES RELOJ (ID_RELOJ);
ALTER TABLE REL_RELOJ_USUARIO ADD CONSTRAINT FK_REL_RELOJ_USUARIO_2  FOREIGN KEY (ID_USUARIO) REFERENCES USUARIO (ID_USUARIO);

ALTER TABLE REL_JORNADA_CONCEPTO_FORMATO ADD CONSTRAINT REL_JORNADA_CONCEPTO_FORMATO_1  FOREIGN KEY (ID_JORNADA) REFERENCES JORNADA (ID_JORNADA);
ALTER TABLE REL_JORNADA_CONCEPTO_FORMATO ADD CONSTRAINT REL_JORNADA_CONCEPTO_FORMATO_2  FOREIGN KEY (ID_CONCEPTO) REFERENCES CONCEPTO (ID_CONCEPTO);
ALTER TABLE REL_JORNADA_CONCEPTO_FORMATO ADD CONSTRAINT REL_JORNADA_CONCEPTO_FORMATO_3  FOREIGN KEY (ID_FORMATO_CONCEPTO) REFERENCES FORMATO_CONCEPTO (ID_FORMATO_CONCEPTO);
CREATE INDEX UNI_REL_JORNADA_CON_FORM_1 ON REL_JORNADA_CONCEPTO_FORMATO (ID_JORNADA,ID_CONCEPTO,ID_FORMATO_CONCEPTO);

ALTER TABLE REL_JUSTIFICACION_TIPO ADD CONSTRAINT FK_REL_JUSTIFICACION_TIPO_1  FOREIGN KEY (ID_JUSTIFICACION) REFERENCES JUSTIFICACION (ID_JUSTIFICACION);
ALTER TABLE REL_JUSTIFICACION_TIPO ADD CONSTRAINT FK_REL_JUSTIFICACION_TIPO_2  FOREIGN KEY (ID_TIPO_JUSTIFICACION) REFERENCES TIPO_JUSTIFICACION (ID_TIPO_JUSTIFICACION);

ALTER TABLE REL_NOTIFICACION_MONITOR ADD CONSTRAINT FK_REL_NOTIFICACION_MONITOR_1  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE REL_NOTIFICACION_MONITOR ADD CONSTRAINT FK_REL_NOTIFICACION_MONITOR_2  FOREIGN KEY (ID_RELOJ) REFERENCES RELOJ (ID_RELOJ);
ALTER TABLE REL_NOTIFICACION_MONITOR ADD CONSTRAINT FK_REL_NOTIFICACION_MONITOR_3  FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA);
ALTER TABLE REL_NOTIFICACION_MONITOR ADD CONSTRAINT FK_REL_NOTIFICACION_MONITOR_4  FOREIGN KEY (ID_TIPO_PERSONA) REFERENCES TIPO_PERSONA (ID_TIPO_PERSONA);

ALTER TABLE REL_NOVEDAD_GRUPO ADD CONSTRAINT FK_REL_NOVEDAD_GRUPO_1  FOREIGN KEY (ID_NOVEDAD) REFERENCES NOVEDAD (ID_NOVEDAD);
ALTER TABLE REL_NOVEDAD_GRUPO ADD CONSTRAINT FK_REL_NOVEDAD_GRUPO_2  FOREIGN KEY (ID_GRUPO) REFERENCES GRUPO (ID_GRUPO);

ALTER TABLE REL_NOVEDAD_PERSONA ADD CONSTRAINT FK_REL_NOVEDAD_PERSONA_1  FOREIGN KEY (ID_NOVEDAD) REFERENCES NOVEDAD (ID_NOVEDAD);
ALTER TABLE REL_NOVEDAD_PERSONA ADD CONSTRAINT FK_REL_NOVEDAD_PERSONA_2  FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA);

ALTER TABLE REL_OPCION_OPERACION ADD CONSTRAINT FK_REL_OPCION_OPERACION_1  FOREIGN KEY (ID_OPCION) REFERENCES OPCION (ID_OPCION);
ALTER TABLE REL_OPCION_OPERACION ADD CONSTRAINT FK_REL_OPCION_OPERACION_2  FOREIGN KEY (ID_OPERACION) REFERENCES OPERACION (ID_OPERACION);
CREATE INDEX IDX_REL_OPCION_OPERACION_1 ON REL_OPCION_OPERACION (ID_OPCION,ID_OPERACION);

ALTER TABLE REL_PERFIL_OPCION_OPERACION ADD CONSTRAINT FK_REL_PERFIL_OPC_OPE_1  FOREIGN KEY (ID_REL_OPC_OPE) REFERENCES REL_OPCION_OPERACION (ID_REL_OPC_OPE);
ALTER TABLE REL_PERFIL_OPCION_OPERACION ADD CONSTRAINT FK_REL_PERFIL_OPC_OPE_2  FOREIGN KEY (ID_PERFIL) REFERENCES PERFIL (ID_PERFIL);

ALTER TABLE REL_PERFIL_RELOJ_HORARIO ADD CONSTRAINT FK_REL_PERFIL_RELOJ_HORARIO_1  FOREIGN KEY (ID_PERFIL_ACCESO) REFERENCES PERFIL_ACCESO (ID_PERFIL_ACCESO);
ALTER TABLE REL_PERFIL_RELOJ_HORARIO ADD CONSTRAINT FK_REL_PERFIL_RELOJ_HORARIO_2  FOREIGN KEY (ID_RELOJ) REFERENCES RELOJ (ID_RELOJ);
ALTER TABLE REL_PERFIL_RELOJ_HORARIO ADD CONSTRAINT FK_REL_PERFIL_RELOJ_HORARIO_3  FOREIGN KEY (ID_HORARIO) REFERENCES HORARIO (ID_HORARIO);

ALTER TABLE REL_PERIODO_CONCEPTO ADD CONSTRAINT REL_PERIODO_CONCEPTO_1  FOREIGN KEY (ID_CONCEPTO) REFERENCES CONCEPTO (ID_CONCEPTO) ON DELETE CASCADE;
ALTER TABLE REL_PERIODO_CONCEPTO ADD CONSTRAINT REL_PERIODO_CONCEPTO_2  FOREIGN KEY (ID_FORMATO_CONCEPTO) REFERENCES FORMATO_CONCEPTO (ID_FORMATO_CONCEPTO) ON DELETE CASCADE;
ALTER TABLE REL_PERIODO_CONCEPTO ADD CONSTRAINT REL_PERIODO_CONCEPTO_3  FOREIGN KEY (ID_PERIODO) REFERENCES PERIODO (ID_PERIODO) ON DELETE CASCADE;
CREATE INDEX UNI_REL_PERIODO_CONCEPTO_1 ON REL_PERIODO_CONCEPTO (ID_CONCEPTO,ID_FORMATO_CONCEPTO,ID_PERIODO);

ALTER TABLE REL_PERSONA_CATEGORIA ADD CONSTRAINT FK_REL_PERSONA_CATEGORIA_1  FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA);
ALTER TABLE REL_PERSONA_CATEGORIA ADD CONSTRAINT FK_REL_PERSONA_CATEGORIA_2  FOREIGN KEY (ID_CATEGORIA) REFERENCES CATEGORIA (ID_CATEGORIA);

ALTER TABLE REL_PERSONA_RELOJ ADD CONSTRAINT FK_REL_PERSONA_RELOJ_1  FOREIGN KEY (ID_RELOJ) REFERENCES RELOJ (ID_RELOJ) ON DELETE CASCADE;
ALTER TABLE REL_PERSONA_RELOJ ADD CONSTRAINT FK_REL_PERSONA_RELOJ_2  FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA) ON DELETE CASCADE;

ALTER TABLE REL_RELOJ_MONITOR ADD CONSTRAINT FK_REL_RELOJ_MONITOR_1  FOREIGN KEY (ID_CONFIGURACION_MONITOR) REFERENCES CONFIGURACION_MONITOR (ID_CONFIGURACION_MONITOR);
ALTER TABLE REL_RELOJ_MONITOR ADD CONSTRAINT FK_REL_RELOJ_MONITOR_2  FOREIGN KEY (ID_RELOJ) REFERENCES RELOJ (ID_RELOJ);

ALTER TABLE REL_RELOJ_ZONA_APB ADD CONSTRAINT FK_REL_RELOJ_ZONA_APB_1  FOREIGN KEY (ID_RELOJ) REFERENCES RELOJ (ID_RELOJ);
ALTER TABLE REL_RELOJ_ZONA_APB ADD CONSTRAINT FK_REL_RELOJ_ZONA_APB_2  FOREIGN KEY (ID_ZONA_APB) REFERENCES ZONA_APB (ID_ZONA_APB);

ALTER TABLE REL_VENCIMIENTO_PERSONA ADD CONSTRAINT FK_REL_VENCIMIENTO_PERSONA_1  FOREIGN KEY (ID_VENCIMIENTO) REFERENCES VENCIMIENTO (ID_VENCIMIENTO);
CREATE INDEX IDX_REL_VENCIMIENTO_PERSONA_1 ON REL_VENCIMIENTO_PERSONA (ID_PERSONA);

ALTER TABLE RETICULA_CALENDARIO ADD CONSTRAINT FK_RET_CALENDARIO_2  FOREIGN KEY (ID_JORNADA) REFERENCES JORNADA (ID_JORNADA);

ALTER TABLE SUBMENU ADD CONSTRAINT FK_SUBMENU_1  FOREIGN KEY (ID_MODULO) REFERENCES MODULO (ID_MODULO);

ALTER TABLE TARJETA_HISTORICO ADD CONSTRAINT FK_TARJETA_HISTORICO_1  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE TARJETA_HISTORICO ADD CONSTRAINT FK_TARJETA_HISTORICO_2  FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA);
CREATE INDEX IDX_TARJETA_HISTORICA_1 ON TARJETA_HISTORICO (ID_EMPRESA);
CREATE INDEX IDX_TARJETA_HISTORICA_2 ON TARJETA_HISTORICO (ID_PERSONA);
CREATE INDEX IDX_TARJETA_HISTORICA_3 ON TARJETA_HISTORICO (TARJETA);

CREATE INDEX UNI_TIPO_HORARIO_1 ON TIPO_HORARIO (NOMBRE,DESCRIPCION);

ALTER TABLE TIPO_JUSTIFICACION ADD CONSTRAINT FK_TIPO_JUSTIFICACION_1  FOREIGN KEY (ID_CONCEPTO_HORAS) REFERENCES CONCEPTO (ID_CONCEPTO);
ALTER TABLE TIPO_JUSTIFICACION ADD CONSTRAINT FK_TIPO_JUSTIFICACION_2  FOREIGN KEY (ID_CONCEPTO_VECES) REFERENCES CONCEPTO (ID_CONCEPTO);

ALTER TABLE USUARIO ADD CONSTRAINT FK_USUARIO_1  FOREIGN KEY (ID_PERFIL) REFERENCES PERFIL (ID_PERFIL);
ALTER TABLE USUARIO ADD CONSTRAINT FK_USUARIO_2  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE USUARIO ADD CONSTRAINT FK_USUARIO_3  FOREIGN KEY (ID_IDIOMA) REFERENCES IDIOMA (ID_IDIOMA);
ALTER TABLE USUARIO ADD CONSTRAINT FK_USUARIO_4 FOREIGN KEY (ID_SUPERIOR_INMEDIATO) REFERENCES USUARIO (ID_USUARIO) ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE USUARIO ADD CONSTRAINT FK_USUARIO_TAG FOREIGN KEY (ID_TIPO_ASIGNACION_GRUPO) REFERENCES TIPO_ASIGNACION_GRUPO (ID_TIPO_ASIGNACION_GRUPO);
ALTER TABLE USUARIO ADD CONSTRAINT FK_USUARIO_TAR FOREIGN KEY (ID_TIPO_ASIGNACION_RELOJ) REFERENCES TIPO_ASIGNACION_RELOJ (ID_TIPO_ASIGNACION_RELOJ);
ALTER TABLE USUARIO ADD CONSTRAINT FK_USUARIO_RLIC FOREIGN KEY (ID_RESERVA_LICENCIA) REFERENCES RESERVA_LICENCIA (ID_RESERVA_LICENCIA);
CREATE INDEX IDX_USUARIO_1 ON USUARIO (ID_EMPRESA);

ALTER TABLE VENCIMIENTO ADD CONSTRAINT FK_VENCIMIENTO_1  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
CREATE INDEX IDX_VENCIMIENTO_1 ON VENCIMIENTO (ID_EMPRESA);

ALTER TABLE ZONA_APB ADD CONSTRAINT FK_ZONA_APB_1  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE ZONA_APB ADD CONSTRAINT FK_ZONA_APB_2  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE ZONA_APB ADD CONSTRAINT FK_ZONA_APB_3  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
CREATE INDEX IDX_ZONA_APB_1 ON ZONA_APB (ID_EMPRESA);

ALTER TABLE PROCESO ADD CONSTRAINT FK_PROCESO_EMPRESA FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE PROCESO ADD CONSTRAINT FK_PROCESO_ESTADO_PROCESO FOREIGN KEY (ID_ESTADO_PROCESO) REFERENCES ESTADO_PROCESO (ID_ESTADO_PROCESO);
ALTER TABLE PROCESO ADD CONSTRAINT FK_PROCESO_TIPO_PROCESO FOREIGN KEY (ID_TIPO_PROCESO) REFERENCES TIPO_PROCESO (ID_TIPO_PROCESO);
ALTER TABLE PROCESO ADD CONSTRAINT FK_PROCESO_USUARIO FOREIGN KEY (ID_USUARIO) REFERENCES USUARIO (ID_USUARIO);

ALTER TABLE PROCESO ADD CONSTRAINT FK_PROCESO_APLICA FOREIGN KEY (ID_APLICA) REFERENCES APLICA(ID_APLICA);
ALTER TABLE PROCESO_GRUPO ADD CONSTRAINT FK_PROCESO_GRUPO1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO) ON DELETE CASCADE;
ALTER TABLE PROCESO_GRUPO ADD CONSTRAINT FK_PROCESO_GRUPO2 FOREIGN KEY (ID_GRUPO) REFERENCES GRUPO(ID_GRUPO) ON DELETE CASCADE;
ALTER TABLE PROCESO_PERSONA ADD CONSTRAINT FK_PROCESO_PERSONA1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO) ON DELETE CASCADE;
ALTER TABLE PROCESO_PERSONA ADD CONSTRAINT FK_PROCESO_PERSONA2 FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA(ID_PERSONA) ON DELETE CASCADE;
 

-- FK REL_F_CONCEPTO_CONVERSION_DES
alter table REL_F_CONCEPTO_CONVERSION_DES
add constraint FK_REL_F_CNCPT_CNVRSN_DES_1
foreign key (ID_FORMATO_CONCEPTO)
references FORMATO_CONCEPTO (ID_FORMATO_CONCEPTO);

alter table REL_F_CONCEPTO_CONVERSION_DES
add constraint FK_REL_F_CNCPT_CNVRSN_DES_2
foreign key (ID_CONVERSION)
references CONVERSION (ID_CONVERSION);

-- FK REL_F_CONCEPTO_CONVERSION_ORI
alter table REL_F_CONCEPTO_CONVERSION_ORI
add constraint FK_REL_F_CNCPT_CNVRSN_ORI_1
foreign key (ID_FORMATO_CONCEPTO)
references FORMATO_CONCEPTO (ID_FORMATO_CONCEPTO);

alter table REL_F_CONCEPTO_CONVERSION_ORI
add constraint FK_REL_F_CNCPT_CNVRSN_ORI_2
foreign key (ID_CONVERSION)
references CONVERSION (ID_CONVERSION);

-- GENERA LAS FK PARA TIPO_REGISTRO
ALTER TABLE FICHADA_PROCESO  ADD CONSTRAINT FK_FICH_PROC_REGISTRO	FOREIGN KEY (ID_TIPO_REGISTRO) REFERENCES TIPO_REGISTRO (ID_TIPO_REGISTRO);
ALTER TABLE CONCEPTO_PROCESO ADD CONSTRAINT FK_CONC_PROC_REGISTRO	FOREIGN KEY (ID_TIPO_REGISTRO) REFERENCES TIPO_REGISTRO (ID_TIPO_REGISTRO);

-- GENERA LAS FK PARA LAS MODIF.MANUALES DE HORARIO
ALTER TABLE PRO_JORNADA_INDIV ADD CONSTRAINT FK_JOR FOREIGN KEY (ID_PRO_JORNADA) REFERENCES PRO_JORNADA (ID_PRO_JORNADA) ON DELETE CASCADE;
ALTER TABLE PRO_JORNADA_INDIV ADD CONSTRAINT FK_JOR_REGISTRO FOREIGN KEY (ID_TIPO_REGISTRO) REFERENCES TIPO_REGISTRO (ID_TIPO_REGISTRO);
ALTER TABLE PRO_JORNADA_INDIV ADD CONSTRAINT FK_PRO_JORNADA_INDIV1 FOREIGN KEY (ID_FECHA_JORNADA) REFERENCES FECHA_JORNADA(ID_FECHA_JORNADA);

ALTER TABLE PRO_PERIODO_INDIV ADD CONSTRAINT FK_PRO_PERIODO_INDIV1 FOREIGN KEY (ID_PRO_JORNADA_INDIV) REFERENCES PRO_JORNADA_INDIV(ID_PRO_JORNADA_INDIV) ON DELETE CASCADE;
ALTER TABLE PRO_PERIODO_INDIV ADD CONSTRAINT FK_PER_REGISTRO FOREIGN KEY (ID_TIPO_REGISTRO) REFERENCES TIPO_REGISTRO (ID_TIPO_REGISTRO);

ALTER TABLE PRO_REL_JOR_CON_FOR_INDIV ADD CONSTRAINT FK_PRO_REL_JOR_CON_FOR_INDIV1 FOREIGN KEY (ID_PRO_JORNADA_INDIV) REFERENCES PRO_JORNADA_INDIV(ID_PRO_JORNADA_INDIV) ON DELETE CASCADE;
ALTER TABLE PRO_REL_JOR_CON_FOR_INDIV ADD CONSTRAINT FK_REL_JOR_CON_REGISTRO FOREIGN KEY (ID_TIPO_REGISTRO) REFERENCES TIPO_REGISTRO (ID_TIPO_REGISTRO);

ALTER TABLE PRO_REL_PER_CON_INDIV ADD CONSTRAINT FK_PRO_REL_PER_CON_INDIV1 FOREIGN KEY (ID_PRO_PERIODO_INDIV) REFERENCES PRO_PERIODO_INDIV(ID_PRO_PERIODO_INDIV) ON DELETE CASCADE;
ALTER TABLE PRO_REL_PER_CON_INDIV ADD CONSTRAINT FK_REL_PER_CON_REGISTRO FOREIGN KEY (ID_TIPO_REGISTRO) REFERENCES TIPO_REGISTRO (ID_TIPO_REGISTRO);

ALTER TABLE ANORMALIDAD_CALCULO  ADD CONSTRAINT FK_ANOR_CALC_REGISTRO FOREIGN KEY (ID_TIPO_REGISTRO) REFERENCES TIPO_REGISTRO (ID_TIPO_REGISTRO);
ALTER TABLE ANORMALIDAD_CALCULO  ADD CONSTRAINT FK_ANOR_CALC_JUSTIFICACION FOREIGN KEY (ID_JUSTIFICACION) REFERENCES JUSTIFICACION (ID_JUSTIFICACION);
ALTER TABLE ANORMALIDAD_CALCULO ADD CONSTRAINT FK_ANOR_CALC_JUSTIF FOREIGN KEY (ID_TIPO_JUSTIFICACION) REFERENCES TIPO_JUSTIFICACION(ID_TIPO_JUSTIFICACION);

ALTER TABLE PRO_CATEGORIA ADD CONSTRAINT FK_PRO_CATEGORIA_3 FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);

ALTER TABLE PRO_GRUPO ADD CONSTRAINT FK_PRO_GRUPO_1 FOREIGN KEY (ID_AGRUPACION) REFERENCES AGRUPACION (ID_AGRUPACION);
CREATE INDEX IDX_PRO_GRUPO_1 ON PRO_GRUPO (ID_AGRUPACION); 

ALTER TABLE PRO_CONVENIO ADD CONSTRAINT FK_PRO_CONVENIO_3 FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);

ALTER TABLE PRO_REL_GRUPO_PERSONA ADD CONSTRAINT FK_PRO_REL_GRUPO_PERSONA_1 FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA);

ALTER TABLE PRO_REL_PERSONA_CATEGORIA ADD CONSTRAINT FK_PRO_REL_PERSONA_CATEGORIA_1 FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA);

ALTER TABLE PRO_REL_CONVENIO_PERSONA ADD CONSTRAINT FK_PRO_REL_CONVENIO_PERSONA_1 FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA);

ALTER TABLE PRO_REL_CATEGORIA_CONCEPTO ADD CONSTRAINT FK_PRO_REL_CATEGORIA_CONCEPTO_1 FOREIGN KEY (ID_CONCEPTO) REFERENCES CONCEPTO (ID_CONCEPTO);

ALTER TABLE PRO_FERIADO ADD CONSTRAINT FK_PRO_FERIADO_3  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);

ALTER TABLE FECHA_JORNADA ADD CONSTRAINT UQ_FECHA_JORNADA1 UNIQUE (FECHA_JORNADA);

ALTER TABLE PROCESO_PERSONA_JORNADA ADD CONSTRAINT FK_PROCESO_PERSONA_JORNADA1 FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA(ID_PERSONA);
ALTER TABLE PROCESO_PERSONA_JORNADA ADD CONSTRAINT FK_PROCESO_PERSONA_JORNADA2 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO) ON DELETE CASCADE;
ALTER TABLE PROCESO_PERSONA_JORNADA ADD CONSTRAINT FK_PROCESO_PERSONA_JORNADA3 FOREIGN KEY (ID_FECHA_JORNADA) REFERENCES FECHA_JORNADA(ID_FECHA_JORNADA);
ALTER TABLE PROCESO_PERSONA_JORNADA ADD CONSTRAINT FK_PROCESO_PERSONA_JORNADA4 FOREIGN KEY (ID_CENTRO_COSTO) REFERENCES GRUPO(ID_GRUPO);
ALTER TABLE PROCESO_PERSONA_JORNADA ADD CONSTRAINT FK_PROCESO_PERSONA_JORNADA5 FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO(ID_USUARIO);
ALTER TABLE PROCESO_PERSONA_JORNADA ADD CONSTRAINT FK_PROCESO_PERSONA_JORNADA6 FOREIGN KEY (ID_TIPO_AUTORIZACION) REFERENCES TIPO_AUTORIZACION(ID_TIPO_AUTORIZACION);

ALTER TABLE PROCESO_PRO_CATEGORIA ADD CONSTRAINT FK_PROCESO_PRO_CATEGORIA1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO) ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_CATEGORIA ADD CONSTRAINT FK_PROCESO_PRO_CATEGORIA2 FOREIGN KEY (ID_PRO_CATEGORIA) REFERENCES PRO_CATEGORIA(ID_PRO_CATEGORIA);

ALTER TABLE PROCESO_PRO_CONVENIO ADD CONSTRAINT FK_PROCESO_PRO_CONVENIO1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO) ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_CONVENIO ADD CONSTRAINT FK_PROCESO_PRO_CONVENIO2 FOREIGN KEY (ID_PRO_CONVENIO) REFERENCES PRO_CONVENIO(ID_PRO_CONVENIO);

ALTER TABLE PROCESO_PRO_CONVERSION ADD CONSTRAINT FK_PROCESO_PRO_CONVERSION1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO) ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_CONVERSION ADD CONSTRAINT FK_PROCESO_PRO_CONVERSION2 FOREIGN KEY (ID_PRO_CONVERSION) REFERENCES PRO_CONVERSION(ID_PRO_CONVERSION);

ALTER TABLE PROCESO_PRO_EXT_PER_FLEX ADD CONSTRAINT FK_PROCESO_PRO_EXT_PER_FLEX1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_EXT_PER_FLEX ADD CONSTRAINT FK_PROCESO_PRO_EXT_PER_FLEX2 FOREIGN KEY (ID_PRO_EXT_PER_FLEX) REFERENCES PRO_EXT_PER_FLEX(ID_PRO_EXT_PER_FLEX);

ALTER TABLE PROCESO_PRO_FERIADO ADD CONSTRAINT FK_PROCESO_PRO_FERIADO1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_FERIADO ADD CONSTRAINT FK_PROCESO_PRO_FERIADO2 FOREIGN KEY (ID_PRO_FERIADO) REFERENCES PRO_FERIADO(ID_PRO_FERIADO);

ALTER TABLE PROCESO_PRO_FORMATO_CONCEPTO ADD CONSTRAINT FK_PROCESO_PRO_FOR_CONC1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_FORMATO_CONCEPTO ADD CONSTRAINT FK_PROCESO_PRO_FOR_CONC2 FOREIGN KEY (ID_PRO_FORMATO_CONCEPTO) REFERENCES PRO_FORMATO_CONCEPTO(ID_PRO_FORMATO_CONCEPTO);

ALTER TABLE PROCESO_PRO_GRUPO ADD CONSTRAINT FK_PROCESO_PRO_GRUPO1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_GRUPO ADD CONSTRAINT FK_PROCESO_PRO_GRUPO2 FOREIGN KEY (ID_PRO_GRUPO) REFERENCES PRO_GRUPO(ID_PRO_GRUPO);

ALTER TABLE PROCESO_PRO_HOR_CON_PER ADD CONSTRAINT FK_PROCESO_PRO_HOR_CON_PER1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_HOR_CON_PER ADD CONSTRAINT FK_PROCESO_PRO_HOR_CON_PER2 FOREIGN KEY (ID_PRO_HOR_CON_PER) REFERENCES PRO_HOR_CON_PER(ID_PRO_HOR_CON_PER);

ALTER TABLE PROCESO_PRO_JORNADA ADD CONSTRAINT FK_PROCESO_PRO_JORNADA1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_JORNADA ADD CONSTRAINT FK_PROCESO_PRO_JORNADA2 FOREIGN KEY (ID_PRO_JORNADA) REFERENCES PRO_JORNADA(ID_PRO_JORNADA);

ALTER TABLE PROCESO_PRO_JORNADA_CALENDARIO ADD CONSTRAINT FK_PROCESO_PRO_JOR_CAL1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_JORNADA_CALENDARIO ADD CONSTRAINT FK_PROCESO_PRO_JOR_CAL2 FOREIGN KEY (ID_PRO_JORNADA_CALENDARIO) REFERENCES PRO_JORNADA_CALENDARIO(ID_PRO_JORNADA_CALENDARIO);

ALTER TABLE PROCESO_PRO_JUSTIFICACION ADD CONSTRAINT FK_PROCESO_PRO_JUSTIFICACION1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_JUSTIFICACION ADD CONSTRAINT FK_PROCESO_PRO_JUSTIFICACION2 FOREIGN KEY (ID_PRO_JUSTIFICACION) REFERENCES PRO_JUSTIFICACION(ID_PRO_JUSTIFICACION);

ALTER TABLE PROCESO_PRO_NOVEDAD ADD CONSTRAINT FK_PROCESO_PRO_NOVEDAD1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_NOVEDAD ADD CONSTRAINT FK_PROCESO_PRO_NOVEDAD2 FOREIGN KEY (ID_PRO_NOVEDAD) REFERENCES PRO_NOVEDAD(ID_PRO_NOVEDAD);

ALTER TABLE PROCESO_PRO_PERIODO ADD CONSTRAINT FK_PROCESO_PRO_PERIODO1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_PERIODO ADD CONSTRAINT FK_PROCESO_PRO_PERIODO2 FOREIGN KEY (ID_PRO_PERIODO) REFERENCES PRO_PERIODO(ID_PRO_PERIODO);

ALTER TABLE PROCESO_PRO_PERSONA_HORARIO ADD CONSTRAINT FK_PROCESO_PRO_PERSONA_HORARIO1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_PERSONA_HORARIO ADD CONSTRAINT FK_PROCESO_PRO_PERSONA_HORARIO2 FOREIGN KEY (ID_PRO_PERSONA_HORARIO) REFERENCES PRO_PERSONA_HORARIO(ID_PRO_PERSONA_HORARIO);

ALTER TABLE PROCESO_PRO_REL_CAT_CONCEPTO ADD CONSTRAINT FK_PROCESO_PRO_REL_CAT_CONCEP2 FOREIGN KEY (ID_PRO_REL_CATEGORIA_CONCEPTO) REFERENCES PRO_REL_CATEGORIA_CONCEPTO(ID_PRO_REL_CATEGORIA_CONCEPTO);
ALTER TABLE PROCESO_PRO_REL_CAT_CONCEPTO ADD CONSTRAINT FK_PROCESO_PRO_REL_CAT_CONCEP1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;

ALTER TABLE PROCESO_PRO_REL_CONV_PERS ADD CONSTRAINT FK_PROCESO_PRO_REL_CONV_PERS1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_REL_CONV_PERS ADD CONSTRAINT FK_PROCESO_PRO_REL_CONV_PERS2 FOREIGN KEY (ID_PRO_REL_CONVENIO_PERSONA) REFERENCES PRO_REL_CONVENIO_PERSONA(ID_PRO_REL_CONVENIO_PERSONA);

ALTER TABLE PROCESO_PRO_REL_CVER_CVENIO ADD CONSTRAINT FK_PROCESO_PRO_REL_CVER_CVENIO1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_REL_CVER_CVENIO ADD CONSTRAINT FK_PROCESO_PRO_REL_CVER_CVENIO2 FOREIGN KEY (ID_PRO_REL_CONVERSION_CONVENIO) REFERENCES PRO_REL_CONVERSION_CONVENIO(ID_PRO_REL_CONVERSION_CONVENIO);

ALTER TABLE PROCESO_PRO_REL_FC_CV_DES ADD CONSTRAINT FK_PROC_PRO_REL_F_CC_CV_DES1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_REL_FC_CV_DES ADD CONSTRAINT FK_PROC_PRO_REL_F_CC_CV_DES2 FOREIGN KEY (ID_PRO_REL_F_CONC_CONV_DES) REFERENCES PRO_REL_F_CONC_CONV_DES(ID_PRO_REL_F_CONC_CONV_DES);

ALTER TABLE PROCESO_PRO_REL_FC_CV_ORI ADD CONSTRAINT FK_PROCESO_PRO_REL_F_CC_CV_ORI1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_REL_FC_CV_ORI ADD CONSTRAINT FK_PROCESO_PRO_REL_F_CC_CV_RI2 FOREIGN KEY (ID_PRO_REL_F_CONC_CONV_ORI) REFERENCES PRO_REL_F_CONC_CONV_ORI(ID_PRO_REL_F_CONC_CONV_ORI);
  
ALTER TABLE PROCESO_PRO_REL_GRUPO_PERSONA ADD CONSTRAINT FK_PROCESO_PRO_REL_GRP_PRSN1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_REL_GRUPO_PERSONA ADD CONSTRAINT FK_PROCESO_PRO_REL_GRP_PRSN2 FOREIGN KEY (ID_PRO_REL_GRUPO_PERSONA) REFERENCES PRO_REL_GRUPO_PERSONA(ID_PRO_REL_GRUPO_PERSONA);
  
ALTER TABLE PROCESO_PRO_REL_JOR_CON_FOR ADD CONSTRAINT FK_PROCESO_PRO_REL_JOR_CON_FOR1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_REL_JOR_CON_FOR ADD CONSTRAINT FK_PROCESO_PRO_REL_JOR_CON_FOR2 FOREIGN KEY (ID_PRO_REL_JOR_CON_FOR) REFERENCES PRO_REL_JOR_CON_FOR(ID_PRO_REL_JOR_CON_FOR);

ALTER TABLE PROCESO_PRO_REL_JUSTIF_TIPO ADD CONSTRAINT FK_PROCESO_PRO_REL_JUSTIF_TIPO1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_REL_JUSTIF_TIPO ADD CONSTRAINT FK_PROCESO_PRO_REL_JUSTIF_TIPO2 FOREIGN KEY (ID_PRO_REL_JUSTIFICACION_TIPO) REFERENCES PRO_REL_JUSTIFICACION_TIPO(ID_PRO_REL_JUSTIFICACION_TIPO);
  
ALTER TABLE PROCESO_PRO_REL_NOVEDAD_GRUPO ADD CONSTRAINT FK_PROCESO_PRO_REL_NVDD_GRP1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_REL_NOVEDAD_GRUPO ADD CONSTRAINT FK_PROCESO_PRO_REL_NVDD_GRP2 FOREIGN KEY (ID_PRO_REL_NOVEDAD_GRUPO) REFERENCES PRO_REL_NOVEDAD_GRUPO(ID_PRO_REL_NOVEDAD_GRUPO);

ALTER TABLE PROCESO_PRO_REL_NOV_PER ADD CONSTRAINT FK_PROCESO_PRO_REL_NVDD_PRSN1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_REL_NOV_PER ADD CONSTRAINT FK_PROCESO_PRO_REL_NVDD_PRSN2 FOREIGN KEY (ID_PRO_REL_NOVEDAD_PERSONA) REFERENCES PRO_REL_NOVEDAD_PERSONA(ID_PRO_REL_NOVEDAD_PERSONA);
  
ALTER TABLE PROCESO_PRO_REL_PERI_CONC ADD CONSTRAINT FK_PROCESO_PRO_REL_PERI_CONC1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_REL_PERI_CONC ADD CONSTRAINT FK_PROCESO_PRO_REL_PERI_CONC2 FOREIGN KEY (ID_PRO_REL_PERIODO_CONCEPTO) REFERENCES PRO_REL_PERIODO_CONCEPTO(ID_PRO_REL_PERIODO_CONCEPTO);

ALTER TABLE PROCESO_PRO_REL_PERS_CATEG ADD CONSTRAINT FK_PROCESO_PRO_REL_PERS_CATEG1 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_REL_PERS_CATEG ADD CONSTRAINT FK_PROCESO_PRO_REL_PERS_CATEG2 FOREIGN KEY (ID_PRO_REL_PERSONA_CATEGORIA) REFERENCES PRO_REL_PERSONA_CATEGORIA(ID_PRO_REL_PERSONA_CATEGORIA);

ALTER TABLE PROCESO_PRO_RET_CAL ADD CONSTRAINT FK_PROCESO_PRO_RETI_CALEN FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;
ALTER TABLE PROCESO_PRO_RET_CAL ADD CONSTRAINT FK_PROCESO_PRO_RETI_CALEN2 FOREIGN KEY (ID_PRO_RETICULA_CALENDARIO) REFERENCES PRO_RETICULA_CALENDARIO(ID_PRO_RETICULA_CALENDARIO);


ALTER TABLE PRO_EXT_PER_FLEX_INDIV ADD CONSTRAINT FK_PRO_EXT_PER_FLEX_INDIV1 FOREIGN KEY (ID_PRO_PERIODO_INDIV) REFERENCES PRO_PERIODO_INDIV(ID_PRO_PERIODO_INDIV) ON DELETE CASCADE;
ALTER TABLE PRO_EXT_PER_FLEX_INDIV ADD CONSTRAINT FK_PRO_EXT_PER_FLEX_INDIV2 FOREIGN KEY (ID_TIPO_REGISTRO) REFERENCES TIPO_REGISTRO(ID_TIPO_REGISTRO);

ALTER TABLE REFERENCIA_SUB_PERIODO ADD CONSTRAINT FK_REFSUBPERIODO_PROCESO FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO)ON DELETE CASCADE;

ALTER TABLE REGISTRACION ADD CONSTRAINT FK_ESTADO_REG_REG FOREIGN KEY (ID_ESTADO_REGISTRACION) REFERENCES ESTADO_REGISTRACION(ID_ESTADO_REGISTRACION);

ALTER TABLE DEPURAR_LOG ADD CONSTRAINT FK_DEPURAR_LOG_1  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);

ALTER TABLE PROCESO_PER_JOR_NOV ADD CONSTRAINT FK_PROCESO_PER_JOR_NOV_PPJ FOREIGN KEY (ID_PROCESO,ID_PERSONA,ID_FECHA_JORNADA) REFERENCES PROCESO_PERSONA_JORNADA(ID_PROCESO,ID_PERSONA,ID_FECHA_JORNADA) ON DELETE CASCADE;
ALTER TABLE PROCESO_PER_JOR_CNV ADD CONSTRAINT FK_PROCESO_PER_JOR_CNV_PPJ FOREIGN KEY (ID_PROCESO,ID_PERSONA,ID_FECHA_JORNADA) REFERENCES PROCESO_PERSONA_JORNADA(ID_PROCESO,ID_PERSONA,ID_FECHA_JORNADA) ON DELETE CASCADE;
ALTER TABLE PROCESO_PER_JOR_DOC ADD CONSTRAINT FK_PROCESO_PER_JOR_DOC_PPJ FOREIGN KEY (ID_PROCESO,ID_PERSONA,ID_FECHA_JORNADA) REFERENCES PROCESO_PERSONA_JORNADA(ID_PROCESO,ID_PERSONA,ID_FECHA_JORNADA) ON DELETE CASCADE;
ALTER TABLE PROCESO_PER_JOR_DOC ADD CONSTRAINT FK_PROCESO_PER_JOR_DOC_DOC FOREIGN KEY (ID_DOCUMENTO) REFERENCES DOCUMENTO(ID_DOCUMENTO) ON DELETE CASCADE;


ALTER TABLE ANORMALIDAD_CALCULO ADD CONSTRAINT ANOR_CALC_PROC_PPJ FOREIGN KEY (ID_PROCESO, ID_PERSONA, ID_FECHA_JORNADA) REFERENCES  PROCESO_PERSONA_JORNADA (ID_PROCESO, ID_PERSONA, ID_FECHA_JORNADA) ON DELETE CASCADE;
ALTER TABLE CONCEPTO_PROCESO ADD CONSTRAINT CONC_PROC_PPJ FOREIGN KEY (ID_PROCESO, ID_PERSONA, ID_FECHA_JORNADA) REFERENCES  PROCESO_PERSONA_JORNADA (ID_PROCESO, ID_PERSONA, ID_FECHA_JORNADA) ON DELETE CASCADE;
ALTER TABLE FICHADA_PROCESO ADD CONSTRAINT FIC_PROC_PPJ FOREIGN KEY (ID_PROCESO, ID_PERSONA, ID_FECHA_JORNADA) REFERENCES  PROCESO_PERSONA_JORNADA (ID_PROCESO, ID_PERSONA, ID_FECHA_JORNADA) ON DELETE CASCADE;
--ALTER TABLE FICHADA_PROCESO ADD CONSTRAINT FK_FICHADA_PROCESO_1  FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA) ON DELETE CASCADE;
--ALTER TABLE FICHADA_PROCESO ADD CONSTRAINT FK_FICHADA_PROCESO_2 FOREIGN KEY (ID_PROCESO) REFERENCES PROCESO(ID_PROCESO) ON DELETE CASCADE;
--ALTER TABLE FICHADA_PROCESO ADD CONSTRAINT FK_FICHADA_PROCESO_3 FOREIGN KEY (ID_FECHA_JORNADA) REFERENCES FECHA_JORNADA(ID_FECHA_JORNADA);

ALTER TABLE FICHADA_PROCESO ADD CONSTRAINT FIC_PROC_GEO FOREIGN KEY (ID_GEOLOCALIZACION) REFERENCES GEOLOCALIZACION (ID_GEOLOCALIZACION);

-- TABLAS COMEDOR
ALTER TABLE REL_LISTA_PRECIO_MENU ADD CONSTRAINT FK_REL_LP_MENU1 FOREIGN KEY (ID_LISTA_PRECIO) REFERENCES LISTA_PRECIO (ID_LISTA_PRECIO);
ALTER TABLE REL_LISTA_PRECIO_MENU ADD CONSTRAINT FK_REL_LP_MENU2 FOREIGN KEY (ID_MENU) REFERENCES MENU (ID_MENU);

ALTER TABLE PARAMETRO_COMEDOR ADD CONSTRAINT FK_PARAMETRO_COMEDOR_EMPRESA FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE PARAMETRO_COMEDOR ADD CONSTRAINT FK_PARAMETRO_COMEDOR_LP FOREIGN KEY (ID_LISTA_PRECIO) REFERENCES LISTA_PRECIO (ID_LISTA_PRECIO);

ALTER TABLE MENU ADD CONSTRAINT FK_MENU_EMPRESA FOREIGN KEY (ID_EMPRESA)  REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE MENU ADD CONSTRAINT FK_MENU_USER_ALTA FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE MENU ADD CONSTRAINT FK_MENU_USER_MODIF FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);

ALTER TABLE LISTA_PRECIO ADD CONSTRAINT FK_LISTA_PRECIO_EMPRESA FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE LISTA_PRECIO ADD CONSTRAINT FK_LISTA_PRECIO_USER_ALTA FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE LISTA_PRECIO ADD CONSTRAINT FK_LISTA_PRECIO_USER_MODIF FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);

ALTER TABLE PERSONA_COMEDOR ADD CONSTRAINT FK_PERSONA_COMEDOR_PERSONA FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA);
ALTER TABLE PERSONA_COMEDOR ADD CONSTRAINT FK_PER_COMEDOR_USER_ALTA FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE PERSONA_COMEDOR ADD CONSTRAINT FK_PER_COMEDOR_USER_MODIF FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);



ALTER TABLE AUTORIZACION_HORAS_EXTRAS ADD CONSTRAINT FK_AUTOR_HE_1  FOREIGN KEY (ID_FORMATO_CONCEPTO_ORIGEN) REFERENCES FORMATO_CONCEPTO (ID_FORMATO_CONCEPTO);
ALTER TABLE AUTORIZACION_HORAS_EXTRAS ADD CONSTRAINT FK_AUTOR_HE_2  FOREIGN KEY (ID_FORMATO_CONCEPTO_DESTINO) REFERENCES FORMATO_CONCEPTO (ID_FORMATO_CONCEPTO);
ALTER TABLE AUTORIZACION_HORAS_EXTRAS ADD CONSTRAINT FK_AUTOR_HE_3  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE AUTORIZACION_HORAS_EXTRAS ADD CONSTRAINT FK_AUTOR_HE_4  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);

ALTER TABLE AUTORIZACION_HE_PER ADD CONSTRAINT FK_AUTOR_HE_PE_1  FOREIGN KEY (ID_AUTORIZACION_HORAS_EXTRAS) REFERENCES AUTORIZACION_HORAS_EXTRAS (ID_AUTORIZACION_HORAS_EXTRAS);
ALTER TABLE AUTORIZACION_HE_PER ADD CONSTRAINT FK_AUTOR_HE_PE_2  FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA);
ALTER TABLE AUTORIZACION_HE_PER ADD CONSTRAINT FK_AUTOR_HE_PE_3  FOREIGN KEY (ID_FECHA_JORNADA) REFERENCES FECHA_JORNADA (ID_FECHA_JORNADA);

ALTER TABLE SINCRONIZACION_PERSONA ADD CONSTRAINT FK_SINCRONIZACION_FORMATO FOREIGN KEY (ID_FORMATO_SINCRONIZACION) REFERENCES FORMATO_SINCRONIZACION (ID_FORMATO_SINCRONIZACION);
ALTER TABLE SINCRONIZACION_PERSONA ADD CONSTRAINT FK_SINCRONIZACION_EMPRESA FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE SINCRONIZACION_PERSONA ADD CONSTRAINT FK_SINCRONIZACION_EJECUCION FOREIGN KEY (ID_TIPO_EJEC_SINC) REFERENCES TIPO_EJEC_SINC (ID_TIPO_EJEC_SINC);

--TABLA CONSUMO_MENU

ALTER TABLE CONSUMO_MENU 
ADD CONSTRAINT FK_CONSUMO_MENU_MENU FOREIGN KEY  (ID_MENU) 
REFERENCES MENU (ID_MENU) ON DELETE cascade;

ALTER TABLE CONSUMO_MENU
ADD CONSTRAINT FK_CONSUMO_MENU_CONSUMO FOREIGN KEY (ID_CONSUMO)
REFERENCES CONSUMO_PERSONA (ID_CONSUMO) ON DELETE CASCADE;

-- TABLA CONSUMO_PERSONA
ALTER TABLE CONSUMO_PERSONA ADD CONSTRAINT FK_CONSUMO_PERSONA_PERSONA FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA) ON DELETE CASCADE;
ALTER TABLE CONSUMO_PERSONA ADD CONSTRAINT FK_CONSUMO_PERSONA_RELOJ FOREIGN KEY (ID_RELOJ) REFERENCES RELOJ (ID_RELOJ) ON DELETE CASCADE;

ALTER TABLE REL_PERSONA_COMEDOR_MENU ADD CONSTRAINT FK_REL_PER_COM_MEN_1  FOREIGN KEY (ID_PERSONA_COMEDOR) REFERENCES PERSONA_COMEDOR (ID_PERSONA_COMEDOR) ON DELETE CASCADE;
ALTER TABLE REL_PERSONA_COMEDOR_MENU ADD CONSTRAINT FK_REL_PER_COM_MEN_2  FOREIGN KEY (ID_MENU) REFERENCES MENU (ID_MENU) ON DELETE CASCADE;

alter table REL_FORMATO_CONCEPTO_GRUPO add constraint FK_REL_FC_GRP1 foreign key (ID_FORMATO_CONCEPTO) references FORMATO_CONCEPTO (ID_FORMATO_CONCEPTO);
alter table REL_FORMATO_CONCEPTO_GRUPO add constraint FK_REL_FC_GRP2 foreign key (ID_GRUPO) references GRUPO (ID_GRUPO);

ALTER TABLE REPORTE_ACCESO ADD CONSTRAINT FK_REPORTE_ACCESO_REPORTE FOREIGN KEY (ID_REPORTE) REFERENCES REPORTE (ID_REPORTE) ON DELETE CASCADE;
ALTER TABLE REPORTE_ACCESO ADD CONSTRAINT FK_REPORTE_ACCESO_USUARIO FOREIGN KEY (ID_USUARIO) REFERENCES USUARIO (ID_USUARIO) ON DELETE CASCADE;

ALTER TABLE REPORTE_HORARIO ADD CONSTRAINT FK_REPORTE_HORARIO_REPORTE FOREIGN KEY (ID_REPORTE) REFERENCES REPORTE (ID_REPORTE) ON DELETE CASCADE;
ALTER TABLE REPORTE_HORARIO ADD CONSTRAINT FK_REPORTE_HORARIO_USUARIO FOREIGN KEY (ID_USUARIO) REFERENCES USUARIO (ID_USUARIO) ON DELETE CASCADE;
ALTER TABLE REPORTE_HORARIO ADD CONSTRAINT FK_REPORTE_HORARIO_TA FOREIGN KEY (ID_TIPO_AUTORIZACION) REFERENCES TIPO_AUTORIZACION (ID_TIPO_AUTORIZACION) ON DELETE CASCADE;
ALTER TABLE REPORTE_HORARIO ADD CONSTRAINT FK_REPORTE_HORARIO_TI FOREIGN KEY (ID_TIPO_INCONSISTENCIA) REFERENCES TIPO_INCONSISTENCIA (ID_TIPO_INCONSISTENCIA) ON DELETE CASCADE;
ALTER TABLE REPORTE_HORARIO ADD CONSTRAINT FK_REPORTE_HORARIO_PE FOREIGN KEY (ID_PARAMETRO_EXPO) REFERENCES PARAMETRO_EXPO (ID_PARAMETRO_EXPO) ON DELETE CASCADE;
ALTER TABLE REPORTE_HORARIO ADD CONSTRAINT FK_REPORTE_HORARIO_FMT_AUS FOREIGN KEY (FORMATO_AUSENCIA) REFERENCES FORMATO_EXPO_NOVEDAD (ID_FORMATO_EXPO_NOVEDAD);
ALTER TABLE REPORTE_HORARIO ADD CONSTRAINT FK_REPORTE_HORARIO_FMT_CH FOREIGN KEY (FORMATO_CAMBIO_HORARIO) REFERENCES FORMATO_EXPO_NOVEDAD (ID_FORMATO_EXPO_NOVEDAD);
ALTER TABLE REPORTE_HORARIO ADD CONSTRAINT FK_REPORTE_HORARIO_FMT_AUT FOREIGN KEY (FORMATO_AUTORIZACION) REFERENCES FORMATO_EXPO_NOVEDAD (ID_FORMATO_EXPO_NOVEDAD);
ALTER TABLE REPORTE_HORARIO ADD CONSTRAINT FK_REPORTE_HORARIO_FMT_FER FOREIGN KEY (FORMATO_FERIADO) REFERENCES FORMATO_EXPO_NOVEDAD (ID_FORMATO_EXPO_NOVEDAD);

ALTER TABLE REPORTE_COMEDOR ADD CONSTRAINT FK_REPORTE_COMEDOR_REPORTE FOREIGN KEY (ID_REPORTE) REFERENCES REPORTE (ID_REPORTE) ON DELETE CASCADE;
ALTER TABLE REPORTE_COMEDOR ADD CONSTRAINT FK_REPORTE_COMEDOR_USUARIO FOREIGN KEY (ID_USUARIO) REFERENCES USUARIO (ID_USUARIO) ON DELETE CASCADE;

ALTER TABLE REPORTE_COMUNICACION ADD CONSTRAINT FK_REP_CMN_REPORTE FOREIGN KEY (ID_REPORTE) REFERENCES REPORTE (ID_REPORTE) ON DELETE CASCADE;
ALTER TABLE REPORTE_COMUNICACION ADD CONSTRAINT FK_REP_CMN_USUARIO FOREIGN KEY (ID_USUARIO) REFERENCES USUARIO (ID_USUARIO) ON DELETE CASCADE;

ALTER TABLE ENVIO_REPORTE ADD CONSTRAINT FK_ENVIO_TIPO_ENVIO FOREIGN KEY (ID_TIPO_ENVIO_REPORTE) REFERENCES TIPO_ENVIO_REPORTE(ID_TIPO_ENVIO_REPORTE) ON DELETE CASCADE;

ALTER TABLE REL_ENVIO_REPORTE_ACCESO ADD CONSTRAINT FK_REL_ENV_REP_ACC_1 FOREIGN KEY (ID_ENVIO_REPORTE) REFERENCES ENVIO_REPORTE (ID_ENVIO_REPORTE) ON DELETE CASCADE;
ALTER TABLE REL_ENVIO_REPORTE_ACCESO ADD CONSTRAINT FK_REL_ENV_REP_ACC_2 FOREIGN KEY (ID_REPORTE_ACCESO) REFERENCES REPORTE_ACCESO (ID_REPORTE_ACCESO) ON DELETE CASCADE;

ALTER TABLE REL_ENVIO_REPORTE_HORARIO ADD CONSTRAINT FK_REL_ENV_REP_HOR_1 FOREIGN KEY (ID_ENVIO_REPORTE) REFERENCES ENVIO_REPORTE (ID_ENVIO_REPORTE) ON DELETE CASCADE;
ALTER TABLE REL_ENVIO_REPORTE_HORARIO ADD CONSTRAINT FK_REL_ENV_REP_HOR_2 FOREIGN KEY (ID_REPORTE_HORARIO) REFERENCES REPORTE_HORARIO (ID_REPORTE_HORARIO) ON DELETE CASCADE;

ALTER TABLE REL_ENVIO_REPORTE_COMEDOR ADD CONSTRAINT FK_REL_ENV_REP_COM_1 FOREIGN KEY (ID_ENVIO_REPORTE) REFERENCES ENVIO_REPORTE (ID_ENVIO_REPORTE) ON DELETE CASCADE;
ALTER TABLE REL_ENVIO_REPORTE_COMEDOR ADD CONSTRAINT FK_REL_ENV_REP_COM_2 FOREIGN KEY (ID_REPORTE_COMEDOR) REFERENCES REPORTE_COMEDOR (ID_REPORTE_COMEDOR) ON DELETE CASCADE;

ALTER TABLE REL_ENVIO_REPORTE_COMUNICACION ADD CONSTRAINT FK_REL_ENV_REP_CMN_1 FOREIGN KEY (ID_ENVIO_REPORTE) REFERENCES ENVIO_REPORTE (ID_ENVIO_REPORTE) ON DELETE CASCADE;
ALTER TABLE REL_ENVIO_REPORTE_COMUNICACION ADD CONSTRAINT FK_REL_ENV_REP_CMN_2 FOREIGN KEY (ID_REPORTE_COMUNICACION) REFERENCES REPORTE_COMUNICACION (ID_REPORTE_COMUNICACION) ON DELETE CASCADE;

ALTER TABLE REL_ENVIO_REPORTE_USUARIO ADD CONSTRAINT FK_REL_ENV_REP_USU_1 FOREIGN KEY (ID_ENVIO_REPORTE) REFERENCES ENVIO_REPORTE (ID_ENVIO_REPORTE) ON DELETE CASCADE;
ALTER TABLE REL_ENVIO_REPORTE_USUARIO ADD CONSTRAINT FK_REL_ENV_REP_USU_2 FOREIGN KEY (ID_USUARIO) REFERENCES USUARIO (ID_USUARIO) ON DELETE CASCADE;

ALTER TABLE ENVIO_REPORTE ADD CONSTRAINT FK_ENV_REP_USER_ALTA  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE ENVIO_REPORTE ADD CONSTRAINT FK_ENV_REP_USER_MODF  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE ENVIO_REPORTE ADD CONSTRAINT FK_ENV_REP_IDIOMA FOREIGN KEY (ID_IDIOMA) REFERENCES IDIOMA (ID_IDIOMA);

ALTER TABLE PARAMETRO_PROCESO ADD CONSTRAINT FK_PAR_PROC_EJECUCION FOREIGN KEY (ID_TIPO_EJECUCION_PROCESO) REFERENCES TIPO_EJECUCION_PROCESO (ID_TIPO_EJECUCION_PROCESO);

ALTER TABLE COMEDOR_MENU_AUTOMATICO ADD CONSTRAINT FK_CMDR_MN_AUT_1 FOREIGN KEY (ID_RELOJ) REFERENCES RELOJ (ID_RELOJ) ON DELETE CASCADE;
ALTER TABLE COMEDOR_MENU_AUTOMATICO ADD CONSTRAINT FK_CMDR_MN_AUT_2 FOREIGN KEY (ID_MENU) REFERENCES MENU (ID_MENU) ON DELETE CASCADE;
ALTER TABLE COMEDOR_MENU_AUTOMATICO ADD CONSTRAINT FK_CMDR_MN_AUT_3 FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE COMEDOR_MENU_AUTOMATICO ADD CONSTRAINT FK_CMDR_MN_AUT_4 FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);

ALTER TABLE SINCRONIZACION ADD CONSTRAINT FK_SINCRONIZACION_1 FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);

ALTER TABLE MENSAJE_USUARIO ADD CONSTRAINT FK_MENSAJE_USUARIO_1 FOREIGN KEY (ID_USUARIO_ORIGEN) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE MENSAJE_USUARIO ADD CONSTRAINT FK_MENSAJE_USUARIO_2 FOREIGN KEY (ID_USUARIO_DESTINO) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE MENSAJE_USUARIO ADD CONSTRAINT FK_MENSAJE_USUARIO_3 FOREIGN KEY (ID_ESTADO_MENSAJE) REFERENCES ESTADO_MENSAJE (ID_ESTADO_MENSAJE);

ALTER TABLE LECTURA_AUTOMATICA ADD CONSTRAINT FK_LECTURA_AUTOMATICA_1  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE LECTURA_AUTOMATICA ADD CONSTRAINT FK_LECTURA_AUTOMATICA_2  FOREIGN KEY (ID_PARAMETRO_IMPO) REFERENCES PARAMETRO_IMPO (ID_PARAMETRO_IMPO);
ALTER TABLE LECTURA_AUTOMATICA ADD CONSTRAINT FK_LECTURA_AUTOMATICA_3  FOREIGN KEY (ID_AGENTE) REFERENCES AGENTE (ID_AGENTE);
ALTER TABLE LECTURA_AUTOMATICA ADD CONSTRAINT FK_LECTURA_AUTOMATICA_4  FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE LECTURA_AUTOMATICA ADD CONSTRAINT FK_LECTURA_AUTOMATICA_5  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);


-- TABLAS MOBILE
ALTER TABLE PERSONA_MOBILE ADD CONSTRAINT FK_PERSONA_MOBILE_PERSONA FOREIGN KEY (ID_PERSONA)  REFERENCES PERSONA (ID_PERSONA);
ALTER TABLE PERSONA_MOBILE ADD CONSTRAINT FK_PER_MOBILE_USER_ALTA   FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE PERSONA_MOBILE ADD CONSTRAINT FK_PER_MOBILE_USER_MODIF  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE PERSONA_MOBILE ADD CONSTRAINT FK_PER_MOBILE_GEO  		FOREIGN KEY (ID_GEOLOCALIZACION) REFERENCES GEOLOCALIZACION (ID_GEOLOCALIZACION);
ALTER TABLE PERSONA_MOBILE ADD CONSTRAINT FK_PER_MOBILE_CACT		FOREIGN KEY (ID_CONTROL_ACTIVIDAD) REFERENCES CONTROL_ACTIVIDAD (ID_CONTROL_ACTIVIDAD);
ALTER TABLE PERSONA_MOBILE ADD CONSTRAINT FK_PER_MOBILE_IACT 		FOREIGN KEY (ID_INICIO_ACTIVIDAD) REFERENCES INICIO_ACTIVIDAD (ID_INICIO_ACTIVIDAD);
ALTER TABLE PERSONA_MOBILE ADD CONSTRAINT FK_PER_MOBILE_APP			FOREIGN KEY (ID_APP_MOBILE) REFERENCES APP_MOBILE (ID_APP_MOBILE);

ALTER TABLE GEOLOCALIZACION ADD CONSTRAINT FK_GEO_EMPRESA	  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE GEOLOCALIZACION ADD CONSTRAINT FK_GEO_USER_ALTA   FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE GEOLOCALIZACION ADD CONSTRAINT FK_GEO_USER_MODIF  FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);

ALTER TABLE REL_PERSONA_GEOLOCALIZACION ADD CONSTRAINT FK_REL_PER_GEO_PM FOREIGN KEY (ID_PERSONA_MOBILE) REFERENCES PERSONA_MOBILE (ID_PERSONA_MOBILE) ON DELETE CASCADE;
ALTER TABLE REL_PERSONA_GEOLOCALIZACION ADD CONSTRAINT FK_REL_PER_GEO_GEO FOREIGN KEY (ID_GEOLOCALIZACION) REFERENCES GEOLOCALIZACION (ID_GEOLOCALIZACION) ON DELETE CASCADE;

ALTER TABLE PARAMETRO_MOBILE ADD CONSTRAINT UQ_PARAMETRO_MOBILE UNIQUE (ID_EMPRESA);
ALTER TABLE PARAMETRO_MOBILE ADD CONSTRAINT FK_PRMTR_MBL_EMP FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE PARAMETRO_MOBILE ADD CONSTRAINT FK_PRMTR_MBL_CACT FOREIGN KEY (ID_CONTROL_ACTIVIDAD) REFERENCES CONTROL_ACTIVIDAD (ID_CONTROL_ACTIVIDAD);
ALTER TABLE PARAMETRO_MOBILE ADD CONSTRAINT FK_PRMTR_MBL_IACT FOREIGN KEY (ID_INICIO_ACTIVIDAD) REFERENCES INICIO_ACTIVIDAD (ID_INICIO_ACTIVIDAD);

ALTER TABLE PARAMETRO_AD ADD CONSTRAINT UQ_PARAMETRO_AD UNIQUE (ID_EMPRESA);
ALTER TABLE PARAMETRO_AD ADD CONSTRAINT FK_PARAMETRO_AD_EMPRESA  FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE PARAMETRO_AD ADD CONSTRAINT FK_PARAMETRO_AD_IDIOMA FOREIGN KEY (ID_IDIOMA) REFERENCES IDIOMA (ID_IDIOMA);
ALTER TABLE PARAMETRO_AD ADD CONSTRAINT FK_PARAMETRO_AD_PERFIL FOREIGN KEY (ID_PERFIL) REFERENCES PERFIL (ID_PERFIL);
ALTER TABLE PARAMETRO_AD ADD CONSTRAINT FK_PARAMETRO_AD_USUARIO FOREIGN KEY (ID_SUPERIOR_INMEDIATO) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE PARAMETRO_AD ADD CONSTRAINT FK_PARAMETRO_AD_ASG_GRP FOREIGN KEY (ID_TIPO_ASIGNACION_GRUPO) REFERENCES TIPO_ASIGNACION_GRUPO (ID_TIPO_ASIGNACION_GRUPO);
ALTER TABLE PARAMETRO_AD ADD CONSTRAINT FK_PARAMETRO_AD_TAR FOREIGN KEY (ID_TIPO_ASIGNACION_RELOJ) REFERENCES TIPO_ASIGNACION_RELOJ (ID_TIPO_ASIGNACION_RELOJ);

ALTER TABLE REL_GRP_PRM_AD ADD CONSTRAINT FK_REL_PG_PARAM  FOREIGN KEY (ID_PARAMETRO_AD) REFERENCES PARAMETRO_AD (ID_PARAMETRO_AD);
ALTER TABLE REL_GRP_PRM_AD ADD CONSTRAINT FK_REL_PG_GRP FOREIGN KEY (ID_GRUPO) REFERENCES GRUPO (ID_GRUPO);

ALTER TABLE NOVEDAD_ACCESO ADD CONSTRAINT FK_NOV_ACC_EMPRESA FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE NOVEDAD_ACCESO ADD CONSTRAINT FK_NOV_ACC_ESTADO FOREIGN KEY (ID_ESTADO_NOVEDAD_ACCESO) REFERENCES ESTADO_NOVEDAD_ACCESO (ID_ESTADO_NOVEDAD_ACCESO);
ALTER TABLE NOVEDAD_ACCESO ADD CONSTRAINT FK_NOV_ACC_TIPO FOREIGN KEY (ID_TIPO_NOVEDAD_ACCESO) REFERENCES TIPO_NOVEDAD_ACCESO (ID_TIPO_NOVEDAD_ACCESO);

ALTER TABLE REL_NOV_ACCESO_PERSONA ADD CONSTRAINT FK_REL_NOV_ACC_PERS_NOV  FOREIGN KEY (ID_NOVEDAD_ACCESO) REFERENCES NOVEDAD_ACCESO (ID_NOVEDAD_ACCESO);
ALTER TABLE REL_NOV_ACCESO_PERSONA ADD CONSTRAINT FK_REL_NOV_ACC_PERS_PER  FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA);

ALTER TABLE LOG_AGENTE ADD CONSTRAINT FK_LOG_AGENTE_AGENTE FOREIGN KEY (ID_AGENTE) REFERENCES AGENTE (ID_AGENTE) ON DELETE CASCADE;

ALTER TABLE CAMARA ADD CONSTRAINT FK_CAMARA_1 FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA) ON DELETE CASCADE;
ALTER TABLE CAMARA ADD CONSTRAINT FK_CAMARA_2 FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE CAMARA ADD CONSTRAINT FK_CAMARA_3 FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE CAMARA ADD CONSTRAINT FK_CAMARA_4 FOREIGN KEY (ID_MODO_CAMARA) REFERENCES MODO_CAMARA (ID_MODO_CAMARA);
ALTER TABLE CAMARA ADD CONSTRAINT FK_CAMARA_5 FOREIGN KEY (ID_ESTADO_CAMARA) REFERENCES ESTADO_CAMARA (ID_ESTADO_CAMARA);
ALTER TABLE CAMARA ADD CONSTRAINT FK_CAMARA_6 FOREIGN KEY (ID_RESOLUCION_CAMARA) REFERENCES RESOLUCION_CAMARA (ID_RESOLUCION_CAMARA);

ALTER TABLE REL_CAMARA_RELOJ ADD CONSTRAINT FK_REL_CR_CAMARA FOREIGN KEY (ID_CAMARA) REFERENCES CAMARA (ID_CAMARA) ON DELETE CASCADE;
ALTER TABLE REL_CAMARA_RELOJ ADD CONSTRAINT FK_REL_CR_RELOJ FOREIGN KEY (ID_RELOJ) REFERENCES RELOJ (ID_RELOJ) ON DELETE CASCADE;

ALTER TABLE ACTIVIDAD ADD CONSTRAINT FK_ACT_EMPRESA FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA);
ALTER TABLE ACTIVIDAD ADD CONSTRAINT FK_ACT_USER_ALTA FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE ACTIVIDAD ADD CONSTRAINT FK_ACT_USER_MODIF FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);

ALTER TABLE REGISTRO_ACTIVIDAD ADD CONSTRAINT FK_REG_ACT_PERS FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA);
ALTER TABLE REGISTRO_ACTIVIDAD ADD CONSTRAINT FK_REG_ACT_ACT FOREIGN KEY (ID_ACTIVIDAD) REFERENCES ACTIVIDAD (ID_ACTIVIDAD);
ALTER TABLE REGISTRO_ACTIVIDAD ADD CONSTRAINT FK_REG_ACT_EST_ACT FOREIGN KEY (ID_ESTADO_ACTIVIDAD) REFERENCES ESTADO_ACTIVIDAD (ID_ESTADO_ACTIVIDAD);
ALTER TABLE REGISTRO_ACTIVIDAD ADD CONSTRAINT FK_REG_ACT_GEO FOREIGN KEY (ID_GEOLOCALIZACION) REFERENCES GEOLOCALIZACION (ID_GEOLOCALIZACION);

ALTER TABLE EXPOINDSAL ADD CONSTRAINT FK_EXPOINDSAL_PERS FOREIGN KEY (ID_PERSONA) REFERENCES PERSONA (ID_PERSONA) ON DELETE CASCADE;

ALTER TABLE ZONA_PRESENTE ADD CONSTRAINT FK_ZONA_PRESENTE_1 FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESA (ID_EMPRESA) ON DELETE CASCADE;
ALTER TABLE ZONA_PRESENTE ADD CONSTRAINT FK_ZONA_PRESENTE_2 FOREIGN KEY (USUARIO_ALTA) REFERENCES USUARIO (ID_USUARIO);
ALTER TABLE ZONA_PRESENTE ADD CONSTRAINT FK_ZONA_PRESENTE_3 FOREIGN KEY (USUARIO_MODIF) REFERENCES USUARIO (ID_USUARIO);

ALTER TABLE ZONA_PRESENTE_RELOJ ADD CONSTRAINT FK_ZONA_PRESENTE_RELOJ_1 FOREIGN KEY (ID_ZONA_PRESENTE) REFERENCES ZONA_PRESENTE (ID_ZONA_PRESENTE) ON DELETE CASCADE;
ALTER TABLE ZONA_PRESENTE_RELOJ ADD CONSTRAINT FK_ZONA_PRESENTE_RELOJ_2 FOREIGN KEY (ID_RELOJ) REFERENCES RELOJ (ID_RELOJ) ON DELETE CASCADE;

ALTER TABLE ZONA_PRESENTE_CONF_MONITOR ADD CONSTRAINT FK_ZONA_PRES_CONF_MONITOR_1 FOREIGN KEY (ID_ZONA_PRESENTE) REFERENCES ZONA_PRESENTE (ID_ZONA_PRESENTE) ON DELETE CASCADE;
ALTER TABLE ZONA_PRESENTE_CONF_MONITOR ADD CONSTRAINT FK_ZONA_PRES_CONF_MONITOR_2 FOREIGN KEY (ID_CONFIGURACION_MONITOR) REFERENCES CONFIGURACION_MONITOR (ID_CONFIGURACION_MONITOR) ON DELETE CASCADE;

commit tran

end try
begin catch 
	if @@trancount > 0
		begin
			SELECT ERROR_MESSAGE() AS ErrorMessage, ERROR_LINE() AS Linea;
			rollback tran
		end
end catch
