Instituto Federal de Educação, Ciência e
Tecnologia de São Paulo - IFSP
Campus de Caraguatatuba
Tecnólogo em Análise e Desenvolvimento de Sistemas
10 Semestre de 2013
Banco de Dados I – BD I
Prof. Lineu Mialaret
Aula 6: Modelo Entidade Relacionamento (3)
Banco de Dados I
Aula 6 - 1
©Prof. Lineu Mialaret
Elementos do MER
 Um Modelo Entidade Relacionamento - MER consiste dos
seguintes elementos:
 Diagramas,
 Os quais contém Entidades (Supertipos e Subtipos, por exemplo),
Atributos, Relacionamentos; e
 Informações Complementares não Diagramáticas (Dicionário de
Dados),
 As quais representam descrições das Entidades e dos Atributos,
Formatos, Valores Admissíveis, Domínios, e Regras de Negócio.
Banco de Dados I
Aula 6 - 2
©Prof. Lineu Mialaret
Identificando e Modelando as Entidades
 Os passos descritos abaixo ajudam a identificar e modelar
entidades, a partir de anotações de uma entrevista ou outra
documentação qualquer (ou supondo que tenha sido realizada
a Etapa de Especificação e produzido também o Modelo
Funcional):
 Examinar cada substantivo do contexto.
 Quais são os substantivos significativos para o domínio de
negócio?
 Nomear (dar nomes significativos) as entidades descobertas e
identificar alguns de seus atributos, bem como os componentes
que farão parte de chaves.
 Essas entidades relacionam-se com outras?
 Quais são esses esses relacionamentos e suas cardinalidades?
 Eles possuem atributos?
