/*==============================================================*/
/* DBMS name:      ORACLE Version 9i                            */
/* Created on:     29/01/2008 02:47:37 p.m.                     */
/*==============================================================*/


/*==============================================================*/
/* Table: RELLECTURAS                                           */
/*==============================================================*/
CREATE TABLE RELLECTURAS  (
   CIA                  CHAR(3)                         NOT NULL,
   TERMINAL             VARCHAR2(3)                     NOT NULL,
   FECHA                DATE                            NOT NULL,
   PRIMERMARCA          DATE                            NOT NULL,
   ULTIMAMARCA          DATE                            NOT NULL,
   MARCASREP            NUMBER(5)                       NOT NULL
      CONSTRAINT RELLECTURAS_MARCASREP_CK CHECK (MARCASREP >= 0),
   TOTALMARCAS          NUMBER(5)                       NOT NULL
      CONSTRAINT RELLECTURAS_TOTALMARCA_CK CHECK (TOTALMARCAS >= 0),
   USUARIO              VARCHAR2(30)                    NOT NULL,
   CONSTRAINT RELLECTURAS_PK PRIMARY KEY (CIA, TERMINAL, FECHA)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: RELLECTURAS_FK1                                       */
/*==============================================================*/
CREATE INDEX RELLECTURAS_FK1 ON RELLECTURAS (
   CIA ASC,
   TERMINAL ASC
);

/*==============================================================*/
/* Table: RELMAESTRO                                            */
/*==============================================================*/
CREATE TABLE RELMAESTRO  (
   CIA                  CHAR(3)                         NOT NULL,
   TERMINAL             VARCHAR2(3)                     NOT NULL,
   CLASE                VARCHAR2(10)                    NOT NULL
      CONSTRAINT RELMAESTRO_CLASE_CK CHECK (CLASE IN ('AMX')),
   IDLOGICO             VARCHAR2(4)                     NOT NULL,
   DESCRIPCION          VARCHAR2(40)                    NOT NULL,
   ESTADO               CHAR(1)                         NOT NULL
      CONSTRAINT RELMAESTRO_ESTADO_CK CHECK (ESTADO IN ('A','I')),
   CONSTRAINT RELMAESTRO_PK PRIMARY KEY (CIA, TERMINAL),
   CONSTRAINT RELMAESTRO_TERMINAL_AK UNIQUE (TERMINAL)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: RELMAESTRO_FK1                                        */
/*==============================================================*/
CREATE INDEX RELMAESTRO_FK1 ON RELMAESTRO (
   CIA ASC
);

/*==============================================================*/
/* Table: RELMARCAS                                             */
/*==============================================================*/
CREATE TABLE RELMARCAS  (
   CIA                  CHAR(3)                         NOT NULL,
   TERMINAL             VARCHAR2(3)                     NOT NULL,
   FECHA                DATE                            NOT NULL,
   EMPLEADO             VARCHAR2(15)                    NOT NULL,
   HORA                 NUMBER(4)                       NOT NULL
      CONSTRAINT RELMARCAS_HORA_CK CHECK (HORA BETWEEN 0 AND 2359),
   ORIGEN               CHAR(1)                         NOT NULL
      CONSTRAINT RELMARCAS_ORIGEN_CK CHECK (ORIGEN IN ('M','A')),
   TIPO                 CHAR(2)                         NOT NULL,
   DESCRIPCION          VARCHAR2(40),
   ESTADO               CHAR(1)                         NOT NULL
      CONSTRAINT RELMARCAS_ESTADO_CK CHECK (ESTADO IN ('P','A','N')),
   CONSTRAINT RELMARCAS_PK PRIMARY KEY (CIA, TERMINAL, FECHA, EMPLEADO, HORA)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: RELMARCAS_EMP_FK                                      */
/*==============================================================*/
CREATE INDEX RELMARCAS_EMP_FK ON RELMARCAS (
   CIA ASC,
   FECHA ASC,
   EMPLEADO ASC,
   ESTADO ASC
);

/*==============================================================*/
/* Index: RELMARCAS_FK1                                         */
/*==============================================================*/
CREATE INDEX RELMARCAS_FK1 ON RELMARCAS (
   CIA ASC,
   TERMINAL ASC
);

/*==============================================================*/
/* Table: RELPARAMETROS                                         */
/*==============================================================*/
CREATE TABLE RELPARAMETROS  (
   CIA                  CHAR(3)                         NOT NULL,
   PUERTO               VARCHAR2(10)                   DEFAULT 'COM1' NOT NULL,
   VELOCIDAD            NUMBER(5)                      DEFAULT 9600 NOT NULL,
   PARIDAD              NUMBER(1)                      DEFAULT 0 NOT NULL
      CONSTRAINT RELPARAMETROS_PARIDAD_CK CHECK (PARIDAD BETWEEN 0 AND 4),
   PALABRA              NUMBER(1)                      DEFAULT 8 NOT NULL
      CONSTRAINT RELPARAMETROS_PALABRA_CK CHECK (PALABRA BETWEEN 4 AND 8),
   LARGOMARCA           NUMBER(2)                      DEFAULT 32 NOT NULL
      CONSTRAINT RELPARAMETROS_LARGOMARCA_CK CHECK (LARGOMARCA BETWEEN 0 AND 64),
   LARGOBLOQUE          NUMBER(4)                      DEFAULT 256 NOT NULL
      CONSTRAINT RELPARAMETROS_LARGOBLOQU_CK CHECK (LARGOBLOQUE BETWEEN 0 AND 2048),
   CONSTRAINT RELPARAMETROS_PK PRIMARY KEY (CIA)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

ALTER TABLE RELLECTURAS
   ADD CONSTRAINT RELMAESTROLECTURAS_FK FOREIGN KEY (CIA, TERMINAL)
      REFERENCES RELMAESTRO (CIA, TERMINAL);

ALTER TABLE RELMAESTRO
   ADD CONSTRAINT RELPARAMETROS_MAESTRO_FK FOREIGN KEY (CIA)
      REFERENCES RELPARAMETROS (CIA);

ALTER TABLE RELMARCAS
   ADD CONSTRAINT RELMAESTRO_MARCAS_FK FOREIGN KEY (CIA, TERMINAL)
      REFERENCES RELMAESTRO (CIA, TERMINAL);

