Está en la página 1de 9

/*==============================================================*/

/* DBMS name: PostgreSQL 8 */


/* Created on: 21/06/2018 18:04:12 */
/*==============================================================*/

drop index if exists PERSONAL_CANJE_FK cascade;

drop index if exists TIPO_CANJE_CANJE_FK cascade;

drop index if exists CANJE_PK cascade;

drop table if exists CANJE cascade ;

drop index if exists CARGO_PK cascade;

drop table if exists CARGO cascade;

drop index if exists USUARIO_CLIENTE_FK cascade;

drop index if exists TIPO_DOCUMENTO_CLIENTE_FK cascade;

drop index if exists CLIENTE_PK cascade;

drop table if exists CLIENTE cascade;

drop index if exists PREMIO_DETALLE_CANJE_FK cascade;

drop index if exists DETALLE_CANJE_CANJE_FK cascade;

drop index if exists DETALLE_CANJE_PK cascade;

drop table if exists DETALLE_CANJE cascade;

drop index if exists PERFIL_USUARIO_PK cascade;

drop table if exists PERFIL_USUARIO cascade;

drop index if exists USUARIO_PERSONAL_FK cascade;

drop index if exists PERSONAL_TIPO_DOCUMENTO_FK cascade;

drop index if exists CARGO_PERSONAL_FK cascade;

drop index if exists PERSONAL_PK cascade;

drop table if exists PERSONAL cascade;

drop index if exists PROVEEDOR_PREMIO_FK cascade;

drop index if exists PREMIO_PK cascade;

drop table if exists PREMIO cascade;

drop index if exists PROVEEDOR_PK cascade;

drop table if exists PROVEEDOR cascade;

drop index if exists TARJETA_PK cascade;


drop table if exists TARJETA cascade;

drop index if exists TARJETA_CLIENTE_TARJETA_FK cascade;

drop index if exists CLIENTE_TARJETACLIENTE_FK cascade;

drop index if exists TARJETACLIENTE_PK cascade;

drop table if exists TARJETACLIENTE cascade;

drop index if exists TIPO_CANJE_PK cascade;

drop table if exists TIPO_CANJE cascade;

drop index if exists TIPO_DOCUMENTO_PK cascade;

drop table if exists TIPO_DOCUMENTO cascade;

drop index if exists PERFIL_USUARIO_USUARIO_FK cascade;

drop index if exists USUARIO_PK cascade;

drop table if exists USUARIO cascade ;

/*==============================================================*/
/* Table: CANJE */
/*==============================================================*/
create table CANJE (
CANJE_ID CHAR(8) not null,
CLIENTE_ID CHAR(8) null,
TIPO_CANJE CHAR(8) null,
PERSONAL_ID CHAR(8) null,
COSTO_TOTAL NUMERIC(10,2) null,
FECHA_CANJE DATE null,
ESTADO INT2 null,
constraint PK_CANJE primary key (CANJE_ID)
);

/*==============================================================*/
/* Index: CANJE_PK */
/*==============================================================*/
create unique index CANJE_PK on CANJE (
CANJE_ID
);

/*==============================================================*/
/* Index: TIPO_CANJE_CANJE_FK */
/*==============================================================*/
create index TIPO_CANJE_CANJE_FK on CANJE (
TIPO_CANJE
);

/*==============================================================*/
/* Index: PERSONAL_CANJE_FK */
/*==============================================================*/
create index PERSONAL_CANJE_FK on CANJE (
PERSONAL_ID
);
/*==============================================================*/
/* Table: CARGO */
/*==============================================================*/
create table CARGO (
CARGO_ID CHAR(8) not null,
DESCRIPCION VARCHAR(25) null,
ESTADO INT2 null,
constraint PK_CARGO primary key (CARGO_ID)
);

/*==============================================================*/
/* Index: CARGO_PK */
/*==============================================================*/
create unique index CARGO_PK on CARGO (
CARGO_ID
);

