ScriptBD

From Grupo1 Ahand

Revision as of 00:22, 16 December 2006 by 201.53.222.118 (Talk)
 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;
Personal tools