ScriptBD

From Grupo1 Ahand

 CREATE TABLE ATENDE (
   ITEM_PEDIDO_PEDIDO_ped_id INTEGER NOT NULL,
   ITEM_PEDIDO_LIVRO_liv_id INTEGER NOT NULL,
   ITEM_SOLICITACAO_sol_id INTEGER NOT NULL,
   ITEM_SOLICITACAO_LIVRO_liv_id INTEGER NOT NULL,
   ate_quantidade INTEGER  ,
   PRIMARY KEY(ITEM_PEDIDO_PEDIDO_ped_id, ITEM_SOLICITACAO_sol_id, ITEM_PEDIDO_LIVRO_liv_id, ITEM_SOLICITACAO_LIVRO_liv_id)
 );
 CREATE TABLE BOLETO (
   bol_id INTEGER NOT NULL ,
   bol_numero INTEGER  ,
   bol_tipo CHAR(1) DEFAULT 'R',
   bol_emissao DATE ,
   bol_vendimento DATE ,
   bol_valor NUMERIC ,
   PRIMARY KEY(bol_id)
 );
 CREATE TABLE CADASTRO (
   cad_id INTEGER NOT NULL ,
   TIPO_CADASTRO_tca_id INTEGER NOT NULL,
   cad_tipo_pessoa CHAR(1) DEFAULT 'F',
   cad_nome VARCHAR(80) ,
   cad_razao_social VARCHAR(100) ,
   cad_cpf_cnpf VARCHAR(18) ,
   cad_email VARCHAR(50) ,
   cad_tel_ddd INTEGER  ,
   cad_tel_numero INTEGER  ,
   cad_end_rua VARCHAR(80) ,
   cad_end_numero INTEGER  ,
   cad_end_complemento VARCHAR(20) ,
   cad_end_bairro VARCHAR(30) ,
   cad_end_cep INTEGER  ,
   cad_end_cidade VARCHAR(30) ,
   cad_end_uf CHAR(2) ,
   PRIMARY KEY(cad_id)
 );
 CREATE TABLE ITEM_PEDIDO (
   PEDIDO_ped_id INTEGER NOT NULL,
   LIVRO_liv_id INTEGER NOT NULL,
   ipe_quantidade INTEGER  ,
   ipe_valor_unitario NUMERIC ,
   ipe_valor_total NUMERIC COMPUTED BY ( ipe_quantidade * ipe_valor_total),
   PRIMARY KEY(PEDIDO_ped_id, LIVRO_liv_id)
 );
 CREATE TABLE ITEM_SOLICITACAO (
   SOLICITACAO_sol_id INTEGER NOT NULL,
   LIVRO_liv_id INTEGER  NOT NULL,
   iso_quantidade INTEGER  ,
   iso_valor_unitario NUMERIC ,
   iso_valor_total NUMERIC COMPUTED BY ( iso_quantidade * iso_valor_total),
   PRIMARY KEY(SOLICITACAO_sol_id, LIVRO_liv_id)
 );
 CREATE TABLE LIVRO (
   liv_id INTEGER NOT NULL ,
   CADASTRO_cad_id INTEGER NOT NULL,
   TEMA_tem_id INTEGER  NOT NULL,
   lib_isbn INTEGER  ,
   liv_titulo VARCHAR(100) ,
   liv_autor VARCHAR(75) ,
   liv_keywords VARCHAR(100) ,
   liv_edicao INTEGER  ,
   liv_paginas INTEGER  ,
   liv_estoque INTEGER ,
   PRIMARY KEY(liv_id)
 );
 CREATE TABLE PEDIDO (
   ped_id INTEGER NOT NULL ,
   CADASTRO_cad_id INTEGER NOT NULL,
   ped_numero INTEGER  ,
   ped_data DATE ,
   ped_tipo CHAR(1) DEFAULT 'V',
   ped_prazo_entrega INTEGER  ,
   PRIMARY KEY(ped_id)
 );
 CREATE TABLE PEDIDO_BOLETO (
   PEDIDO_ped_id INTEGER NOT NULL,
   BOLETO_bol_id INTEGER NOT NULL,
   PRIMARY KEY(PEDIDO_ped_id, BOLETO_bol_id)
 );
 CREATE TABLE SOLICITACAO (
   sol_id INTEGER NOT NULL ,
   CADASTRO_cad_id INTEGER NOT NULL,
   sol_numero INTEGER ,
   sol_data DATE ,
   sol_tipo INTEGER DEFAULT 'C',
   PRIMARY KEY(sol_id)
 );
 CREATE TABLE TEMA (
   tem_id INTEGER  NOT NULL ,
   tem_nome VARCHAR(45) ,
   tem_descricao VARCHAR(255) ,
   PRIMARY KEY(tem_id)
 );
 CREATE TABLE TIPO_CADASTRO (
   tca_id INTEGER  NOT NULL ,
   tca_nome VARCHAR(30) ,
   tca_descricao VARCHAR(100) ,
   PRIMARY KEY(tca_id)
 );
 ALTER TABLE CADASTRO ADD CONSTRAINT FK1_CADASTRO
 FOREIGN KEY (tipo_cadastro_tca_id) REFERENCES TIPO_CADASTRO (tca_id) ;
 ALTER TABLE LIVRO ADD CONSTRAINT FK1_LIVRO
 FOREIGN KEY (CADASTRO_CAD_ID) REFERENCES CADASTRO (CAD_ID);
 ALTER TABLE LIVRO ADD CONSTRAINT FK2_LIVRO
 FOREIGN KEY (TEMA_TEM_ID) REFERENCES TEMA (TEM_ID);
 ALTER TABLE SOLICITACAO ADD CONSTRAINT FK1_SOLICITACAO
 FOREIGN KEY (CADASTRO_CAD_ID) REFERENCES CADASTRO (CAD_ID);
 ALTER TABLE PEDIDO ADD CONSTRAINT FK1_PEDIDO
 FOREIGN KEY (CADASTRO_CAD_ID) REFERENCES CADASTRO (CAD_ID);
 ALTER TABLE PEDIDO_BOLETO ADD CONSTRAINT FK1_PEDIDO_BOLETO
 FOREIGN KEY (PEDIDO_PED_ID) REFERENCES PEDIDO (PED_ID) ON DELETE CASCADE;
 ALTER TABLE PEDIDO_BOLETO ADD CONSTRAINT FK2_PEDIDO_BOLETO
 FOREIGN KEY (BOLETO_BOL_ID) REFERENCES BOLETO (BOL_ID) ON DELETE CASCADE;
 ALTER TABLE ITEM_SOLICITACAO ADD CONSTRAINT FK1_ITEM_SOLICITACAO
 FOREIGN KEY (SOLICITACAO_SOL_ID) REFERENCES SOLICITACAO (SOL_ID) ON DELETE CASCADE;
 ALTER TABLE ITEM_SOLICITACAO ADD CONSTRAINT FK2_ITEM_SOLICITACAO
 FOREIGN KEY (LIVRO_LIV_ID) REFERENCES LIVRO (LIV_ID);
 ALTER TABLE ATENDE ADD CONSTRAINT FK1_ATENDE
 FOREIGN KEY (ITEM_PEDIDO_PEDIDO_ped_id, ITEM_PEDIDO_LIVRO_liv_id) REFERENCES ITEM_PEDIDO (PEDIDO_ped_id, LIVRO_liv_id) ON DELETE CASCADE;
 ALTER TABLE ATENDE ADD CONSTRAINT FK2_ATENDE
 FOREIGN KEY (ITEM_SOLICITACAO_sol_id, ITEM_SOLICITACAO_LIVRO_liv_id) REFERENCES ITEM_SOLICITACAO (SOLICITACAO_sol_id, LIVRO_liv_id) ON DELETE CASCADE;
 ALTER TABLE ITEM_PEDIDO ADD
 CONSTRAINT FK1_ITEM_PEDIDO FOREIGN KEY (PEDIDO_PED_ID) REFERENCES PEDIDO (PED_ID) ON DELETE CASCADE;
 ALTER TABLE ITEM_PEDIDO ADD
 CONSTRAINT FK2_ITEM_PEDIDO FOREIGN KEY (LIVRO_LIV_ID) REFERENCES LIVRO (LIV_ID);
 /*
 CREATE INDEX ITEM_PEDIDO_has_ITEM_1 ON ATENDE (ITEM_PEDIDO_PEDIDO_ped_id,ITEM_PEDIDO_LIVRO_liv_id);
 CREATE INDEX ITEM_PEDIDO_has_ITEM_2 ON ATENDE (ITEM_SOLICITACAO_sol_id,ITEM_SOLICITACAO_LIVRO_liv_id);
 CREATE INDEX CADASTRO_FKIndex1 ON CADASTRO (TIPO_CADASTRO_tca_id);
 CREATE INDEX PRODUTO_has_PEDIDO_FKIndex1 ON ITEM_PEDIDO (LIVRO_liv_id);
 CREATE INDEX PRODUTO_has_PEDIDO_FKIndex2 ON ITEM_PEDIDO (PEDIDO_ped_id);
 CREATE INDEX SOLICIT_has_PRODUTO_FKIndex1 ON ITEM_SOLICITACAO (SOLICITACAO_sol_id) ;
 CREATE INDEX SOLICIT_has_PRODUTO_FKIndex2 ON ITEM_SOLICITACAO (LIVRO_liv_id) ;
 CREATE INDEX PRODUTO_FKIndex2 ON LIVRO (TEMA_tem_id);
 CREATE INDEX LIVRO_FKIndex2 ON LIVRO (CADASTRO_cad_id);
 CREATE INDEX PEDIDO_FKIndex1 ON PEDIDO (CADASTRO_cad_id);
 CREATE INDEX PEDIDO_has_BOLETO_FKIndex1 ON PEDIDO_BOLETO (PEDIDO_ped_id);
 CREATE INDEX PEDIDO_has_BOLETO_FKIndex2 ON PEDIDO_BOLETO (BOLETO_bol_id);
 CREATE INDEX SOLICITACAO_FKIndex1 ON SOLICITACAO (CADASTRO_cad_id);
 */
Personal tools