/*==============================================================*/
/* DBMS name:      PostgreSQL 8                                 */
/* Created on:     10/05/2011 11:17:10 a.m.                     */
/*==============================================================*/


drop table SIP_CAJA;

drop table SIP_CIERRE_CAJA;

drop table SIP_DET_CIERRE_CAJA;

drop table SIP_DET_TICKET;

drop table SIP_SERVICIO;

drop table SIP_TICKET;

drop table SIP_TICKET_CIERRECAJ;

drop table SIP_USUARIO;

/*==============================================================*/
/* Table: SIP_CAJA                                              */
/*==============================================================*/
create table SIP_CAJA (
   ID_CAJA              VARCHAR(5)           not null,
   DESCRIPCION          VARCHAR(50)          null,
   ESTATUS              VARCHAR(2)           null,
   constraint PK_CAJA primary key (ID_CAJA)
);

/*==============================================================*/
/* Table: SIP_CIERRE_CAJA                                       */
/*==============================================================*/
create table SIP_CIERRE_CAJA (
   ID_CIERRE            VARCHAR(5)           not null,
   ID_CAJA              VARCHAR(5)           null,
   DESCRIPCION          VARCHAR(50)          null,
   FECHA                DATE                 null,
   TOTAL                NUMERIC              null,
   CTA_INGRESO          VARCHAR(15)          null,
   constraint PK_CIERRE_CAJA primary key (ID_CIERRE)
);

/*==============================================================*/
/* Table: SIP_DET_CIERRE_CAJA                                   */
/*==============================================================*/
create table SIP_DET_CIERRE_CAJA (
   ID_CIERRE            VARCHAR(5)           not null,
   CTABAN               VARCHAR(25)          null,
   MONTO                NUMERIC              null,
   constraint PK_SIP_DET_CIERRE_CAJA primary key (ID_CIERRE)
);

/*==============================================================*/
/* Table: SIP_DET_TICKET                                        */
/*==============================================================*/
create table SIP_DET_TICKET (
   ID_SERVICIO          VARCHAR(5)           not null,
   ID_TICKET            VARCHAR(5)           not null,
   CANTIDAD             VARCHAR(4)           null,
   PRECIO_TOTAL         NUMERIC              null,
   ESTATUS              VARCHAR(2)           null,
   OBSERVACION          VARCHAR(50)          null,
   constraint PK_DET_TICKET primary key (ID_SERVICIO, ID_TICKET)
);

/*==============================================================*/
/* Table: SIP_SERVICIO                                          */
/*==============================================================*/
create table SIP_SERVICIO (
   ID_SERVICIO          VARCHAR(5)           not null,
   PRECIO               NUMERIC(5,2)         null,
   DESCRIPCION          VARCHAR(50)          null,
   ESTATUS              VARCHAR(2)           null,
   CTABAN               VARCHAR(25)          null,
   constraint PK_SERVICIO primary key (ID_SERVICIO)
);

/*==============================================================*/
/* Table: SIP_TICKET                                            */
/*==============================================================*/
create table SIP_TICKET (
   ID_TICKET            VARCHAR(5)           not null,
   CAJ_ID_CAJA          VARCHAR(5)           null,
   ID_ESTUDIANTE        VARCHAR(8)           null,
   ID_USUARIO           VARCHAR(10)          null,
   FECHA_TICKET         DATE                 null,
   ESTATUS              CHAR(2)              null,
   MONTO_TOTAL          NUMERIC              null,
   FECHA_ANULACION      DATE                 null,
   constraint PK_TICKET primary key (ID_TICKET)
);

/*==============================================================*/
/* Table: SIP_TICKET_CIERRECAJ                                  */
/*==============================================================*/
create table SIP_TICKET_CIERRECAJ (
   ID_CIERRE            VARCHAR(5)           not null,
   ID_TICKET            VARCHAR(5)           not null,
   constraint PK_SIP_TICKET_CIERRECAJ primary key (ID_CIERRE, ID_TICKET)
);

/*==============================================================*/
/* Table: SIP_USUARIO                                           */
/*==============================================================*/
create table SIP_USUARIO (
   ID_USUARIO           VARCHAR(10)          not null,
   ID_TICKET            VARCHAR(5)           null,
   NOMBRE               VARCHAR(30)          null,
   APELLIDO             VARCHAR(30)          null,
   constraint PK_SIP_USUARIO primary key (ID_USUARIO)
);

alter table SIP_CIERRE_CAJA
   add constraint FK_CIERRE_C_REFERENCE_CAJA foreign key (ID_CAJA)
      references SIP_CAJA (ID_CAJA)
      on delete restrict on update restrict;

alter table SIP_DET_CIERRE_CAJA
   add constraint FK_SIP_DET__REFERENCE_SIP_CIER foreign key (ID_CIERRE)
      references SIP_CIERRE_CAJA (ID_CIERRE)
      on delete restrict on update restrict;

alter table SIP_DET_TICKET
   add constraint FK_DET_TICK_REFERENCE_SERVICIO foreign key (ID_SERVICIO)
      references SIP_SERVICIO (ID_SERVICIO)
      on delete restrict on update restrict;

alter table SIP_DET_TICKET
   add constraint FK_DET_TICK_REFERENCE_TICKET foreign key (ID_TICKET)
      references SIP_TICKET (ID_TICKET)
      on delete restrict on update restrict;

alter table SIP_TICKET
   add constraint FK_TICKET_REFERENCE_CAJA foreign key (CAJ_ID_CAJA)
      references SIP_CAJA (ID_CAJA)
      on delete restrict on update restrict;

alter table SIP_TICKET_CIERRECAJ
   add constraint FK_SIP_TICK_REFERENCE_SIP_TICK foreign key (ID_TICKET)
      references SIP_TICKET (ID_TICKET)
      on delete restrict on update restrict;

alter table SIP_TICKET_CIERRECAJ
   add constraint FK_SIP_TICK_REFERENCE_SIP_CIER foreign key (ID_CIERRE)
      references SIP_CIERRE_CAJA (ID_CIERRE)
      on delete restrict on update restrict;

alter table SIP_USUARIO
   add constraint FK_SIP_USUA_REFERENCE_SIP_TICK foreign key (ID_TICKET)
      references SIP_TICKET (ID_TICKET)
      on delete restrict on update restrict;

