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_PEDIDO_ped_id INTEGER NOT NULL,
-
  ITEM_SOLICITACAO_sol_id INTEGER NOT NULL,
+
ITEM_SOLICITACAO_sol_id INTEGER NOT NULL,
-
  ITEM_PEDIDO_LIVRO_liv_id INTEGER NOT NULL,
+
ITEM_PEDIDO_LIVRO_liv_id INTEGER NOT NULL,
-
  ITEM_SOLICITACAO_LIVRO_liv_id INTEGER NOT NULL,
+
ITEM_SOLICITACAO_LIVRO_liv_id INTEGER NOT NULL,
-
  ate_quantidade INTEGER  ,
+
ate_quantidade INTEGER  ,
-
  PRIMARY KEY(ITEM_PEDIDO_PEDIDO_ped_id, ITEM_SOLICITACAO_sol_id, ITEM_PEDIDO_LIVRO_liv_id, ITEM_SOLICITACAO_LIVRO_liv_id)
+
PRIMARY KEY(ITEM_PEDIDO_PEDIDO_ped_id, ITEM_SOLICITACAO_sol_id, ITEM_PEDIDO_LIVRO_liv_id, ITEM_SOLICITACAO_LIVRO_liv_id)
);
);

Revision as of 00:19, 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);

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