/*==============================================================*/
/* Table: CLIENTE */
/*==============================================================*/
create table CLIENTE (
CLIENTE_ID CHAR(8) not null,
TIPODOC_ID CHAR(8) null,
NOMBRE VARCHAR(30) null,
APEPAT VARCHAR(30) null,
APEMAT VARCHAR(30) null,
CELULAR CHAR(9) null,
NRODOC CHAR(9) null,
ESTADO INT2 null,
USUARIO_ID CHAR(8) null,
constraint PK_CLIENTE primary key (CLIENTE_ID)
);

/*==============================================================*/
/* Index: CLIENTE_PK */
/*==============================================================*/
create unique index CLIENTE_PK on CLIENTE (
CLIENTE_ID
);

/*==============================================================*/
/* Index: TIPO_DOCUMENTO_CLIENTE_FK */
/*==============================================================*/
create index TIPO_DOCUMENTO_CLIENTE_FK on CLIENTE (
TIPODOC_ID
);

/*==============================================================*/
/* Index: USUARIO_CLIENTE_FK */
/*==============================================================*/
create index USUARIO_CLIENTE_FK on CLIENTE (
USUARIO_ID
);

/*==============================================================*/
/* Table: DETALLE_CANJE */
/*==============================================================*/
create table DETALLE_CANJE (
DETALLE_ID CHAR(8) not null,
PREMIO_ID CHAR(8) null,
CANJE_ID CHAR(8) null,
ESTADO_ID INT2 null,
constraint PK_DETALLE_CANJE primary key (DETALLE_ID)
);

/*==============================================================*/
/* Index: DETALLE_CANJE_PK */
/*==============================================================*/
create unique index DETALLE_CANJE_PK on DETALLE_CANJE (
DETALLE_ID
);

/*==============================================================*/
/* Index: DETALLE_CANJE_CANJE_FK */
/*==============================================================*/
create index DETALLE_CANJE_CANJE_FK on DETALLE_CANJE (
CANJE_ID
);

/*==============================================================*/
/* Index: PREMIO_DETALLE_CANJE_FK */
/*==============================================================*/
create index PREMIO_DETALLE_CANJE_FK on DETALLE_CANJE (
PREMIO_ID
);

/*==============================================================*/
/* Table: PERFIL_USUARIO */
/*==============================================================*/
create table PERFIL_USUARIO (
PERFIL_ID CHAR(8) not null,
NOMBRE VARCHAR(45) null,
ESTADO INT2 null,
constraint PK_PERFIL_USUARIO primary key (PERFIL_ID)
);

/*==============================================================*/
/* Index: PERFIL_USUARIO_PK */
/*==============================================================*/
create unique index PERFIL_USUARIO_PK on PERFIL_USUARIO (
PERFIL_ID
);

/*==============================================================*/
/* Table: PERSONAL */
/*==============================================================*/
create table PERSONAL (
PERSONAL_ID CHAR(8) not null,
CARGO_ID CHAR(8) null,
TIPODOC_ID CHAR(8) null,
NOMBRE VARCHAR(25) null,
APEPAT VARCHAR(25) null,
APEMAT VARCHAR(25) null,
CELULAR CHAR(9) null,
NRODOC CHAR(8) null,
ESTADO INT2 null,
USUARIO_ID CHAR(8) null,
constraint PK_PERSONAL primary key (PERSONAL_ID)
);

/*==============================================================*/
/* Index: PERSONAL_PK */
/*==============================================================*/
create unique index PERSONAL_PK on PERSONAL (
PERSONAL_ID
);

/*==============================================================*/
/* Index: CARGO_PERSONAL_FK */
/*==============================================================*/
create index CARGO_PERSONAL_FK on PERSONAL (
CARGO_ID
);

/*==============================================================*/
/* Index: PERSONAL_TIPO_DOCUMENTO_FK */
/*==============================================================*/
create index PERSONAL_TIPO_DOCUMENTO_FK on PERSONAL (
TIPODOC_ID
);

/*==============================================================*/
/* Index: USUARIO_PERSONAL_FK */
/*==============================================================*/
create index USUARIO_PERSONAL_FK on PERSONAL (
USUARIO_ID
);

