/*==============================================================*/
/* DBMS name:      ORACLE Version 9i                            */
/* Created on:     03/01/2008 03:50:53 p.m.                     */
/*==============================================================*/



CREATE SEQUENCE RHACCION;

CREATE SEQUENCE RHSOLIC;

/*==============================================================*/
/* Table: RHACCIONASCENSO                                       */
/*==============================================================*/
CREATE TABLE RHACCIONASCENSO  (
   CIA                  CHAR(3)                         NOT NULL,
   ACCION               CHAR(3)                         NOT NULL,
   NUMERO               NUMBER(8)                       NOT NULL
      CONSTRAINT RHACCIONASCENSO_NUMERO_CK CHECK (NUMERO >= 1),
   PUESTOANTERIOR       CHAR(3)                         NOT NULL,
   CATEGORIAANTERIOR    CHAR(2)                         NOT NULL,
   SUCURSALANTERIOR     CHAR(3)                         NOT NULL,
   DEPTOANTERIOR        CHAR(3)                         NOT NULL,
   JEFEANTERIOR         VARCHAR2(15),
   PLANILLAANTERIOR     CHAR(2)                         NOT NULL,
   HORARIOANTERIOR      CHAR(2)                         NOT NULL,
   COMISANTERIOR        CHAR(1)                         NOT NULL
      CONSTRAINT RHACCIONASCENSO_COMISANTER_CK CHECK (COMISANTERIOR IN ('S','N')),
   EXTRASANTERIOR       CHAR(1)                         NOT NULL
      CONSTRAINT RHACCIONASCENSO_EXTRASANTE_CK CHECK (EXTRASANTERIOR IN ('S','N')),
   NUEVOPUESTO          CHAR(3)                         NOT NULL,
   NUEVACATEGORIA       CHAR(2)                         NOT NULL,
   NUEVASUCURSAL        CHAR(3)                         NOT NULL,
   NUEVODEPTO           CHAR(3)                         NOT NULL,
   NUEVOSALARIO         NUMBER(14,2)                    NOT NULL
      CONSTRAINT RHACCIONASCENSO_NUEVOSALAR_CK CHECK (NUEVOSALARIO >= 0),
   NUEVOJEFE            VARCHAR2(15),
   NUEVAPLANILLA        CHAR(2)                         NOT NULL,
   NUEVOHORARIO         CHAR(2)                         NOT NULL,
   GANACOMIS            CHAR(1)                         NOT NULL
      CONSTRAINT RHACCIONASCENSO_GANACOMIS_CK CHECK (GANACOMIS IN ('S','N')),
   GANAEXTRAS           CHAR(1)                         NOT NULL
      CONSTRAINT RHACCIONASCENSO_GANAEXTRAS_CK CHECK (GANAEXTRAS IN ('S','N')),
   FECHARIGE            DATE                            NOT NULL,
   CONSTRAINT RHACCIONASCENSO_PK PRIMARY KEY (CIA, ACCION, NUMERO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: RHACCIONAUMENTO                                       */
/*==============================================================*/
CREATE TABLE RHACCIONAUMENTO  (
   CIA                  CHAR(3)                         NOT NULL,
   ACCION               CHAR(3)                         NOT NULL,
   NUMERO               NUMBER(8)                       NOT NULL
      CONSTRAINT RHACCIONAUMENTO_NUMERO_CK CHECK (NUMERO >= 1),
   PORCENTAJE           NUMBER(5,2)                     NOT NULL
      CONSTRAINT RHACCIONAUMENTO_PORCENTAJE_CK CHECK (PORCENTAJE >= 0),
   MONTO                NUMBER(14,2)                    NOT NULL,
   NUEVOSALARIO         NUMBER(14,2)                    NOT NULL
      CONSTRAINT RHACCIONAUMENTO_NUEVOSALAR_CK CHECK (NUEVOSALARIO >= 0),
   FECHARIGE            DATE                            NOT NULL,
   CONSTRAINT RHACCIONAUMENTO_PK PRIMARY KEY (CIA, ACCION, NUMERO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: RHACCIONAUTORIZA                                      */
/*==============================================================*/
CREATE TABLE RHACCIONAUTORIZA  (
   CIA                  CHAR(3)                         NOT NULL,
   ACCION               CHAR(3)                         NOT NULL,
   USUARIO              VARCHAR2(30)                    NOT NULL,
   CONSTRAINT RHACCIONAUTORIZA_PK PRIMARY KEY (CIA, ACCION, USUARIO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: RHACCIONPERSONAL_AUTORIZA_FK1                         */
/*==============================================================*/
CREATE INDEX RHACCIONPERSONAL_AUTORIZA_FK1 ON RHACCIONAUTORIZA (
   CIA ASC,
   ACCION ASC
);

/*==============================================================*/
/* Table: RHACCIONEMP                                           */
/*==============================================================*/

/*   ESTA TABLA ES EL ENCABEZADO DE LAS ACCIONES DE PERSONAL. */
/*    LOS DETALLES SE GENERAN A CADA TABLA ESPECIFICA SEGUN EL  */
/*    TIPO DE ACCION, EXCEPTUANDO LAS AMONESTACIONES Y FELICITACIONES */
/*   QUE NO TIENE DETALLE. LAS VACACIONES E INCAPACIDADES SE GENERAN  */
/*   DIRECTAMENTE A LAS TABLAS  PLAVACACIONEMP Y PLAINCAPEMP DE PLANILLAS.  */
CREATE TABLE RHACCIONEMP  (
   CIA                  CHAR(3)                         NOT NULL,
   ACCION               CHAR(3)                         NOT NULL,
   NUMERO               NUMBER(8)                       NOT NULL
      CONSTRAINT RHACCIONEMP_NUMERO_CK CHECK (NUMERO >= 1),
   EMPLEADO             VARCHAR2(15)                    NOT NULL,
   FECHA                DATE                            NOT NULL,
   FECHAEFECTIVA        DATE,
   DESCRIPCION          VARCHAR2(120),
   ESTADO               CHAR(1)                         NOT NULL
      CONSTRAINT RHACCIONEMP_ESTADO_CK CHECK (ESTADO IN ('P','A','N')),
   USUARIOCREO          VARCHAR2(30)                    NOT NULL,
   USUARIOAUTO          VARCHAR2(30),
   CONSTRAINT RHACCIONEMP_PK PRIMARY KEY (CIA, ACCION, NUMERO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

COMMENT ON COLUMN RHACCIONEMP.ESTADO IS
'P-endiente, A-plicada, N-ula';

/*==============================================================*/
/* Index: PLAEMPLEADO_RHACCIONEMP_FK2                           */
/*==============================================================*/
CREATE INDEX PLAEMPLEADO_RHACCIONEMP_FK2 ON RHACCIONEMP (
   CIA ASC,
   EMPLEADO ASC
);

/*==============================================================*/
/* Index: RHACCIONPERSONAL_ACCIONEMP_FK1                        */
/*==============================================================*/
CREATE INDEX RHACCIONPERSONAL_ACCIONEMP_FK1 ON RHACCIONEMP (
   CIA ASC,
   ACCION ASC
);

/*==============================================================*/
/* Table: RHACCIONHORARIO                                       */
/*==============================================================*/
CREATE TABLE RHACCIONHORARIO  (
   CIA                  CHAR(3)                         NOT NULL,
   ACCION               CHAR(3)                         NOT NULL,
   NUMERO               NUMBER(8)                       NOT NULL
      CONSTRAINT RHACCIONHORARIO_NUMERO_CK CHECK (NUMERO >= 1),
   HORARIOANTERIOR      CHAR(2)                         NOT NULL,
   NUEVOHORARIO         CHAR(2)                         NOT NULL,
   CONSTRAINT RHACCIONHORARIO_PK PRIMARY KEY (CIA, ACCION, NUMERO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: RHACCIONINCAP                                         */
/*==============================================================*/
CREATE TABLE RHACCIONINCAP  (
   CIA                  CHAR(3)                         NOT NULL,
   ACCION               CHAR(3)                         NOT NULL,
   NUMERO               NUMBER(8)                       NOT NULL
      CONSTRAINT RHACCIONINCAP_NUMERO_CK CHECK (NUMERO >= 1),
   TIPOINCAP            CHAR(3)                         NOT NULL,
   FECHAINICIAL         DATE                            NOT NULL,
   FECHAFINAL           DATE                            NOT NULL,
   DIASACUMULADOS       NUMBER(6,2)                     NOT NULL,
   CONSTRAINT RHACCIONINCAP_PK PRIMARY KEY (CIA, ACCION, NUMERO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: RHACCIONINGRESO                                       */
/*==============================================================*/
CREATE TABLE RHACCIONINGRESO  (
   CIA                  CHAR(3)                         NOT NULL,
   ACCION               CHAR(3)                         NOT NULL,
   NUMERO               NUMBER(8)                       NOT NULL
      CONSTRAINT RHACCIONINGRESO_NUMERO_CK CHECK (NUMERO >= 1),
   CODIGOEMPLEADO       VARCHAR2(15)                    NOT NULL,
   SEGUROSOCIAL         VARCHAR2(15),
   PLANILLA             CHAR(2)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   DEPARTAMENTO         CHAR(3)                         NOT NULL,
   PUESTO               CHAR(3)                         NOT NULL,
   CATEGORIA            CHAR(2)                         NOT NULL,
   JEFE                 VARCHAR2(15),
   HORARIO              CHAR(2)                         NOT NULL,
   GANAEXTRAS           CHAR(1)                         NOT NULL
      CONSTRAINT RHACCIONINGRESO_GANAEXTRAS_CK CHECK (GANAEXTRAS IN ('S','N')),
   GANACOMIS            CHAR(1)                         NOT NULL
      CONSTRAINT RHACCIONINGRESO_GANACOMIS_CK CHECK (GANACOMIS IN ('S','N')),
   MARCATARJETA         CHAR(1)                         NOT NULL
      CONSTRAINT RHACCIONINGRESO_MARCATARJE_CK CHECK (MARCATARJETA IN ('S','N')),
   TIPOPAGO             CHAR(1)                         NOT NULL
      CONSTRAINT RHACCIONINGRESO_TIPOPAGO_CK CHECK (TIPOPAGO IN ('E','C','D')),
   BANCO                VARCHAR2(12),
   CUENTA               VARCHAR2(20),
   SALARIO              NUMBER(14,2)                    NOT NULL
      CONSTRAINT RHACCIONINGRESO_SALARIO_CK CHECK (SALARIO >= 0),
   ASOCIACION           CHAR(1)                         NOT NULL
      CONSTRAINT RHACCIONINGRESO_ASOCIACION_CK CHECK (ASOCIACION IN ('S','N')),
   FECHAINGRESO         DATE                            NOT NULL,
   CONSTRAINT RHACCIONINGRESO_PK PRIMARY KEY (CIA, ACCION, NUMERO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

COMMENT ON COLUMN RHACCIONINGRESO.TIPOPAGO IS
'E-fectivo, C-heque, D-eposito';

/*==============================================================*/
/* Table: RHACCIONLIQUIDA                                       */
/*==============================================================*/
CREATE TABLE RHACCIONLIQUIDA  (
   CIA                  CHAR(3)                         NOT NULL,
   ACCION               CHAR(3)                         NOT NULL,
   NUMERO               NUMBER(8)                       NOT NULL
      CONSTRAINT RHACCIONLIQUIDA_NUMERO_CK CHECK (NUMERO >= 1),
   FECHASALIDA          DATE                            NOT NULL,
   MOTIVO               CHAR(1)                         NOT NULL
      CONSTRAINT RHACCIONLIQUIDA_MOTIVO_CK CHECK (MOTIVO IN ('R','D','T')),
   RESPONSABILIDAD      CHAR(1)                         NOT NULL
      CONSTRAINT RHACCIONLIQUIDA_RESPONSABI_CK CHECK (RESPONSABILIDAD IN ('S','N')),
   PORCENTAJE           NUMBER(5,2)                     NOT NULL
      CONSTRAINT RHACCIONLIQUIDA_PORCENTAJE_CK CHECK (PORCENTAJE >= 0),
   MESESLABORADOS       NUMBER(5,2)                     NOT NULL
      CONSTRAINT RHACCIONLIQUIDA_MESESLABOR_CK CHECK (MESESLABORADOS >= 0),
   SALPROMDIA           NUMBER(14,2)                    NOT NULL
      CONSTRAINT RHACCIONLIQUIDA_SALPROMDIA_CK CHECK (SALPROMDIA >= 0),
   MOVCESANTIA          CHAR(3),
   MOVPREAVISO          CHAR(3),
   MOVAGUINALDO         CHAR(3),
   MOVVACACION          CHAR(3),
   MONCESANTIA          NUMBER(14,2)                    NOT NULL
      CONSTRAINT RHACCIONLIQUIDA_MONCESANTI_CK CHECK (MONCESANTIA >= 0),
   MONPREAVISO          NUMBER(14,2)                    NOT NULL
      CONSTRAINT RHACCIONLIQUIDA_MONPREAVIS_CK CHECK (MONPREAVISO >= 0),
   MONAGUINALDO         NUMBER(14,2)                    NOT NULL
      CONSTRAINT RHACCIONLIQUIDA_MONAGUINAL_CK CHECK (MONAGUINALDO >= 0),
   MONVACACION          NUMBER(14,2)                    NOT NULL
      CONSTRAINT RHACCIONLIQUIDA_MONVACACIO_CK CHECK (MONVACACION >= 0),
   MONAHOVAC            NUMBER(14,2)                    NOT NULL
      CONSTRAINT RHACCIONLIQUIDA_MONAHOVAC_CK CHECK (MONAHOVAC >= 0),
   MONAPOVAC            NUMBER(14,2)                    NOT NULL
      CONSTRAINT RHACCIONLIQUIDA_MONAPOVAC_CK CHECK (MONAPOVAC >= 0),
   MONAHOASO            NUMBER(14,2)                    NOT NULL
      CONSTRAINT RHACCIONLIQUIDA_MONAHOASO_CK CHECK (MONAHOASO >= 0),
   CONSTRAINT RHACCIONLIQUIDA_PK PRIMARY KEY (CIA, ACCION, NUMERO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

COMMENT ON COLUMN RHACCIONLIQUIDA.MOTIVO IS
'R-enuncia, D-espido, T-ermino contrato';

/*==============================================================*/
/* Table: RHACCIONPERSONAL                                      */
/*==============================================================*/
CREATE TABLE RHACCIONPERSONAL  (
   CIA                  CHAR(3)                         NOT NULL,
   ACCION               CHAR(3)                         NOT NULL,
   DESCRIPCION          VARCHAR2(40)                    NOT NULL,
   CLASE                CHAR(3)                         NOT NULL
      CONSTRAINT RHACCIONPERSONAL_CLASE_CK CHECK (CLASE IN ('ING','INC','VAC','ASC','AUM','FEL','PRE','AMO','LIQ','PAG','HOR')),
   PUNTAJE              NUMBER(5)                       NOT NULL
      CONSTRAINT RHACCIONPERSONAL_PUNTAJE_CK CHECK (PUNTAJE >= 0),
   TIPOMOVPLA           CHAR(3),
   FORMATONOTIFICA      VARCHAR2(15),
   CONSTRAINT RHACCIONPERSONAL_PK PRIMARY KEY (CIA, ACCION)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

COMMENT ON COLUMN RHACCIONPERSONAL.CLASE IS
'ING-reso, INC-apacidad, VAC-acion, ASC-enso, AUM-ento, FEL-icitacion, PRE-mio, AMO-nestacion, LIQ-uidacion, PAG-o de puntos, HOR-ario';

/*==============================================================*/
/* Table: RHACCIONVACACION                                      */
/*==============================================================*/
CREATE TABLE RHACCIONVACACION  (
   CIA                  CHAR(3)                         NOT NULL,
   ACCION               CHAR(3)                         NOT NULL,
   NUMERO               NUMBER(8)                       NOT NULL
      CONSTRAINT RHACCIONVACACION_NUMERO_CK CHECK (NUMERO >= 1),
   FECHAINICIAL         DATE                            NOT NULL,
   FECHAFINAL           DATE                            NOT NULL,
   DIASVACACION         NUMBER(5,2)                     NOT NULL
      CONSTRAINT RHACCIONVACACION_DIASVACACI_CK CHECK (DIASVACACION >= 0),
   CONSTRAINT RHACCIONVACACION_PK PRIMARY KEY (CIA, ACCION, NUMERO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: RHBOLSAEMPLEO                                         */
/*==============================================================*/
CREATE TABLE RHBOLSAEMPLEO  (
   CEDULA               VARCHAR2(20)                    NOT NULL,
   CATEGORIA            CHAR(2),
   TIPOID               NUMBER(1)                       NOT NULL
      CONSTRAINT RHBOLSAEMPLEO_TIPOID_CK CHECK (TIPOID BETWEEN 1 AND 4),
   NOMBRE               VARCHAR2(40)                    NOT NULL,
   FECHANAC             DATE                            NOT NULL,
   SEXO                 CHAR(1)                         NOT NULL
      CONSTRAINT RHBOLSAEMPLEO_SEXO_CK CHECK (SEXO IN ('F','M')),
   ESTADOCIVIL          CHAR(1)                         NOT NULL
      CONSTRAINT RHBOLSAEMPLEO_ESTADOCIVI_CK CHECK (ESTADOCIVIL IN ('S','C','U','D','V')),
   DIRECCION            VARCHAR2(120)                   NOT NULL,
   TELEFONO             VARCHAR2(12),
   CONYUGUE             CHAR(1)                         NOT NULL
      CONSTRAINT RHBOLSAEMPLEO_CONYUGUE_CK CHECK (CONYUGUE IN ('S','N')),
   HIJOS                NUMBER(2)                       NOT NULL
      CONSTRAINT RHBOLSAEMPLEO_HIJOS_CK CHECK (HIJOS >= 0),
   HIJOSMAY             NUMBER(2)                       NOT NULL,
   DEPENDIENTES         NUMBER(2)                       NOT NULL
      CONSTRAINT RHBOLSAEMPLEO_DEPENDIENT_CK CHECK (DEPENDIENTES >= 0),
   TIPOLICENCIA         CHAR(1)                         NOT NULL
      CONSTRAINT RHBOLSAEMPLEO_TIPOLICENC_CK CHECK (TIPOLICENCIA IN ('L','P','M','N')),
   DISPONIBILIDAD       CHAR(1)                         NOT NULL
      CONSTRAINT RHBOLSAEMPLEO_DISPONIBIL_CK CHECK (DISPONIBILIDAD IN ('T','P','M')),
   CODIGOEMPLEADO       VARCHAR2(15),
   FECHAINGRESO         DATE                            NOT NULL,
   CONSTRAINT RHBOLSAEMPLEO_PK PRIMARY KEY (CEDULA)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

COMMENT ON COLUMN RHBOLSAEMPLEO.SEXO IS
'F-emenino, M-asculino';

COMMENT ON COLUMN RHBOLSAEMPLEO.ESTADOCIVIL IS
'S-oltero, C-asado, U-nion libre, D-ivorciado, V-iudo';

COMMENT ON COLUMN RHBOLSAEMPLEO.TIPOLICENCIA IS
'L-iviana, P-esada, M-otocicleta, N-inguna';

COMMENT ON COLUMN RHBOLSAEMPLEO.DISPONIBILIDAD IS
'T-emporal, P-ermanente';

/*==============================================================*/
/* Index: RHCATEGORIAS_BOLSAEMPLEO_FK1                          */
/*==============================================================*/
CREATE INDEX RHCATEGORIAS_BOLSAEMPLEO_FK1 ON RHBOLSAEMPLEO (
   CATEGORIA ASC
);

/*==============================================================*/
/* Table: RHBONOANTIG                                           */
/*==============================================================*/
CREATE TABLE RHBONOANTIG  (
   CIA                  CHAR(3)                         NOT NULL,
   ANOS                 NUMBER(2)                       NOT NULL,
   BONO                 NUMBER(14,2)                    NOT NULL
      CONSTRAINT RHBONOANTIG_BONO_CK CHECK (BONO >= 0),
   CONSTRAINT RHBONOANTIG_PK PRIMARY KEY (CIA, ANOS)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: RHCAPACITACION                                        */
/*==============================================================*/
CREATE TABLE RHCAPACITACION  (
   CURSO                VARCHAR2(10)                    NOT NULL,
   DESCRIPCION          VARCHAR2(40)                    NOT NULL,
   CONSTRAINT RHCAPACITACION_PK PRIMARY KEY (CURSO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: RHCAPACITACIONEMP                                     */
/*==============================================================*/
CREATE TABLE RHCAPACITACIONEMP  (
   CIA                  CHAR(3)                         NOT NULL,
   EMPLEADO             VARCHAR2(15)                    NOT NULL,
   CURSO                VARCHAR2(10)                    NOT NULL,
   FECHA                DATE                            NOT NULL,
   REPETICION           NUMBER(1)                       NOT NULL
      CONSTRAINT RHCAPACITACIONEM_REPETICION_CK CHECK (REPETICION >= 1),
   RESULTADO            NUMBER(5,2)                     NOT NULL
      CONSTRAINT RHCAPACITACIONEM_RESULTADO_CK CHECK (RESULTADO >= 0),
   OBSERVACIONES        VARCHAR2(120),
   CONSTRAINT RHCAPACITACIONEMP_PK PRIMARY KEY (CURSO, EMPLEADO, FECHA, CIA)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: RHCAPACITACION_CAPACITAEMP_FK1                        */
/*==============================================================*/
CREATE INDEX RHCAPACITACION_CAPACITAEMP_FK1 ON RHCAPACITACIONEMP (
   CURSO ASC
);

/*==============================================================*/
/* Index: PLAEMPLEADO_CAPACEMP_FK2                              */
/*==============================================================*/
CREATE INDEX PLAEMPLEADO_CAPACEMP_FK2 ON RHCAPACITACIONEMP (
   CIA ASC,
   EMPLEADO ASC
);

/*==============================================================*/
/* Table: RHCATEGORIAS                                          */
/*==============================================================*/
CREATE TABLE RHCATEGORIAS  (
   CATEGORIA            CHAR(2)                         NOT NULL,
   DESCRIPCION          VARCHAR2(40)                    NOT NULL,
   CONSTRAINT RHCATEGORIAS_PK PRIMARY KEY (CATEGORIA)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: RHDETEVALPROF                                         */
/*==============================================================*/
CREATE TABLE RHDETEVALPROF  (
   CIA                  CHAR(3)                         NOT NULL,
   CEDULA               VARCHAR2(20)                    NOT NULL,
   EVALUACION           CHAR(2)                         NOT NULL,
   FECHA                DATE                            NOT NULL,
   ASPECTO              CHAR(2)                         NOT NULL,
   PUNTOS               NUMBER(5)                       NOT NULL,
   RESULTADO            NUMBER(5,2)                     NOT NULL
      CONSTRAINT RHDETEVALPROF_RESULTADO_CK CHECK (RESULTADO >= 0),
   OBSERVACIONES        VARCHAR2(120),
   CONSTRAINT RHDETEVALPROF_PK PRIMARY KEY (CIA, CEDULA, EVALUACION, FECHA, ASPECTO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: RHEVALUACIONPROF_DETEVALP_FK1                         */
/*==============================================================*/
CREATE INDEX RHEVALUACIONPROF_DETEVALP_FK1 ON RHDETEVALPROF (
   CIA ASC,
   CEDULA ASC,
   EVALUACION ASC,
   FECHA ASC
);

/*==============================================================*/
/* Index: RHDETEVALUACION_DETEVALP_FK2                          */
/*==============================================================*/
CREATE INDEX RHDETEVALUACION_DETEVALP_FK2 ON RHDETEVALPROF (
   EVALUACION ASC,
   ASPECTO ASC
);

/*==============================================================*/
/* Table: RHDETEVALUACION                                       */
/*==============================================================*/
CREATE TABLE RHDETEVALUACION  (
   EVALUACION           CHAR(2)                         NOT NULL,
   ASPECTO              CHAR(2)                         NOT NULL,
   DESCRIPCION          VARCHAR2(40)                    NOT NULL,
   PUNTOS               NUMBER(5)                       NOT NULL,
   PORCTOTAL            NUMBER(5,2)                     NOT NULL
      CONSTRAINT RHDETEVALUACION_PORCTOTAL_CK CHECK (PORCTOTAL >= 0),
   CONSTRAINT RHDETEVALUACION_PK PRIMARY KEY (EVALUACION, ASPECTO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: RHEVALUACION_DETEVAL_FK1                              */
/*==============================================================*/
CREATE INDEX RHEVALUACION_DETEVAL_FK1 ON RHDETEVALUACION (
   EVALUACION ASC
);

/*==============================================================*/
/* Table: RHESTADISPUNTOS                                       */
/*==============================================================*/

/* ESTA TABLA SE UTILIZARA PARA LA GENERACION DE VALES, */
/* LLEVANDO EL CONTROL DE PUNTOS GANADOS  Y PAGADOS POR EMPLEADO.  */
/* SE ACTUALIZARA CADA VEZ QUE SE HAGA EFECTIVA UNA ACCION CON  */
/* PUNTAJE, Y CADA VEZ QUE SE GENERE UN VALE. */
CREATE TABLE RHESTADISPUNTOS  (
   CIA                  CHAR(3)                         NOT NULL,
   EMPLEADO             VARCHAR2(15)                    NOT NULL,
   PENDIENTES           NUMBER(5)                       NOT NULL,
   PAGADOS              NUMBER(5)                       NOT NULL
      CONSTRAINT RHESTADISPUNTOS_PAGADOS_CK CHECK (PAGADOS >= 0),
   CONSTRAINT RHESTADISPUNTOS_PK PRIMARY KEY (CIA, EMPLEADO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: RHEVALPUESTO                                          */
/*==============================================================*/
CREATE TABLE RHEVALPUESTO  (
   CIA                  CHAR(3)                         NOT NULL,
   PUESTO               CHAR(3)                         NOT NULL,
   EVALUACION           CHAR(2)                         NOT NULL,
   PESO                 NUMBER(5,2)                     NOT NULL
      CONSTRAINT RHEVALPUESTO_PESO_CK CHECK (PESO >= 0),
   CONSTRAINT RHEVALPUESTO_PK PRIMARY KEY (CIA, PUESTO, EVALUACION)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: RHEVALUACION                                          */
/*==============================================================*/
CREATE TABLE RHEVALUACION  (
   EVALUACION           CHAR(2)                         NOT NULL,
   DESCRIPCION          VARCHAR2(40)                    NOT NULL,
   FRECUENCIA           NUMBER(3)                       NOT NULL
      CONSTRAINT RHEVALUACION_FRECUENCIA_CK CHECK (FRECUENCIA >= 0),
   CONSTRAINT RHEVALUACION_PK PRIMARY KEY (EVALUACION)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: RHEVALUACIONPROF                                      */
/*==============================================================*/
CREATE TABLE RHEVALUACIONPROF  (
   CIA                  CHAR(3)                         NOT NULL,
   CEDULA               VARCHAR2(20)                    NOT NULL,
   EVALUACION           CHAR(2)                         NOT NULL,
   FECHA                DATE                            NOT NULL,
   RESULTADO            NUMBER(5,2)                     NOT NULL
      CONSTRAINT RHEVALUACIONPROF_RESULTADO_CK CHECK (RESULTADO >= 0),
   OBSERVACIONES        VARCHAR2(120),
   EMPLEADO             VARCHAR2(15),
   CONSTRAINT RHEVALUACIONPROF_PK PRIMARY KEY (CIA, CEDULA, EVALUACION, FECHA)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: RHEVALUACION_EVALPROF_FK1                             */
/*==============================================================*/
CREATE INDEX RHEVALUACION_EVALPROF_FK1 ON RHEVALUACIONPROF (
   EVALUACION ASC
);

/*==============================================================*/
/* Index: RHBOLSAEMPLEO_EVALPROF_FK2                            */
/*==============================================================*/
CREATE INDEX RHBOLSAEMPLEO_EVALPROF_FK2 ON RHEVALUACIONPROF (
   CEDULA ASC
);

/*==============================================================*/
/* Table: RHEXPLABORAL                                          */
/*==============================================================*/

/* ESTA TABLA GUARDA EL HISTORIAL LABORAL PREVIO DE */
/*  CADA CANDIDATO O  PROFESIONAL. */
CREATE TABLE RHEXPLABORAL  (
   CEDULA               VARCHAR2(20)                    NOT NULL,
   EMPRESA              VARCHAR2(40)                    NOT NULL,
   FECHAINGRESO         DATE                            NOT NULL,
   FECHASALIDA          DATE,
   MOTIVO               CHAR(1)                         NOT NULL
      CONSTRAINT RHEXPLABORAL_MOTIVO_CK CHECK (MOTIVO IN ('R','D')),
   PUESTO               VARCHAR2(40)                    NOT NULL,
   SALARIOINICIAL       NUMBER(14,2)                    NOT NULL
      CONSTRAINT RHEXPLABORAL_SALARIOINI_CK CHECK (SALARIOINICIAL >= 0),
   SALARIOFINAL         NUMBER(14,2)                    NOT NULL
      CONSTRAINT RHEXPLABORAL_SALARIOFIN_CK CHECK (SALARIOFINAL >= 0),
   OBSERVACIONES        VARCHAR2(120),
   CONSTRAINT RHEXPLABORAL_PK PRIMARY KEY (CEDULA, EMPRESA)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

COMMENT ON COLUMN RHEXPLABORAL.MOTIVO IS
'R-enuncia, D-espido';

/*==============================================================*/
/* Index: RHBOLSAEMPLEO_EXPLAB_FK1                              */
/*==============================================================*/
CREATE INDEX RHBOLSAEMPLEO_EXPLAB_FK1 ON RHEXPLABORAL (
   CEDULA ASC
);

/*==============================================================*/
/* Table: RHFAMILIARES                                          */
/*==============================================================*/
CREATE TABLE RHFAMILIARES  (
   CEDULA               VARCHAR2(20)                    NOT NULL,
   NOMBRE               VARCHAR2(40)                    NOT NULL,
   PARENTESCO           CHAR(1)                         NOT NULL
      CONSTRAINT RHFAMILIARES_PARENTESCO_CK CHECK (PARENTESCO IN ('O','A','P','M','C','T')),
   FECHANAC             DATE,
   TELEFONO             VARCHAR2(15),
   CONSTRAINT RHFAMILIARES_PK PRIMARY KEY (CEDULA, NOMBRE)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

COMMENT ON COLUMN RHFAMILIARES.PARENTESCO IS
'hij-O, hij-A, P-adre, M-adre, C-onyugue, o-Tro';

/*==============================================================*/
/* Index: RHBOLSAEMPLEO_FAMILIARES_FK1                          */
/*==============================================================*/
CREATE INDEX RHBOLSAEMPLEO_FAMILIARES_FK1 ON RHFAMILIARES (
   CEDULA ASC
);

/*==============================================================*/
/* Table: RHFUNCIONPUESTO                                       */
/*==============================================================*/
CREATE TABLE RHFUNCIONPUESTO  (
   CIA                  CHAR(3)                         NOT NULL,
   PUESTO               CHAR(3)                         NOT NULL,
   ORDINAL              NUMBER(2)                       NOT NULL
      CONSTRAINT RHFUNCIONPUESTO_ORDINAL_CK CHECK (ORDINAL >= 1),
   DESCRIPCION          VARCHAR2(120),
   CONSTRAINT RHFUNCIONPUESTO_PK PRIMARY KEY (CIA, PUESTO, ORDINAL)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: PLAPUESTO_RHFUNPUESTO_FK1                             */
/*==============================================================*/
CREATE INDEX PLAPUESTO_RHFUNPUESTO_FK1 ON RHFUNCIONPUESTO (
   CIA ASC,
   PUESTO ASC
);

/*==============================================================*/
/* Table: RHGRADOACADEMICO                                      */
/*==============================================================*/
CREATE TABLE RHGRADOACADEMICO  (
   GRADO                VARCHAR2(3)                     NOT NULL
      CONSTRAINT RHGRADOACADEMICO_GRADO_CK CHECK (GRADO IN ('P','S','U','R','C','O')),
   DESCRIPCION          VARCHAR2(40)                    NOT NULL,
   CONSTRAINT RHGRADOACADEMICO_PK PRIMARY KEY (GRADO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

COMMENT ON COLUMN RHGRADOACADEMICO.GRADO IS
'P-rimaria, S-ecundaria, U-niversitaria, pa-R-a universitaria, C-urso Libre, O-tros';

/*==============================================================*/
/* Table: RHHISTACADEMICA                                       */
/*==============================================================*/

/* TABLA DE HISTORIAL ACADEMICO POR CANDIDATO O PROFESIONAL */
CREATE TABLE RHHISTACADEMICA  (
   CEDULA               VARCHAR2(20)                    NOT NULL,
   GRADO                VARCHAR2(3)                     NOT NULL,
   ANOINICIAL           NUMBER(4)                       NOT NULL,
   ANOFINAL             NUMBER(4),
   INSTITUCION          CHAR(3)                         NOT NULL,
   DIPLOMA              VARCHAR2(40)                    NOT NULL,
   CONSTRAINT RHHISTACADEMICA_PK PRIMARY KEY (CEDULA, GRADO, ANOINICIAL)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

COMMENT ON COLUMN RHHISTACADEMICA.GRADO IS
'P-rimaria, S-ecundaria, U-niversitaria, pa-R-a universitaria, C-urso libre, O-tros';

/*==============================================================*/
/* Index: RHINSTITUCION_HISTACA_FK1                             */
/*==============================================================*/
CREATE INDEX RHINSTITUCION_HISTACA_FK1 ON RHHISTACADEMICA (
   INSTITUCION ASC
);

/*==============================================================*/
/* Index: RHGRADOACADEMICO_HISTACA_FK2                          */
/*==============================================================*/
CREATE INDEX RHGRADOACADEMICO_HISTACA_FK2 ON RHHISTACADEMICA (
   GRADO ASC
);

/*==============================================================*/
/* Index: RHBOLSAEMPLEO_HISTACADEM_FK3                          */
/*==============================================================*/
CREATE INDEX RHBOLSAEMPLEO_HISTACADEM_FK3 ON RHHISTACADEMICA (
   CEDULA ASC
);

/*==============================================================*/
/* Table: RHIDIOMA                                              */
/*==============================================================*/
CREATE TABLE RHIDIOMA  (
   IDIOMA               CHAR(2)                         NOT NULL,
   DESCRIPCION          VARCHAR2(50)                    NOT NULL,
   CONSTRAINT RHIDIOMA_PK PRIMARY KEY (IDIOMA)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: RHIDIOMABOLSA                                         */
/*==============================================================*/
CREATE TABLE RHIDIOMABOLSA  (
   CEDULA               VARCHAR2(20)                    NOT NULL,
   IDIOMA               CHAR(2)                         NOT NULL,
   LEE                  CHAR(1)                         NOT NULL
      CONSTRAINT RHIDIOMABOLSA_LEE_CK CHECK (LEE IN ('S','N')),
   ESCRIBE              CHAR(1)                         NOT NULL
      CONSTRAINT RHIDIOMABOLSA_ESCRIBE_CK CHECK (ESCRIBE IN ('S','N')),
   HABLA                CHAR(1)                         NOT NULL
      CONSTRAINT RHIDIOMABOLSA_HABLA_CK CHECK (HABLA IN ('S','N')),
   CONSTRAINT RHIDIOMABOLSA_PK PRIMARY KEY (CEDULA, IDIOMA)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: RHIDIOMAPUESTO                                        */
/*==============================================================*/
CREATE TABLE RHIDIOMAPUESTO  (
   CIA                  CHAR(3)                         NOT NULL,
   PUESTO               CHAR(3)                         NOT NULL,
   IDIOMA               CHAR(2)                         NOT NULL,
   LEE                  CHAR(1)                         NOT NULL
      CONSTRAINT RHIDIOMAPUESTO_LEE_CK CHECK (LEE IN ('S','N')),
   ESCRIBE              CHAR(1)                         NOT NULL
      CONSTRAINT RHIDIOMAPUESTO_ESCRIBE_CK CHECK (ESCRIBE IN ('S','N')),
   HABLA                CHAR(1)                         NOT NULL
      CONSTRAINT RHIDIOMAPUESTO_HABLA_CK CHECK (HABLA IN ('S','N')),
   CONSTRAINT RHIDIOMAPUESTO_PK PRIMARY KEY (CIA, PUESTO, IDIOMA)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: RHINFOEMP                                             */
/*==============================================================*/
CREATE TABLE RHINFOEMP  (
   CIA                  CHAR(3)                         NOT NULL,
   EMPLEADO             VARCHAR2(15)                    NOT NULL,
   FECHA                DATE                            NOT NULL,
   OBSERVACIONES        VARCHAR2(1200)                  NOT NULL,
   CONSTRAINT RHINFOEMP_PK PRIMARY KEY (CIA, EMPLEADO, FECHA)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: PLAEMPLEADO_RHINFO_FK1                                */
/*==============================================================*/
CREATE INDEX PLAEMPLEADO_RHINFO_FK1 ON RHINFOEMP (
   CIA ASC,
   EMPLEADO ASC
);

/*==============================================================*/
/* Table: RHINSTITUCION                                         */
/*==============================================================*/
CREATE TABLE RHINSTITUCION  (
   INSTITUCION          CHAR(3)                         NOT NULL,
   DESCRIPCION          VARCHAR2(40)                    NOT NULL,
   CONSTRAINT RHINSTITUCION_PK PRIMARY KEY (INSTITUCION)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: RHPROGRAMAVAC                                         */
/*==============================================================*/

/*   ESTA TABLA PERMITE DEFINIR LOS RANGOS POSIBLES DE VACACIONES */
/*    PARA CADA DEPARTAMENTO. SE USA EN LA PROGRAMACION DE */
/*   VACACIONES. */
CREATE TABLE RHPROGRAMAVAC  (
   CIA                  CHAR(3)                         NOT NULL,
   ANO                  NUMBER(4)                       NOT NULL,
   EMPLEADO             VARCHAR2(15)                    NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   DEPARTAMENTO         CHAR(3)                         NOT NULL,
   FECHAINICIAL         DATE                            NOT NULL,
   FECHAFINAL           DATE                            NOT NULL,
   ESTADO               CHAR(1)                         NOT NULL
      CONSTRAINT RHPROGRAMAVAC_ESTADO_CK CHECK (ESTADO IN ('P','A')),
   CONSTRAINT RHPROGRAMAVAC_PK PRIMARY KEY (CIA, ANO, EMPLEADO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

COMMENT ON COLUMN RHPROGRAMAVAC.ESTADO IS
'P-endiente, A-plicado';

/*==============================================================*/
/* Index: PLADEPARTAMENTO_RHPROGVAC_FK1                         */
/*==============================================================*/
CREATE INDEX PLADEPARTAMENTO_RHPROGVAC_FK1 ON RHPROGRAMAVAC (
   CIA ASC,
   SUCURSAL ASC,
   DEPARTAMENTO ASC
);

/*==============================================================*/
/* Index: PLAEMPLEADO_PROGVAC_FK2                               */
/*==============================================================*/
CREATE INDEX PLAEMPLEADO_PROGVAC_FK2 ON RHPROGRAMAVAC (
   CIA ASC,
   EMPLEADO ASC
);

/*==============================================================*/
/* Table: RHREFERENCIA                                          */
/*==============================================================*/

/* ESTA ES LA TABLA DE REFERENCIAS PERSONALES O  */
/* COMERCIALES POR CANDIDATO O PROFESIONAL. */
CREATE TABLE RHREFERENCIA  (
   CEDULA               VARCHAR2(20)                    NOT NULL,
   NOMBRE               VARCHAR2(40)                    NOT NULL,
   RELACION             VARCHAR2(40)                    NOT NULL,
   TELEFONO             VARCHAR2(12)                    NOT NULL,
   ESEMPLEADO           CHAR(1)                         NOT NULL
      CONSTRAINT RHREFERENCIA_ESEMPLEADO_CK CHECK (ESEMPLEADO IN ('S','N')),
   OBSERVACIONES        VARCHAR2(120),
   CONSTRAINT RHREFERENCIA_PK PRIMARY KEY (CEDULA, NOMBRE)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: RHBOLSAEMPLEO_REFERENCIA_FK1                          */
/*==============================================================*/
CREATE INDEX RHBOLSAEMPLEO_REFERENCIA_FK1 ON RHREFERENCIA (
   CEDULA ASC
);

/*==============================================================*/
/* Table: RHREQPUESTO                                           */
/*==============================================================*/
CREATE TABLE RHREQPUESTO  (
   CIA                  CHAR(3)                         NOT NULL,
   PUESTO               CHAR(3)                         NOT NULL,
   ORDINAL              NUMBER(2)                       NOT NULL
      CONSTRAINT RHREQPUESTO_ORDINAL_CK CHECK (ORDINAL >= 1),
   TIPO                 CHAR(1)                         NOT NULL
      CONSTRAINT RHREQPUESTO_TIPO_CK CHECK (TIPO IN ('O','P')),
   DESCRIPCION          VARCHAR2(120),
   CONSTRAINT RHREQPUESTO_PK PRIMARY KEY (CIA, PUESTO, ORDINAL)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: PLAPUESTO_RHREQPUESTO_FK1                             */
/*==============================================================*/
CREATE INDEX PLAPUESTO_RHREQPUESTO_FK1 ON RHREQPUESTO (
   CIA ASC,
   PUESTO ASC
);

/*==============================================================*/
/* Table: RHSOLICREQUISITO                                      */
/*==============================================================*/
CREATE TABLE RHSOLICREQUISITO  (
   CIA                  CHAR(3)                         NOT NULL,
   SOLICITUD            NUMBER(8)                       NOT NULL,
   ORDINAL              NUMBER(2)                       NOT NULL,
   PUESTO               CHAR(3)                         NOT NULL,
   CUMPLE               CHAR(1)                         NOT NULL
      CONSTRAINT RHSOLICREQUISITO_CUMPLE_CK CHECK (CUMPLE IN ('S','N')),
   OBSERVACIONES        VARCHAR2(120),
   CONSTRAINT RHSOLICREQUISITO_PK PRIMARY KEY (CIA, SOLICITUD, ORDINAL)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: RHSOLICITUD                                           */
/*==============================================================*/
CREATE TABLE RHSOLICITUD  (
   CIA                  CHAR(3)                         NOT NULL,
   SOLICITUD            NUMBER(8)                       NOT NULL,
   CEDULA               VARCHAR2(20)                    NOT NULL,
   FECHA                DATE                            NOT NULL,
   PUESTO               CHAR(3)                         NOT NULL,
   SALARIO              NUMBER(14,2)                    NOT NULL
      CONSTRAINT RHSOLICITUD_SALARIO_CK CHECK (SALARIO >= 0),
   FECHAAPROBADA        DATE,
   CONSTRAINT RHSOLICITUD_PK PRIMARY KEY (CIA, SOLICITUD)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: RHBOLSAEMPLEO_SOLICITUD_FK1                           */
/*==============================================================*/
CREATE INDEX RHBOLSAEMPLEO_SOLICITUD_FK1 ON RHSOLICITUD (
   CEDULA ASC
);

ALTER TABLE RHACCIONASCENSO
   ADD CONSTRAINT RHACCIONEMP_ASCENSO_FK FOREIGN KEY (CIA, ACCION, NUMERO)
      REFERENCES RHACCIONEMP (CIA, ACCION, NUMERO);

ALTER TABLE RHACCIONAUMENTO
   ADD CONSTRAINT RHACCIONEMP_AUMENTO_FK FOREIGN KEY (CIA, ACCION, NUMERO)
      REFERENCES RHACCIONEMP (CIA, ACCION, NUMERO);

ALTER TABLE RHACCIONAUTORIZA
   ADD CONSTRAINT RHACCIONPERSONAL_AUTORIZA_FK FOREIGN KEY (CIA, ACCION)
      REFERENCES RHACCIONPERSONAL (CIA, ACCION);

ALTER TABLE RHACCIONEMP
   ADD CONSTRAINT RHACCIONPERSONAL_ACCIONEMP_FK FOREIGN KEY (CIA, ACCION)
      REFERENCES RHACCIONPERSONAL (CIA, ACCION);

ALTER TABLE RHACCIONHORARIO
   ADD CONSTRAINT RHACCIONEMP_HORARIO_FK FOREIGN KEY (CIA, ACCION, NUMERO)
      REFERENCES RHACCIONEMP (CIA, ACCION, NUMERO);

ALTER TABLE RHACCIONINCAP
   ADD CONSTRAINT RHACCIONEMP_INCAP_FK FOREIGN KEY (CIA, ACCION, NUMERO)
      REFERENCES RHACCIONEMP (CIA, ACCION, NUMERO);

ALTER TABLE RHACCIONINGRESO
   ADD CONSTRAINT RHACCIONEMP_INGRESO_FK FOREIGN KEY (CIA, ACCION, NUMERO)
      REFERENCES RHACCIONEMP (CIA, ACCION, NUMERO);

ALTER TABLE RHACCIONLIQUIDA
   ADD CONSTRAINT RHACCIONEMP_LIQUIDA_FK FOREIGN KEY (CIA, ACCION, NUMERO)
      REFERENCES RHACCIONEMP (CIA, ACCION, NUMERO);

ALTER TABLE RHACCIONVACACION
   ADD CONSTRAINT RHACCIONEMP_VACACION_FK FOREIGN KEY (CIA, ACCION, NUMERO)
      REFERENCES RHACCIONEMP (CIA, ACCION, NUMERO);

ALTER TABLE RHBOLSAEMPLEO
   ADD CONSTRAINT RHCATEGORIAS_BOLSAEMPLEO_FK FOREIGN KEY (CATEGORIA)
      REFERENCES RHCATEGORIAS (CATEGORIA);

ALTER TABLE RHCAPACITACIONEMP
   ADD CONSTRAINT PLAEMPLEADO_CAPACEMP_FK FOREIGN KEY (CIA, EMPLEADO)
      REFERENCES PLAEMPLEADO (CIA, EMPLEADO);

ALTER TABLE RHCAPACITACIONEMP
   ADD CONSTRAINT RHCAPACITACION_CAPACITAEMP_FK FOREIGN KEY (CURSO)
      REFERENCES RHCAPACITACION (CURSO);

ALTER TABLE RHDETEVALPROF
   ADD CONSTRAINT RHDETEVALUACION_DETEVALP_FK FOREIGN KEY (EVALUACION, ASPECTO)
      REFERENCES RHDETEVALUACION (EVALUACION, ASPECTO);

ALTER TABLE RHDETEVALPROF
   ADD CONSTRAINT RHEVALUACIONPROF_DETEVALP_FK FOREIGN KEY (CIA, CEDULA, EVALUACION, FECHA)
      REFERENCES RHEVALUACIONPROF (CIA, CEDULA, EVALUACION, FECHA);

ALTER TABLE RHDETEVALUACION
   ADD CONSTRAINT RHEVALUACION_DETEVAL_FK FOREIGN KEY (EVALUACION)
      REFERENCES RHEVALUACION (EVALUACION);

ALTER TABLE RHESTADISPUNTOS
   ADD CONSTRAINT PLAEMPLEADO_RHESTADPUNTOS_FK FOREIGN KEY (CIA, EMPLEADO)
      REFERENCES PLAEMPLEADO (CIA, EMPLEADO);

ALTER TABLE RHEVALPUESTO
   ADD CONSTRAINT PLAPUESTO_RHEVALPUESTO_FK FOREIGN KEY (CIA, PUESTO)
      REFERENCES PLAPUESTO (CIA, PUESTO);

ALTER TABLE RHEVALPUESTO
   ADD CONSTRAINT RHEVALUACION_EVALPUESTO_FK FOREIGN KEY (EVALUACION)
      REFERENCES RHEVALUACION (EVALUACION);

ALTER TABLE RHEVALUACIONPROF
   ADD CONSTRAINT RHBOLSAEMPLEO_EVALPROF_FK FOREIGN KEY (CEDULA)
      REFERENCES RHBOLSAEMPLEO (CEDULA);

ALTER TABLE RHEVALUACIONPROF
   ADD CONSTRAINT RHEVALUACION_EVALPROF_FK FOREIGN KEY (EVALUACION)
      REFERENCES RHEVALUACION (EVALUACION);

ALTER TABLE RHEXPLABORAL
   ADD CONSTRAINT RHBOLSAEMPLEO_EXPLAB_FK FOREIGN KEY (CEDULA)
      REFERENCES RHBOLSAEMPLEO (CEDULA);

ALTER TABLE RHFAMILIARES
   ADD CONSTRAINT RHBOLSAEMPLEO_FAMILIARES_FK FOREIGN KEY (CEDULA)
      REFERENCES RHBOLSAEMPLEO (CEDULA);

ALTER TABLE RHFUNCIONPUESTO
   ADD CONSTRAINT PLAPUESTO_RHFUNPUESTO_FK FOREIGN KEY (CIA, PUESTO)
      REFERENCES PLAPUESTO (CIA, PUESTO);

ALTER TABLE RHHISTACADEMICA
   ADD CONSTRAINT RHBOLSAEMPLEO_HISTACADEM_FK FOREIGN KEY (CEDULA)
      REFERENCES RHBOLSAEMPLEO (CEDULA);

ALTER TABLE RHHISTACADEMICA
   ADD CONSTRAINT RHGRADOACADEMICO_HISTACA_FK FOREIGN KEY (GRADO)
      REFERENCES RHGRADOACADEMICO (GRADO);

ALTER TABLE RHHISTACADEMICA
   ADD CONSTRAINT RHINSTITUCION_HISTACA_FK FOREIGN KEY (INSTITUCION)
      REFERENCES RHINSTITUCION (INSTITUCION);

ALTER TABLE RHIDIOMABOLSA
   ADD CONSTRAINT RHBOLSAEMPLEO_IDIOMABOLSA_FK FOREIGN KEY (CEDULA)
      REFERENCES RHBOLSAEMPLEO (CEDULA);

ALTER TABLE RHIDIOMABOLSA
   ADD CONSTRAINT RHIDIOMA_IDIOMABOLSA_FK FOREIGN KEY (IDIOMA)
      REFERENCES RHIDIOMA (IDIOMA);

ALTER TABLE RHIDIOMAPUESTO
   ADD CONSTRAINT PLAPUESTO_RHIDIOMAPUESTO_FK FOREIGN KEY (CIA, PUESTO)
      REFERENCES PLAPUESTO (CIA, PUESTO);

ALTER TABLE RHIDIOMAPUESTO
   ADD CONSTRAINT RHIDIOMA_IDIOMAPUESTO_FK FOREIGN KEY (IDIOMA)
      REFERENCES RHIDIOMA (IDIOMA);

ALTER TABLE RHINFOEMP
   ADD CONSTRAINT PLAEMPLEADO_RHINFO_FK FOREIGN KEY (CIA, EMPLEADO)
      REFERENCES PLAEMPLEADO (CIA, EMPLEADO);

ALTER TABLE RHPROGRAMAVAC
   ADD CONSTRAINT PLADEPARTAMENTO_RHPROGVAC_FK FOREIGN KEY (CIA, SUCURSAL, DEPARTAMENTO)
      REFERENCES PLADEPARTAMENTO (CIA, SUCURSAL, DEPARTAMENTO);

ALTER TABLE RHPROGRAMAVAC
   ADD CONSTRAINT PLAEMPLEADO_PROGVAC_FK FOREIGN KEY (CIA, EMPLEADO)
      REFERENCES PLAEMPLEADO (CIA, EMPLEADO);

ALTER TABLE RHREFERENCIA
   ADD CONSTRAINT RHBOLSAEMPLEO_REFERENCIA_FK FOREIGN KEY (CEDULA)
      REFERENCES RHBOLSAEMPLEO (CEDULA);

ALTER TABLE RHREQPUESTO
   ADD CONSTRAINT PLAPUESTO_RHREQPUESTO_FK FOREIGN KEY (CIA, PUESTO)
      REFERENCES PLAPUESTO (CIA, PUESTO);

ALTER TABLE RHSOLICREQUISITO
   ADD CONSTRAINT RHREQPUESTO_SOLICREQUISITO_FK FOREIGN KEY (CIA, PUESTO, ORDINAL)
      REFERENCES RHREQPUESTO (CIA, PUESTO, ORDINAL);

ALTER TABLE RHSOLICREQUISITO
   ADD CONSTRAINT RHSOLICITUD_SOLICREQUISITO_FK FOREIGN KEY (CIA, SOLICITUD)
      REFERENCES RHSOLICITUD (CIA, SOLICITUD);

ALTER TABLE RHSOLICITUD
   ADD CONSTRAINT PLAPUESTO_RHSOLICITUD_FK FOREIGN KEY (CIA, PUESTO)
      REFERENCES PLAPUESTO (CIA, PUESTO);

ALTER TABLE RHSOLICITUD
   ADD CONSTRAINT RHBOLSAEMPLEO_SOLICITUD_FK FOREIGN KEY (CEDULA)
      REFERENCES RHBOLSAEMPLEO (CEDULA);