Banco de Dados I
Aula 6 - 3
©Prof. Lineu Mialaret
Exemplo de Modelagem (Chen) V 1.0
Uma locadora de veículos tem uma agência, a qual possui
vários automóveis usados para alugar. Os automóveis são
classificados pelo seu porte (pequeno, médio e grande) e
têm um preço do aluguel (R$/dia) definido pelo porte. A
locadora precisa armazenar os dados de seus veículos e
movimentações financeiras, bem como seus clientes
devem ter sua informações (nome, CPF,
endereço e
telefone) disponibilizadas de forma permanente.
Banco de Dados I
Aula 6 - 4
©Prof. Lineu Mialaret
1- Identificar Entidades
Agencia
Automovel
Cliente
Banco de Dados I
Aula 6 - 5
©Prof. Lineu Mialaret
2 - Identificar Atributos
codigo
nome
placa
endereco
Agencia
codigo
marca
Automovel
nome
Porte
Cliente
tipo
cpf
Banco de Dados I
endereco
preco
telefone
Aula 6 - 6
©Prof. Lineu Mialaret
3 - Identificar Chaves
codigo
nome
placa
endereco
Agencia
codigo
marca
Automovel
nome
Porte
Cliente
tipo
cpf
Banco de Dados I
endereco
preco
telefone
Aula 6 - 7
©Prof. Lineu Mialaret
4 - Identificar Relacionamentos
codigo
nome
placa
endereco
tem
Agencia
marca
Automovel
tem
possui
aluga
codigo
Porte
nome
Cliente
tipo
cpf
Banco de Dados I
endereco
preco
telefone
Aula 6 - 8
©Prof. Lineu Mialaret
5 - Identificar Cardinalidades
codigo
nome
placa
endereco
tem
Agencia
marca
Automovel
tem
possui
aluga
codigo
Porte
nome
Cliente
tipo
cpf
Banco de Dados I
endereco
telefone
Aula 6 - 9
preco
©Prof. Lineu Mialaret
6 - Identificar Atributos de Relacionamentos
codigo
nome
placa
endereco
tem
Agencia
marca
Automovel
valor_pago
tem
possui
aluga
codigo
data_inicio
nome
data_fim
Porte
Cliente
tipo
cpf
Banco de Dados I
endereco
preco
telefone
Aula 6 - 10
©Prof. Lineu Mialaret
Exercício 1 - Contexto de Negócio
Um hospital emprega vários médicos e enfermeiras. Cada
médico é auxiliado por uma ou mais enfermeiras, e ele
atende um ou mais pacientes no seu turno de trabalho.
Para cada paciente atendido, o médico receita um
tratamento, que pode ou não utilizar medicamentos.
Banco de Dados I
Aula 6 - 11
©Prof. Lineu Mialaret
Exercício 2 - Contexto de Negócio
Uma empresa de treinamento oferece vários cursos na
área de informática. Cada curso tem código, nome e
preço. Os cursos têm a duração de uma, duas ou três
semanas. Um professor pode lecionar em vários cursos.
Cada curso é ministrado por apenas um professor. Um
aluno pode matricular-se em vários cursos. A empresa
precisa registrar nome e telefone de cada aluno e de
cada professor.
Banco de Dados I
Aula 6 - 12
©Prof. Lineu Mialaret
Exercício 3 - Contexto de Negócio
“Eu sou o Diretor de Recursos Humanos de uma grande
Empresa.
Precisamos manter informações sobre os
nossos empregados tais como: nome, cargo, data de
admissão e salário.
Alguns dos Empregados são Gerentes. Freqüentemente
precisamos saber qual é o Gerente de determinado
Empregado
e
quais
Empregados
estão
sob
responsabilidade de determinado Gerente.
A Empresa é dividida em Departamentos. Cada
Empregado é designado para um dos Departamentos.
Precisamos saber a localização desse Departamento.”
Banco de Dados I
Aula 6 - 13
©Prof. Lineu Mialaret
Exercício 4 - Contexto de Negócio
“Nossa empresa vende produtos para todo o país. Ela está dividida em em
quatro regiões de vendas: Norte, Sul, Leste e Oeste. Cada região é dividida
por sua vez em distritos.
Cada distrito é segmentado em territórios e cada território está separado
em áreas de vendas.
Nós temos vendedores que são responsáveis por uma ou mais áreas e
possuem uma cota de venda específica.
Também temos gerentes que são responsáveis por um ou mais distritos e
pelos territórios dentro deles. Diretores de vendas são responsáveis por
uma ou mais regiões. ”
Banco de Dados I
Aula 6 - 14
©Prof. Lineu Mialaret
Exercício 5 - Contexto de Negócio
“Nossa empresa aluga pequenos caminhões e utilitários. Nós possuímos 347
escritórios em todo o território nacional e a nossa frota é de 5.780 veículos. Cada
escritório tem um nome próprio e um código numérico com 3 dígitos. Cada
escritório pode possuir vários veículos sob sua responsabilidade, mas cada
veículo deve pertencer a apenas um único escritório.
A empresa trabalha com cinco tipos diferentes de veículos: caminhões
pequenos, médios e grandes, e utilitários cabine simples e dupla. Cada tipo
possui código próprio. Nós precisamos manter informações sobre a data da
última manutenção e a data do vencimento do registro para todos os veículos.
Para os caminhões precisamos saber ainda a leitura do hodômetro, a
capacidade do tanque e se possui rádio ou não. Nossa empresa aluga veículos
para pessoas físicas ou para outras empresas e para cada veículo alugado é
efetuado um contrato.
Das empresas locatárias precisamos armazenar apenas o nome e o endereço.
Das pessoas físicas precisamos armazenar o nome, endereço, telefone e o
número da habilitação.
Cada contrato de aluguel é identificado pelo número do escritório de origem mais
um número de identificação do contrato. Nós precisamos armazenar também a
data do aluguel, a duração provável, o escritório de retirada, o escritório para
entrega, o depósito efetuado e as taxas diárias e por quilômetro.”
Banco de Dados I
Aula 6 - 15
©Prof. Lineu Mialaret
Exercício 6 - Contexto de Negócio
“Hospitais são formados por um ou mais Ambulatórios e cada um
destes está em um único Hospital. Médicos clinicam em um
único Hospital, cada um deles agregando vários Médicos.
Hospitais solicitam exames clínicos em vários Laboratórios, e
cada um destes pode ter solicitações de vários Hospitais.
Pacientes consultam vários Médicos, e estes são consultados por
vários Pacientes. Ambulatórios atendem vários Pacientes,
enquanto que estes só podem ser atendidos em um único
Ambulatório. Pessoal de apoio está alocado a cada Ambulatório,
e cada um destes conta com vários integrantes do Pessoal de
apoio. Pacientes realizam vários Exames, e cada Exame é
realizado por um único Paciente. Laboratórios fazem vários
Exames, e cada um dos Exames é feito em um único Laboratório.
Cada Paciente pode receber vários Diagnósticos, e cada
Diagnóstico é de um único Paciente.”
Banco de Dados I
Aula 6 - 16
©Prof. Lineu Mialaret
Exercício 7 - Contexto de Negócio
“Uma companhia é organizada em departamentos e cada um
destes tem um nome, um número e um empregado que o
gerencia. Deseja-se armazenar a data na qual o empregado
começou a gerenciar o departamento.
Um departamento pode estar em vários locais. Um departamento
controla uma quantidade de projetos, os quais possuem número,
nome e um único local.
Um empregado é caracterizado por um número de matrícula,
nome, sexo e salário. Ele está associado a um departamento mas
pode trabalhar em vários projetos que não necessariamente são
controlados pelo mesmo departamento.
Deseja-se armazenar o número de horas que um empregado
trabalha em um projeto e o supervisor direto de cada empregado.
Cada empregado possui dependentes caracterizados por nome,
data de nascimento e grau de parentesco.”
Banco de Dados I
Aula 6 - 17
©Prof. Lineu Mialaret
Exercício 8 - Contexto de Negócio (1)
“Considere um pequeno aeroporto privado. Cada avião tem um número
de registro, é de um tipo de avião específico e é armazenado em um
hangar particular. Cada tipo de avião tem um número de modelo, uma
capacidade e um peso.
Cada hangar tem um número, uma capacidade de armazenamento e
uma localização. O Banco de Dados do aeroporto também deve manter
informações sobre os proprietários de cada avião e sobre os
empregados que realizam manutenção no mesmo. Cada avião pode
pertencer a um grupo de empresas, enquanto que cada empresa pode
ter mais de um avião. Além disso, deseja-se armazenar a data de
aquisição do mesmo pelas empresas proprietárias.
Cada uma destas empresas é caracterizada pelo CNPJ, nome,
endereço e telefone. Cada empregado pode realizar vários serviços de
manutenção, os quais podem ser feitos por vários empregados. Um
avião pode passar por vários serviços de manutenção e cada um destes
serviços é caracterizado pela data da manutenção, número de horas
trabalhadas, tipo do serviço feito e finalmente, o número do avião é
também usado na identificação de cada serviço.
Banco de Dados I
Aula 6 - 18
©Prof. Lineu Mialaret
Exercício 8 - Contexto de Negócio (2)
Cada piloto tem atributos específicos, como o número da licença e o
conjunto de restrições de vôo. Cada empregado tem atributos próprios,
como salário, função e data de início no emprego. Todas as pessoas
cujas informações são armazenadas têm um CPF, nome, endereço e
telefone.
A base de dados do aeroporto também mantém informações sobre os
aviões que cada piloto pilota e os tipos de aviões que cada empregado
pode realizar manutenção.
Cada avião pode ser pilotado por vários pilotos e cada piloto pode pilotar
vários aviões. Sempre que um vôo é (ou está para ser) realizado,
comunicações são feitas com várias torres de comando. Cada torre de
comando possui um código e uma localização.
Cada empregado pode trabalhar na manutenção de vários tipos de avião
e cada modelo de avião pode precisar de vários empregados
trabalhando na sua manutenção.”
Banco de Dados I
Aula 6 - 19
©Prof. Lineu Mialaret
Exercício 9 - Contexto de Negócio (1)
“Considere o seguinte sistema de gerenciamento imobiliário simplificado,
que visa manter informações sobre clientes, proprietários dos imóveis,
contratos de aluguel, funcionários e agências, o qual deve atender os
seguintes requisitos de dados persistentes:
1) Cada cliente possui CPF, nome, endereço e uma lista de telefones
para contato.
2) Cada cliente é atendido por um único funcionário, o qual é
caracterizado pelo número da carteira profissional, nome, endereço,
telefone, função e salário.
3) Cada funcionário possui um único supervisor e trabalha em uma única
agência. Cada agência tem um código, uma descrição e um funcionário
que a gerencia.
4) Deve-se armazenar a data na qual o funcionário começou a gerenciar
a agência. Além disso, cada gerente pode gerenciar apenas uma única
agência.
5) Um cliente tem uma ou mais preferências por um ou mais tipos de
imóveis, onde cada preferência é caracterizada pelo código do cliente,
tipo e valor máximo de aluguel.
Banco de Dados I
Aula 6 - 20
©Prof. Lineu Mialaret
Exercício 9 - Contexto de Negócio (2)
6) Um cliente pode estar associado a vários contratos de aluguel, os
quais possuem número, período e valor. Mas cada contrato refere-se a
um único cliente.
7) Cada contrato diz respeito a um único imóvel, o qual possui um
código, localização, tipo e valor solicitado pelo proprietário. Além disso,
cada imóvel possui um único proprietário, que tem CPF, nome e
telefones.
8) Um imóvel disponível para negociação pode ser divulgado em vários
jornais, os quais possuem um código e um nome. Deve-se armazenar a
data e o custo da divulgação de cada imóvel feito por cada jornal.”
Banco de Dados I
Aula 6 - 21
©Prof. Lineu Mialaret
Download

Aula 6 - Lineu FS Mialaret