Você está na página 1de 11

Projeto de Banco de Dados

Equipe: Arthur Felipe afaf Flvio Arajo - fpa2 Rafael Aroxa - rma5 Sergio Barza - sb

Sumrio
Sumrio................................................................................................................................2 Introduo............................................................................................................................3 Escopo do Documento.........................................................................................................4 Diagrama E/R Final.............................................................................................................5 Diagramas UML..................................................................................................................6 Scripts SQL..........................................................................................................................7 7.1. Criao de Tabelas....................................................................................................7 7.2.Inseres....................................................................................................................9

Introduo

Este software tem como finalidade o gerenciamento de contratos e a superviso do cumprimento dos mesmos. O objetivo do sistema armazenar as informaes dos produtos comprados pelo Hospital das Clnicas (HC). Os produtos so comprados a um fornecedor do HC e so enviados para o hospital sob demanda. O pedido feito formalmente atravs de uma nota de empenho, em que especificada a quantidade (se houver), tendo os limites sido estabelecidos previamente no contrato. Devem-se ento armazenar os dados do produto comprado nome, quantidade... assim com os dados da empresa da qual se comprou nome... , os dados do pedido, os dados do contrato, dos funcionrios do HC que tm autorizao para firmar contratos CPF, nome.... e do representante da empresa contratada. Sero tambm armazenados dados de uma categoria especial, a ocorrncia, que pode ser a assinatura de um contrato ou a entrega de um produto.

Escopo do Documento
Este documento tem como finalidade apesentar uma viso geral das funcionalidades do sistema, fornecendo detalhes de sua implementao por meio do diagrama UML e do modelo E/R, assim como definir algumas caractersticas de tecnologia utilizada no desenvolvimento e as manipulaes de dados realizadas. Os 3 principais componentes deste escopo so: O diagrama E/R final do nosso banco de dados: onde descrito todo o modelo conceitual servido como base para a manipulao de dados pelo sistema. Define as tabelas que devem ser inseridas e as relaes propostas entre os tipos de dados. O diagrama UML dos requisitos funcionais do sistema: onde esto descritas as funcionalidades oferecidas pelo sistema na forma de requisitos funcionais. Os scripts SQL que foram implementados no banco de dados do sistema: so exibidos os cdigos SQL utilizados para a construo do banco de dados, subdivididos em inseres, remoes, atualizaes e funes.

Diagrama E/R Final


Abaixo temos a imagem do diagrama E/R final do sistema. O banco de dados foi implementado utilizando o SQLServer.

Figura 1- Diagrama E/R Final

Diagramas UML
Segue abaixo o diagrama UML final referente aos requisitos funcionais implementados no sistema.

Figura 2- Diagramas UML

Scripts SQL
Apresentamos nesta seo os scripts SQL usados na construo do banco de dados. Estes cdigos so referentes ao modelo apresentado no diagrama E/R da seo 5.

7.1. Criao de Tabelas


Seguem os scripts de cirao de tabelas. 1.1.1. Contato CREATE TABLE Contato ( idContato number, nome varchar2 (30), CPF number, email varchar2 (30), celular number, telefone number, CONSTRAINT contato_pkey PRIMARY KEY (idContrato) ) 1.1.2. Fornecedor CREATE TABLE Fornecedor ( idFornecedor number, nomeFantasia varchar2 (30), CNPJ number, idContato number, cidade varchar2 (20), CEP number(5,3), rua varchar2 (20), estado varchar2 (20), complemento varchar2 (20), numero varchar2 (20), bairro varchar2 (20), CONSTRAINT Fornecedor_pkey1 PRIMARY KEY (idFornecedor), CONSTRAINT Fornecedor_fkey1 FOREIGN KEY REFERENCES Contato (idContrato)); )

1.1.3.

Contrato 7

CREATE TABLE Contrato ( idContrato number, numero number, data inicio date, duraco number, idFuncionario number, idFornecedor number, CONSTRAINT Contrato_pkey1 PRIMARY KEY (idContrato), CONSTRAINT Contrato_fkey1 FOREIGN KEY REFERENCES Funcionario (idFuncionario)), CONSTRAINT Contrato_fkey1 FOREIGN KEY REFERENCES Fornecedor (idFornecedor)); ) 1.1.4. Funcionrio CREATE TABLE Funcionario ( idFuncionario number, nome varchar2 (20), senha number, SIAPE number, login varchar2 (20), telefone number, email varchar2 (20), CONSTRAINT Funcionario_pkey1 PRIMARY KEY (idFuncionario) )

