ScriptBD
From Grupo1 Ahand
(Difference between revisions)
Line 1: | Line 1: | ||
CREATE TABLE ATENDE ( | 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 ( | 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 ( | 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 ( | 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 ( | 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 ( | 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 ( | 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 ( | 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 ( | 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 ( | CREATE TABLE TEMA ( | ||
- | + | tem_id INTEGER NOT NULL , | |
- | + | tem_nome VARCHAR(45) , | |
- | + | tem_descricao VARCHAR(255) , | |
- | + | PRIMARY KEY(tem_id) | |
); | ); | ||
CREATE TABLE TIPO_CADASTRO ( | 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 | ALTER TABLE CADASTRO ADD CONSTRAINT FK1_CADASTRO | ||
Line 149: | Line 121: | ||
FOREIGN KEY (CADASTRO_CAD_ID) REFERENCES CADASTRO (CAD_ID); | FOREIGN KEY (CADASTRO_CAD_ID) REFERENCES CADASTRO (CAD_ID); | ||
- | ALTER TABLE PEDIDO ADD CONSTRAINT | + | ALTER TABLE PEDIDO ADD CONSTRAINT FK1_PEDIDO |
FOREIGN KEY (CADASTRO_CAD_ID) REFERENCES CADASTRO (CAD_ID); | FOREIGN KEY (CADASTRO_CAD_ID) REFERENCES CADASTRO (CAD_ID); | ||
Line 162: | Line 134: | ||
ALTER TABLE ITEM_SOLICITACAO ADD CONSTRAINT FK2_ITEM_SOLICITACAO | ALTER TABLE ITEM_SOLICITACAO ADD CONSTRAINT FK2_ITEM_SOLICITACAO | ||
- | FOREIGN KEY (LIVRO_LIV_ID) REFERENCES LIVRO (LIV_ID) | + | FOREIGN KEY (LIVRO_LIV_ID) REFERENCES LIVRO (LIV_ID); |
ALTER TABLE ATENDE ADD CONSTRAINT FK1_ATENDE | ALTER TABLE ATENDE ADD CONSTRAINT FK1_ATENDE | ||
- | FOREIGN KEY ( | + | 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 | ALTER TABLE ATENDE ADD CONSTRAINT FK2_ATENDE | ||
- | FOREIGN KEY ( | + | 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 | ALTER TABLE ITEM_PEDIDO ADD | ||
Line 180: | Line 146: | ||
ALTER TABLE ITEM_PEDIDO ADD | ALTER TABLE ITEM_PEDIDO ADD | ||
- | CONSTRAINT FK2_ITEM_PEDIDO FOREIGN KEY (LIVRO_LIV_ID) REFERENCES LIVRO (LIV_ID) ON | + | 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); | ||
+ | */ |
Revision as of 01:06, 16 December 2006
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 , 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 , 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); */