Você está na página 1de 6

UNIVERSIDADE DO ESTADO DA BAHIA – UNEB

LICENCIATURA EM COMPUTAÇÃO

Curso: Licenciatura em Ciências da Computação


Componente
curricular: Banco de Dados

Docente Profº Isaac Douglas Moreira

Projeto de Banco de Dados e acesso SQL


Exercício Resolvido

Uma Clínica Veterinária precisa de um sistema para controlar suas atividades. O gerente
da clínica ao ser entrevistado indicou a necessidade de acompanhamento das atividades
dos médicos veterinários, em relação aos seus atendimentos.
Todos os médicos são empregados da Clínica, que mantem cadastro com seus CRMV,
Nome, Telefone e Data de Admissão.
Todos os clientes que utilizam a clínica também precisam ser cadastrados assim como
seus respectivos animais que são levados para algum tipo de serviço na clínica. Os
serviços oferecidos são de Consulta ou de Procedimento.
Dos clientes, é necessário manter dados como: CPF, Nome, Telefone e Bairro, para os
animais, a clínica precisa do registro de Código, Nome, Espécie, Raça e Idade, sendo que
cada animal estará sempre associado a um único dono, enquanto que uma pessoa pode
possuir diversos animais atendidos pela Clínica.
Quando realizada uma consulta, é necessário registrar o CRMV do médico, o Código do
animal atendido, a data em que foi realizada a consulta e também o valor dessa consulta.
No caso de Procedimento, devem ser registrados o CRMV do médico, o Código do
animal, a data do procedimento, o tipo de procedimento que foi realizado e também o
valor cobrado por esse procedimento.
UNIVERSIDADE DO ESTADO DA BAHIA – UNEB

LICENCIATURA EM COMPUTAÇÃO

Curso: Licenciatura em Ciências da Computação


Componente
curricular: Banco de Dados

Docente Profº Isaac Douglas Moreira

RESOLUÇÃO

Requisitos Funcionais:
O Sistema deve cadastrar médicos veterinários
O Sistema deve cadastrar médicos clientes
O Sistema deve cadastrar médicos animais
Todos os animais devem ser associados aos seus donos
As consultas devem ser registradas no sistema
Os procedimentos devem ser registrados no sistema
O gerente pode consultar dados no sistema

Entidades
Cliente (CPF, Nome, Telefone, Bairro)
Veterinário (CRMV, Nome, Telefone, DataAdmissão)
Animal (Codigo, Nome, Especie, Raça, Idade)
UNIVERSIDADE DO ESTADO DA BAHIA – UNEB

LICENCIATURA EM COMPUTAÇÃO

Curso: Licenciatura em Ciências da Computação


Componente
curricular: Banco de Dados

Docente Profº Isaac Douglas Moreira

Construção do DER
Será utilizada a abordagem INSIDE-OUT, onde é selecionada inicialmente uma entidade
“importante” na aplicação e, a partir daí todas as entidades que se relacionam com ela,
a partir dos requisitos identificados, são conectadas através dos Relacionamentos. Esse
passo vai se repetindo seguidamente, para todas as Entidades no segundo nível, e assim
em diante, até que se contemplem todas as Entidades.

A figura a seguir ilustra o processo.


UNIVERSIDADE DO ESTADO DA BAHIA – UNEB

LICENCIATURA EM COMPUTAÇÃO

Curso: Licenciatura em Ciências da Computação


Componente
curricular: Banco de Dados

Docente Profº Isaac Douglas Moreira

Criando o DER da aplicação Veterinária – Passo a passo


UNIVERSIDADE DO ESTADO DA BAHIA – UNEB

LICENCIATURA EM COMPUTAÇÃO

Curso: Licenciatura em Ciências da Computação


Componente
curricular: Banco de Dados

Docente Profº Isaac Douglas Moreira

Mapeamentos de ER para Relaciional


Cliente (CPF, Nome, Telefone, Bairro)
Veterinário (CRMV, Nome, Telefone, DataAdmissão)
Animal (Codigo, Nome, Especie, Raça, Idade, CPFCliente)
Consulta (CRMV, CodigoAnimal, Data, ValorConsulta)
Procedimento (CRMV, CodigoAnimal, Data, Tipo, Valor)

Tabelas Relacionais (Scripts em SQL)


Create Table Cliente
(CPF Number Not Null,
Nome Varchar2(40) Not Null,
Telefone Varchar2(18),
Bairro Varchar2(30),
Constraint PkCliente Primary Key (CPF));

Create Table Animal


(Codigo Number Not Null,
Nome Varchar2(40) Not Null,
Especie Varchar2(30) Not Null,
Raça Varchar2(30) Not Null,
Idade Int,
CPFCliente Number Not Null,
Constraint PkAnimal Primary Key (Codigo),
Constraint FKProp1 Foreign Key (CPFCliente) References Cliente (CPF));

Create Table Veterinario


(CRMV Number Not Null,
Nome Varchar(40) Not Null,
Telefone Varchar2(18),
DataAdmissão Date,
Constraint PkVet Primary Key (CRMV));

Create Table Consulta


(CRMV Number Not Null,
CodigoAnimal Number Not Null,
UNIVERSIDADE DO ESTADO DA BAHIA – UNEB

LICENCIATURA EM COMPUTAÇÃO

Curso: Licenciatura em Ciências da Computação


Componente
curricular: Banco de Dados

Docente Profº Isaac Douglas Moreira

Data Date,
ValorConsulta Number (10,2),
Constraint PKAtend Primary Key (CRMV, CodigoAnimal, Data),
Constraint FKAtend1 Foreign Key (CRMV) References Veterinario (CRMV),
Constraint FKAtend2 Foreign Key (CodigoAnimal) References Animal (Codigo));

Create Table Procedimento


(CRMV Number Not Null,
CodigoAnimal Number Not Null,
Data Date,
Tipo Varchar2(40),
Valor Number (10,2),
Constraint PKProced Primary Key (CRMV, CodigoAnimal, Data),
Constraint FKProced1 Foreign Key (CRMV) References Veterinario (CRMV),
Constraint FKProced2 Foreign Key (CodigoAnimal) References Animal (Codigo));

OBS. Você encontra no ambiente do AVA os Scripts para criação do Banco de Dados para
essa aplicação e também um Script com Dados que podem ser inicialmente usados para
Testes. Os arquivos são Tabelas Veterinária e Dados Veterinária.

Você também pode gostar