1.1.5. Nota de Empenho CREATE TABLE NotaDeEmpenho ( idNota number, data date, quantidade number, idItem number, CONSTRAINT NotaDeEmpenho_pkey1 PRIMARY KEY (idNota), CONSTRAINT NotaDeEmpenho_fkey1 FOREIGN KEY REFERENCES Contrato (idContrato)); )

1.1.6.

Item 8

CREATE TABLE Item ( idItem number, cod. br number, cod. hc number, quantidade number, nome varchar2 (20), valor number, status varchar2 (20), idContrato number, CONSTRAINT Item_pkey1 PRIMARY KEY (idItem), CONSTRAINT Item_fkey1 FOREIGN KEY REFERENCES Contrato (idContrato)); )

1.1.7. Ocorrncia CREATE TABLE Ocorrencia ( idOcorrencia number, status varchar2 (20), prazo para encerra number, descrio varchar2 (20), data inicio number, observacao varchar2 (20), idContrato number, CONSTRAINT Ocorrencia_pkey1 PRIMARY KEY (idOcorrencia), CONSTRAINT Ocorrencia_fkey1 FOREIGN KEY REFERENCES Contrato (idContrato)); )

7.2. Inseres
Seguem os scripts de insero de dados. 9

1.1.8.

Funcionrio

INSERT INTO Funcionario (nome,login,senha,SIAPE,telefone,email) VALUES ('" + funcionario.Nome + "','" + funcionario.Login + "','" + funcionario.Senha + "'," + funcionario.Siape + ",'" + funcionario.Telefone + "','" +funcionario.Email + "')

1.1.9.

Fornecedor

INSERT INTO Fornecedor (nomeFantasia, CNPJ, idContato, cidade, CEP, rua, estado, complemento, numero, bairro) VALUES ('" + fornecedor.Nome + "','" + fornecedor.Cnpj + "', (SELECT IdContato FROM Contato WHERE CPF = " + fornecedor.IdContato + " AND nome = '" + fornecedor.NomeContato + "'),'" + fornecedor.Endereco.Cidade + "','" + fornecedor.Endereco.Cep + "','" + fornecedor.Endereco.Rua + "','" + fornecedor.Endereco.Estado + "','" + fornecedor.Endereco.Comp + "'," + fornecedor.Endereco.Numero + ",'" + fornecedor.Endereco.Bairro + "')

1.1.10.

Contrato

INSERT INTO Contrato (numero, data, duracao, idFonercedor, idFuncionario) VALUES (" + contrato.Numero + "," + "'" + contrato.DataInicio + "', " + contrato.Duracao + ", (SELECT idFornecedor FROM Fornecedor WHERE CNPJ LIKE " + "'" + contrato.IdForncedor + "'), (SELECT idFuncionario FROM Funcionario WHERE SIAPE = " + contrato.IdFuncionario + "));

1.1.11.

Contato

INSERT INTO Contato (nome,CPF,email,telefone,celular) VALUES ('" + contato.Nome + "'," + contato.Cpf + ",'" + contato.Email + "','" + contato.Telefone + "','" + contato.Celular + "')

1.1.12.

Item

INSERT INTO Item (codBR,codHC,quantidade,nome,valor,status,idContrato) VALUES (" + item.CodHc+ "," + item.CodHc + "," + item.Quantidade + ",'" + item.Nome + "'," + item.Valor + ",'" + item.Status + "', (SELECT idContrato FROM Contrato WHERE numero = " + item.IdContrato + "))

1.1.13.

Nota de Empeho

INSERT INTO NotaEmpenho (data,quantidade,idItem) VALUES ('" + notaDeEmpenho.Data + "'," + notaDeEmpenho.Quantidade + "," + "(SELECT idItem FROM Item WHERE nome = '" + notaDeEmpenho.NomeItem + "' AND codBr = " + notaDeEmpenho.NumeroContrato + ")" + ")

1.1.14.

Ocorrncia

INSERT INTO Ocorrencia (status, prazo, descricao, data, observacao, idContrato) VALUES ('" + ocorrencia.Status + "'," + ocorrencia.Prazo + ",'" + ocorrencia.Descricao + "','" + ocorrencia.Data + "','" + ocorrencia.Observacao + "',

10

(SELECT idContrato FROM Contrato WHERE numero = " + ocorrencia.Contrato + "))

11

Você também pode gostar