DROP TABLE funcao2 ; CREATE TABLE funcao2 ( codigoFuncao NUMBER NOT NULL, salario NUMBER NOT NULL, cargo VARCHAR2(30) NOT NULL, PRIMARY KEY(codigoFuncao) ); DROP TABLE funcionario; CREATE TABLE funcionario( CPF NUMBER NOT NULL, nome VARCHAR2(50) NOT NULL, codigoFuncao NUMBER NOT NULL, codigoEnd NUMBER NOT NULL, PRIMARY KEY(CPF), FOREIGN KEY(codigoFuncao) REFERENCES funcao2 (codigoFuncao), FOREIGN KEY(codigoEnd) REFERENCES endereco (codigoEnd) ); DROP TABLE empresa; CREATE TABLE empresa( CNPJ NUMBER NOT NULL, nome VARCHAR2(50) NOT NULL, codigoEnd NUMBER NOT NULL, PRIMARY KEY(CNPJ), FOREIGN KEY(codigoEnd) REFERENCES endereco (codigoEnd) ); DROP TABLE cliente; CREATE TABLE cliente ( CNPJ NUMBER NOT NULL, PRIMARY KEY(CNPJ), FOREIGN KEY(CNPJ) REFERENCES empresa (CNPJ) ); DROP TABLE fornecedor; CREATE TABLE fornecedor( CNPJ NUMBER NOT NULL, PRIMARY KEY(CNPJ), FOREIGN KEY(CNPJ) REFERENCES empresa (CNPJ) ); DROP TABLE setor; CREATE TABLE setor( codigoSetor NUMBER NOT NULL, area NUMBER NOT NULL, codigoProd NUMBER NOT NULL, PRIMARY KEY(codigoSetor), FOREIGN KEY(codigoProd) REFERENCES produto (codigoProd) ); commit; ----------------------------------------- DROP TABLE compra; CREATE TABLE compra( CNPJ NUMBER NOT NULL, codigoLote NUMBER NOT NULL, dataCompra DATE NOT NULL, PRIMARY KEY(CNPJ, codigoLote), FOREIGN KEY(CNPJ) REFERENCES cliente (CNPJ), FOREIGN KEY(codigoLote) REFERENCES lote (codigoLote) ); DROP TABLE vende; CREATE TABLE vende( CNPJ NUMBER NOT NULL, codigoItem NUMBER NOT NULL, quantidade NUMBER NOT NULL, dataCompra DATE NOT NULL, PRIMARY KEY(CNPJ, codigoItem), FOREIGN KEY(CNPJ) REFERENCES fornecedor (CNPJ), FOREIGN KEY(codigoItem) REFERENCES item (codigoItem) ); DROP TABLE loteProduto; CREATE TABLE loteProduto( codigoLote NUMBER NOT NULL, codigoProd NUMBER NOT NULL, PRIMARY KEY(codigoLote, codigoProd), FOREIGN KEY(codigoLote) REFERENCES lote (codigoLote), FOREIGN KEY(codigoProd) REFERENCES produto (codigoProd) ); DROP TABLE produtoSetor; CREATE TABLE produtoSetor( codigoSetor NUMBER NOT NULL, codigoProd NUMBER NOT NULL, PRIMARY KEY(codigoSetor, codigoProd), FOREIGN KEY(codigoSetor) REFERENCES setor (codigoSetor), FOREIGN KEY(codigoProd) REFERENCES produto (codigoProd) ); INSERT INTO compra(CNPJ, codigoLote, dataCompra) VALUES (10, 24, '22/09/2008'); INSERT INTO compra(CNPJ, codigoLote, dataCompra) VALUES (10, 24, '22/09/2008'); INSERT INTO vende(CNPJ, codigoItem, quantidade, dataCompra) VALUES (11, 7, 2,'21/09/2008'); INSERT INTO loteProduto(codigoLote, codigoProd) VALUES (24 , 13); INSERT INTO produtoSetor(codigoSetor, codigoProd) VALUES (20 , 13);