/*==============================================================*/
/* Table: PREMIO */
/*==============================================================*/
create table PREMIO (
PREMIO_ID CHAR(8) not null,
PROVEEDOR_ID CHAR(8) null,
NOMBRE VARCHAR(100) null,
COSTO_PUNTOS CHAR(3) null,
STOCK CHAR(3) null,
IMAGEN CHAR(254) null,
OBSERVACION VARCHAR(256) null,
constraint PK_PREMIO primary key (PREMIO_ID)
);

/*==============================================================*/
/* Index: PREMIO_PK */
/*==============================================================*/
create unique index PREMIO_PK on PREMIO (
PREMIO_ID
);

/*==============================================================*/
/* Index: PROVEEDOR_PREMIO_FK */
/*==============================================================*/
create index PROVEEDOR_PREMIO_FK on PREMIO (
PROVEEDOR_ID
);
/*==============================================================*/
/* Table: PROVEEDOR */
/*==============================================================*/
create table PROVEEDOR (
PROVEEDOR_ID CHAR(8) not null,
RUC CHAR(11) null,
NOMBRE VARCHAR(30) null,
DIRECCION VARCHAR(60) null,
TELEFONO CHAR(9) null,
PAGINA_WEB VARCHAR(200) null,
constraint PK_PROVEEDOR primary key (PROVEEDOR_ID)
);

/*==============================================================*/
/* Index: PROVEEDOR_PK */
/*==============================================================*/
create unique index PROVEEDOR_PK on PROVEEDOR (
PROVEEDOR_ID
);

/*==============================================================*/
/* Table: TARJETA */
/*==============================================================*/
create table TARJETA (
TARJETA_ID CHAR(8) not null,
PTS_ACTUALES INT4 null,
PTS_ACUMULADOS INT4 null,
NUM_TARJETA CHAR(16) null,
constraint PK_TARJETA primary key (TARJETA_ID)
);

/*==============================================================*/
/* Index: TARJETA_PK */
/*==============================================================*/
create unique index TARJETA_PK on TARJETA (
TARJETA_ID
);

/*==============================================================*/
/* Table: TARJETACLIENTE */
/*==============================================================*/
create table TARJETACLIENTE (
TARCLIENTE_ID CHAR(8) not null,
TARJETA_ID CHAR(8) null,
CLIENTE_ID CHAR(8) null,
constraint PK_TARJETACLIENTE primary key (TARCLIENTE_ID)
);

/*==============================================================*/
/* Index: TARJETACLIENTE_PK */
/*==============================================================*/
create unique index TARJETACLIENTE_PK on TARJETACLIENTE (
TARCLIENTE_ID
);

/*==============================================================*/
/* Index: CLIENTE_TARJETACLIENTE_FK */
/*==============================================================*/
create index CLIENTE_TARJETACLIENTE_FK on TARJETACLIENTE (
CLIENTE_ID
);

/*==============================================================*/
/* Index: TARJETA_CLIENTE_TARJETA_FK */
/*==============================================================*/
create index TARJETA_CLIENTE_TARJETA_FK on TARJETACLIENTE (
TARJETA_ID
);

/*==============================================================*/
/* Table: TIPO_CANJE */
/*==============================================================*/
create table TIPO_CANJE (
TIPOCANJE_ID CHAR(8) not null,
DESCRIPCION VARCHAR(36) null,
ESTADO INT2 null,
constraint PK_TIPO_CANJE primary key (TIPOCANJE_ID)
);

/*==============================================================*/
/* Index: TIPO_CANJE_PK */
/*==============================================================*/
create unique index TIPO_CANJE_PK on TIPO_CANJE (
TIPOCANJE_ID
);

/*==============================================================*/
/* Table: TIPO_DOCUMENTO */
/*==============================================================*/
create table TIPO_DOCUMENTO (
TIPODOC_ID CHAR(8) not null,
DESCRIPCION VARCHAR(45) null,
ESTADO INT2 null,
constraint PK_TIPO_DOCUMENTO primary key (TIPODOC_ID)
);

