ScriptBD

From Grupo1 Ahand

(Difference between revisions)
Line 110: Line 110:
-
   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_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 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 CADASTRO_FKIndex1 ON CADASTRO (TIPO_CADASTRO_tca_id);

Revision as of 00:25, 16 December 2006

 CREATE TABLE ATENDE (
 ITEM_PEDIDO_PEDIDO_ped_id INTEGER NOT NULL,
 ITEM_SOLICITACAO_sol_id INTEGER NOT NULL,
 ITEM_PEDIDO_LIVRO_liv_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 ,
 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 ,
 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  ,
 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)
 );


 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);


 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_SOLICITACAO
 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);
 ALTER TABLE PEDIDO_BOLETO ADD CONSTRAINT FK2_PEDIDO_BOLETO
 FOREIGN KEY (BOLETO_BOL_ID) REFERENCES BOLETO (BOL_ID);
 ALTER TABLE ITEM_SOLICITACAO ADD CONSTRAINT FK1_ITEM_SOLICITACAO
 FOREIGN KEY (SOLICITACAO_SOL_ID) REFERENCES SOLICITACAO (SOL_ID);
 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) REFERENCES ITEM_PEDIDO (PEDIDO_PED_ID);
 ALTER TABLE ATENDE ADD CONSTRAINT FK2_ATENDE
 FOREIGN KEY (ITEM_SOLICITACAO_SOL_ID) REFERENCES ITEM_SOLICITACAO (SOLICITACAO_SOL_ID);
 ALTER TABLE ATENDE ADD CONSTRAINT FK3_ATENDE
 FOREIGN KEY (ITEM_PEDIDO_LIVRO_LIV_ID) REFERENCES ITEM_PEDIDO (LIVRO_LIV_ID);
 ALTER TABLE ATENDE ADD CONSTRAINT FK4_ATENDE
 FOREIGN KEY (ITEM_SOLICITACAO_LIVRO_LIV_ID) REFERENCES ITEM_SOLICITACAO (LIVRO_LIV_ID);
 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) ON DELETE CASCADE;
Personal tools