ScriptBD
From Grupo1 Ahand
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);
LTER 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;