/*==============================================================*/
/* Index: TIPO_DOCUMENTO_PK */
/*==============================================================*/
create unique index TIPO_DOCUMENTO_PK on TIPO_DOCUMENTO (
TIPODOC_ID
);

/*==============================================================*/
/* Table: USUARIO */
/*==============================================================*/
create table USUARIO (
USUARIO_ID CHAR(8) not null,
PERFIL_ID CHAR(8) null,
NOM_USUARIO VARCHAR(25) null,
CLVE_USUARIO VARCHAR(24) null,
ESTADO INT2 null,
constraint PK_USUARIO primary key (USUARIO_ID)
);

/*==============================================================*/
/* Index: USUARIO_PK */
/*==============================================================*/
create unique index USUARIO_PK on USUARIO (
USUARIO_ID
);

/*==============================================================*/
/* Index: PERFIL_USUARIO_USUARIO_FK */
/*==============================================================*/
create index PERFIL_USUARIO_USUARIO_FK on USUARIO (
PERFIL_ID
);

alter table CANJE


add constraint FK_CANJE_PERSONAL__PERSONAL foreign key (PERSONAL_ID)
references PERSONAL (PERSONAL_ID)
on delete restrict on update restrict;

alter table CANJE


add constraint FK_CANJE_TIPO_CANJ_TIPO_CAN foreign key (TIPO_CANJE)
references TIPO_CANJE (TIPOCANJE_ID)
on delete restrict on update restrict;

alter table CLIENTE


add constraint FK_CLIENTE_TIPO_DOCU_TIPO_DOC foreign key (TIPODOC_ID)
references TIPO_DOCUMENTO (TIPODOC_ID)
on delete restrict on update restrict;

alter table CLIENTE


add constraint FK_CLIENTE_USUARIO_C_USUARIO foreign key (USUARIO_ID)
references USUARIO (USUARIO_ID)
on delete restrict on update restrict;

alter table DETALLE_CANJE


add constraint FK_DETALLE__DETALLE_C_CANJE foreign key (CANJE_ID)
references CANJE (CANJE_ID)
on delete restrict on update restrict;

alter table DETALLE_CANJE


add constraint FK_DETALLE__PREMIO_DE_PREMIO foreign key (PREMIO_ID)
references PREMIO (PREMIO_ID)
on delete restrict on update restrict;

alter table PERSONAL


add constraint FK_PERSONAL_CARGO_PER_CARGO foreign key (CARGO_ID)
references CARGO (CARGO_ID)
on delete restrict on update restrict;

alter table PERSONAL


add constraint FK_PERSONAL_PERSONAL__TIPO_DOC foreign key (TIPODOC_ID)
references TIPO_DOCUMENTO (TIPODOC_ID)
on delete restrict on update restrict;

alter table PERSONAL


add constraint FK_PERSONAL_USUARIO_P_USUARIO foreign key (USUARIO_ID)
references USUARIO (USUARIO_ID)
on delete restrict on update restrict;

alter table PREMIO


add constraint FK_PREMIO_PROVEEDOR_PROVEEDO foreign key (PROVEEDOR_ID)
references PROVEEDOR (PROVEEDOR_ID)
on delete restrict on update restrict;

alter table TARJETACLIENTE


add constraint FK_TARJETAC_CLIENTE_T_CLIENTE foreign key (CLIENTE_ID)
references CLIENTE (CLIENTE_ID)
on delete restrict on update restrict;

alter table TARJETACLIENTE


add constraint FK_TARJETAC_TARJETA_C_TARJETA foreign key (TARJETA_ID)
references TARJETA (TARJETA_ID)
on delete restrict on update restrict;

alter table USUARIO


add constraint FK_USUARIO_PERFIL_US_PERFIL_U foreign key (PERFIL_ID)
references PERFIL_USUARIO (PERFIL_ID)
on delete restrict on update restrict;

También podría gustarte