Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas de Integração
Eng. Controle Automação
2°/2013
Modelo
Entidade/Relacionamento
Prof. Alexandre Wagner C. Faria
Material adaptado do Livro: Sistema de Banco de Dados (Silberschatz, Korth, Sudarshan), Prof. Ronaldo C.M. Correia,
Vania Bogorny UFSC, Prof. (Me.) Eduardo Tieppo Dom Bosco
Sistema de Banco de Dados, 5/E
Modelo entidade-relacionamento
Modelo entidade-relacionamento
Processo de projeto
Modelagem
Restrições
Diagrama ER
Aspectos de projeto
Modelo Entidade-Relacionamento
Modelo Entidade-Relacionamento
Os dados do mundo real são representados por meio de conjuntos de
entidades, relacionamentos entre esses e atributos que os caracterizam
Conjunto de Entidades: representa um conjunto de elementos do
mundo real que têm a mesma “estrutura” e o mesmo “significado”
Estrutural e semanticamente iguais
Ex: Pessoas
Entidade: elemento do conjunto de entidades identificado por
características individuais definidas por meio do conceito de atributos
Ex: “coisas”, objetos, pessoas (Murilo)
Atributos: Propriedades que descrevem a entidade ou o relacionamento
entre entidades
Relacionamento: conjunto de associações entre conjunto de entidades;
podem ser caracterizados por atributos
Sistema de Banco de Dados, 5/E
Modelagem
Conjuntos de relacionamento
Um relacionamento é uma associação entre várias entidades
Exemplo:
Exemplo:
(Hayes, A-102) ∈ depositante
Atributos
Atributos compostos
Atributos
Valores que representam propriedades das entidades e relacionamentos
no mundo real
Tipos:
Atributo Monovalorado: possui um valor para cada entidade que
caracteriza
Idade
Atributo Multivalorado: possui mais de um valor para cada entidade que
caracteriza
Telefones
Atributo Composto: quando o atributo tem vários subcampos
Cidade
Rua Estado
Endereço
Atributos
RA
Sistema de Banco de Dados, 5/E
Banco de Dados: Modelo Entidade-Relacionamento
Tipos de atributos:
Simples Indivisível, atômico (p.ex. peso, altura, valor, etc.)
Composto Divisível (p.ex. endereço, que pode ser divisível em logradouro, cep, etc.)
Monovalorado Permite unicamente um conteúdo (p.ex. nome, data de nascimento, etc.)
Multivalorado Permite vários conteúdos simultaneamente (p.ex. dependentes de
funcionário, telefone, etc.).
Pode-se solucionar isto, tratando-o como uma entidade fraca, a qual
depende de outra, chamada dominante (forte).
Nulo Permite conteúdo inexistente (o não preenchimento com algum valor)
Derivado Resultante de algum cálculo ou decisão evitar! (p.ex. idade, tempo de
casa, etc.)
Descritivo Especifica uma determinada situação em um determinado momento
(p.ex. a situação de uma conta corrente em uma determinada data), e
que não faz parte do conjunto de atributos de uma entidade, e, sim, de
um relacionamento.
Identificador Identifica uma entidade em seu conjunto de entidades. Se em um
conjunto fraco, pode-se repetir, visto que é dependente do conjunto de
entidades dominante...
BD – Modelagem
Sistema de Banco de Dados, 5/E
A abordagem Entidade-Relacionamento
• Modelo E-R
1,1 1,N
Entidade 1 Relacionamento Entidade 2
Atributo
1 Atributo
2
– Entidades
– Atributos
– Relacionamentos
– Cardinalidade
18 / 43
Sistema de Banco de Dados, 5/E
Tipos de Atributos
CPF
PESSOA RG
Nome Todos esses
Data de Nascimento atributos têm o
Idade mesmo tipo?
Endereço
Telefone
Sexo
Estado Civil
Profissão
E-mail
19 / 43
Sistema de Banco de Dados, 5/E
Tipos de Atributos
• Tipos de atributos
– Simples ou compostos
– Monovalorados ou Multivalorados
– Nulos
– Derivados
– Chaves
20 / 43
Sistema de Banco de Dados, 5/E
Tipos de Atributos
CPF Simples
PESSOA RG
Nome Qualquer atributo
Data de Nascimento representado por um
Idade dado simples.
Endereço
Telefone
Sexo CPF
Estado Civil
Profissão
E-mail
21 / 43
Sistema de Banco de Dados, 5/E
Tipos de Atributos
CPF Composto
PESSOA RG
Nome Um atributo divisível
Data de Nascimento em outros atributos.
Idade
Endereço N.º
CE
Telefone Rua
P
Sexo
Estado Civil
Profissão Endereço
22 / 43
Sistema de Banco de Dados, 5/E
Tipos de Atributos
CPF Monovalorado
PESSOA RG
Nome Atributos que
Data de Nascimento possuem um único
Idade valor quando
Endereço instanciados.
Telefone
Sexo Data de
Estado Civil Nascimento
Profissão
E-mail
23 / 43
Sistema de Banco de Dados, 5/E
Tipos de Atributos
CPF Multivalorado
PESSOA RG
Nome Atributos que
Data de Nascimento possuem um
Idade conjunto de valores
Endereço para uma mesma
Telefone instância.
Sexo
Estado Civil Telefone
Profissão
E-mail
24 / 43
Sistema de Banco de Dados, 5/E
Tipos de Atributos
CPF Nulo
PESSOA RG
Nome Atributos que não
Data de Nascimento possuem um valor para
Idade uma Entidade
Endereço instanciada.
Telefone
Sexo
E-mail
Estado Civil
Profissão
E-mail
25 / 43
Sistema de Banco de Dados, 5/E
Tipos de Atributos
CPF Derivado
PESSOA RG
Nome Atributos que podem ser
Data de Nascimento obtidos através da
Idade relação com outros
Endereço atributos.
Telefone
Sexo
Idade
Estado Civil
Profissão
E-mail
26 / 43
Sistema de Banco de Dados, 5/E
Tipos de Atributos
CPF Chave
PESSOA RG
Nome Atributos que identificam
Data de Nascimento uma instância da
Idade Entidade de maneira
Endereço ÚNICA.
Telefone
Sexo
CPF
Estado Civil
Profissão
E-mail
27 / 43
Sistema de Banco de Dados, 5/E
Restrições de cardinalidade
de mapeamento
Expressam o número de entidades ao qual outra entidade pode
ser associada através de um conjunto de relacionamento.
Normalmente são úteis em descrever conjuntos de relacionamento
binários.
Para um conjunto de relacionamento binário, a cardinalidade de
mapeamento precisa ser de um dos seguintes tipos:
Um-para-um
Um-para-muitos
Muitos-para-um
Muitos-para-muitos
Cardinalidades de mapeamento
• Um-para-um
• Um-para-muitos
• Nota: Alguns elementos em A e B podem não ser mapeados para
quaisquer elementos no outro conjunto.
Cardinalidades de mapeamento
• Muitos-para-um
• Muitos-para-muitos
• Nota: Alguns elementos em A e B podem não ser mapeados para
quaisquer elementos no outro conjunto.
João Contabilidade
Pedro Financeiro
Conjunto A
(Empregado)
Jurídico
Paulo
Maria Conjunto B
(Departamento)
Modelo Entidade-Relacionamento 31
(ER)
Sistema de Banco de Dados, 5/E
João
Contabilidade
Sandro
Conjunto A
(Departamento)
Financeiro Pedro
Ana Conjunto B
(Empregado)
Modelo Entidade-Relacionamento 32
(ER)
Sistema de Banco de Dados, 5/E
Relacionamento Muitos para Muitos – M:N ou N:N
João Sinpli
Sigmoda
Maria
Modelo Entidade-Relacionamento 33
(ER)
Sistema de Banco de Dados, 5/E
Chaves
Uma superchave de um conjunto de entidades é um conjunto de um ou mais
atributos cujos valores determinam unicamente cada entidade.
Embora possam existir várias chaves candidatas, uma das chaves candidatas
é selecionada para ser a chave primária.
Diagramas ER
Carga
Horária
Nom Nota para
Endereç Nome
CP e aprovaçã
F o
o
0,M 1,N
ALUNO frequenta CURSO
?
Quantidad Data de
e de faltas Média inscrição
final
37 / 43
Sistema de Banco de Dados, 5/E
Carga
Horária
Nom Nota para
Endereç Nome
CP e aprovaçã
F o
o
0,M 1,N
ALUNO frequenta CURSO
Quantidad Data de
e de faltas Média inscrição
final
38 / 43
Sistema de Banco de Dados, 5/E
Carga
Horária
Nome Nota para
aprovaçã
o
ALUNO
0,M 1,N
CPF frequenta CURSO
Nome
Endereço
Quantidad Data de
e de faltas Média inscrição
final
39 / 43
Sistema de Banco de Dados, 5/E
ALUNO CURSO
0,M 1,N
CPF frequenta Nome
Nome Carga Horária
Endereço Nota para
aprovação
Quantidad Data de
e de faltas Média inscrição
final
40 / 43
Sistema de Banco de Dados, 5/E
41 / 43
Sistema de Banco de Dados, 5/E
ALUNO ALUNO_CURSO
CPF ALUNO_CPF CURSO
Nome CURSO_Nome Nome
Endereço Quantidade de Carga Horária
faltas Nota para
Média final aprovação
Data de inscrição
42 / 43
Sistema de Banco de Dados, 5/E
Tipo de Atributo:
Chave Estrangeira
ALUNO ALUNO_CURSO
CPF ALUNO_CPF CURSO
Nome CURSO_Nome Nome
Endereço Quantidade de Carga Horária
faltas Nota para
Média final aprovação
Data de inscrição
43 / 43
Sistema de Banco de Dados, 5/E
ALUNO ALUNO_CURSO
CPF ALUNO_CPF CURSO
Nome CURSO_Nome Nome
Endereço Quantidade de Carga Horária
faltas Nota para
Média final aprovação
Data de inscrição
44 / 43
Sistema de Banco de Dados, 5/E
ALUNO ALUNO_CURSO
012.333.470- ALUNO_CPF CURSO
90 CURSO_Nome Nome
Jimmy Five Quantidade de Carga Horária
Av. Paraná faltas Nota para
Média final aprovação
Data de inscrição
45 / 43
Sistema de Banco de Dados, 5/E
ALUNO ALUNO_CURSO
012.333.470- ALUNO_CPF CURSO
90 CURSO_Nome Informática
Jimmy Five Quantidade de 40
Av. Paraná faltas 8.0
Média final
Data de inscrição
46 / 43
Sistema de Banco de Dados, 5/E
ALUNO ALUNO_CURSO
012.333.470- ALUNO_CPF CURSO
90 CURSO_Nome Informática
Jimmy Five Quantidade de 40
Av. Paraná faltas 8.0
Média final
Data de inscrição
47 / 43
Sistema de Banco de Dados, 5/E
ALUNO ALUNO_CURSO
012.333.470- 012.333.470-90 CURSO
90 Informática Informática
Jimmy Five Quantidade de 40
Av. Paraná faltas 8.0
Média final
Data de inscrição
48 / 43
Sistema de Banco de Dados, 5/E
ALUNO ALUNO_CURSO
012.333.470- 012.333.470-90 CURSO
90 Informática Informática
Jimmy Five 2 40
Av. Paraná 8.5 8.0
06/02/2012
49 / 43
Sistema de Banco de Dados, 5/E
Conjuntos de relacionamento
com atributos
Funções
Conjuntos de entidades de um relacionamento não precisam ser distintos
Restrições de cardinalidade
Relacionamento um-para-um:
Um cliente está associado, no máximo, a um empréstimo através do
relacionamento tomador
Um empréstimo está associado, no máximo, a um cliente através de
tomador
Relacionamento um-para-muitos
No relacionamento um-para-muitos, um empréstimo está associado,
no máximo, a um cliente através de tomador, um cliente está
associado a vários (inclusive 0) empréstimos através de tomador
Relacionamento muitos-para-um
Em um relacionamento muitos-para-um, um empréstimo está associado a
vários (inclusive 0) clientes através de tomador, um cliente está associado,
no máximo, a um empréstimo através de tomador
Relacionamento muitos-para-muitos
Um cliente está associado a vários (possivelmente 0)
empréstimos através de tomador
Auto-Relacionamento (Relacionamento
Unário)
• Relacionamento entre ocorrências da mesma
entidade
Empregado Pessoa
supervisionada esposa
João Roberto
Pedro Pedro
supervisor marido
Paulo Felipe
Maria Ana
Modelo Entidade-Relacionamento 60
(ER)
Sistema de Banco de Dados, 5/E
Empregado (1,N )
trabalha
(1,1 )
Departamento
(1,N) (1,1)
distribuição
(1,N)
Produto
61
Sistema de Banco de Dados, 5/E
-Faça o preenchimento
de pelo menos 2
instancias (completo)
para o modelo
apresentado
-Liste, em forma de
tabelas, os conjuntos
de entidades e seus
atributos e chaves
primárias;
-Descreva cada
relacionamento,
relatando quem está
associado a ele;
-Formule o problema a
partir deste diagrama.
Korth • Silberschatz • Sundarshan
Sistema de Banco de Dados, 5/E
Figura 6.8
Um para muitos
Muitos para um
Um para um
Conjunto de Relacionamentos
Conjunto de Relacionamentos
Cardinalidade
Cardinalidade 1 para 1
Exemplos:
Um funcionário gerencia no máximo 1 departamento. Um
departamento é gerenciado por no máximo um
funcionário
1 1
Funcionário Gerencia Departamento
f1 d1
f2 d2
f3 d3
Sistema de Banco de Dados, 5/E
Exemplos:
Um funcionário está lotado no máximo em 1
departamento. Um departamento tem até N funcionários
lotados nele
N 1
Funcionário Lotados Departamento
1 Sentido da leitura 1
f1 d1
N Sentido da leitura 1
f2
d2
f3
f4 d3
f5
Sistema de Banco de Dados, 5/E
Exemplos:
Um funcionário participa de vários projetos. Um projeto
pode ter a participação de até N funcionários
f1 p1
f2 p2
f3 p3
N N
Funcionário Participação Projetos
Sistema de Banco de Dados, 5/E
(1,N) (0,1)
Funcionário Lotados Departamento
(0,1) (0,1)
Funcionário Gerencia Departamento
(0,N) (0,N)
Funcionário Participação Projetos
(1,1) (0,2)
Funcionário Coordenação Projetos
Sistema de Banco de Dados, 5/E
Exercício
• Desenhe o DER para uma Locadora de DVDs,
usando os símbolos apresentados e as informações
abaixo:
Entidade Atributos
Cliente Nome, CPF, Endereço, Telefone, Data de Nascimento
DVD Código, Título, Duração, Gênero
Exercício: Solução
Sistema de Banco de Dados, 5/E
Exercício 01
• Elaborar um diagrama E-R para uma seguradora de automóveis
• Entidades: Cliente, Apólice, Carro e Acidentes.
• Requisitos:
– a) Um cliente pode ter várias apólices (no mínimo uma);
– b) Cada apólice somente dá cobertura a um carro;
– c) Um carro pode ter zero ou n registros de acidentes a ele.
• Atributos:
– a) Cliente: Número, Nome e Endereço;
– b) Apólice: Número e Valor;
– c) Carro: Registro e Marca;
– d) Acidente: Data, Hora e Local;
Exercício 02
• Elaborar um diagrama E-R de um consultório clínico
• Entidades: Médico, Paciente e Exame.
• Requisitos:
– O banco de dados deverá armazenar informações
sobre os vários exames de um
– determinado paciente, com o resultado e o valor
pago (pode-se dar desconto para
– determinados pacientes);
• Atributos:
– a) Médico: Número, Nome e Especialidade;
– b) Paciente: Número, Nome, Endereço;
– c) Tipo Exame, Aceita Convênio, Requisitos, Valor
exame. Exercicios extraídos da UNIP – Universidade Paulista
Sistema de Banco de Dados, 5/E
Exercício 03
• Elaborar um diagrama para uma Indústria.
• Entidades: Peças, Depósitos, Fornecedor, Projeto, Funcionário e Departamento.
• Requisitos:
– a) Cada Funcionário pode estar alocado a somente um Departamento;
– b) Cada Funcionário pode pertencer a mais de um Projeto;
– c) Um projeto pode utilizar-se de vários Fornecedores e de várias Peças;
– d) Uma Peça pode ser fornecida por vários Fornecedores e atender a vários Projetos;
– e) Um Fornecedor pode atender a vários Projetos e fornecer várias Peças;
– f) Um Depósito pode conter várias Peças;
– g) Deseja-se ter um controle do material utilizado por cada Projeto, identificando inclusive
– o seu Fornecedor. Gravar as informações de data de Início e Horas Trabalhadas no
Projeto.
• Atributos:
– a) Peças: Número, Peso e Cor;
– b) Depósito: Número e Endereço;
– c) Fornecedor: Número e Endereço;
– d) Projeto: Número e Orçamento;
– e) Funcionário: Número, Salário e Telefone;
– f) Departamento: Número e Setor.
Exercício 04
Projetar um Banco de Dados satisfazendo as seguintes restrições e requisitos:
• a) Para um Vendedor, armazenar seu código, nome, endereço e comissão;
• b) Para um cliente, armazenar o seu código, nome, endereço, faturamento
acumulado e limite de crédito. Além disso, armazenar o código e o nome do
vendedor que o atende. Um vendedor pode atender muitos clientes, porém
um cliente deve ter exatamente um vendedor;
• c) Para uma peça, armazenar seu código, descrição, preço quantidade em
estoque e o número do armazém onde a peça está estocada. Uma peça
somente pode estar estocada num único armazém. Para um armazém,
armazenar seu código e endereço;
• d) Para um pedido, armazenar seu número, data, código, nome e endereço do
cliente, que fez o pedido e o código do vendedor para cálculo da comissão.
Além disso, para cada item do pedido armazenar o código da peça,
quantidade e preço cotado. Há somente um cliente por pedido e um vendedor;
• e) O preço cotado no pedido pode ser mesmo que o preço corrente no arquivo
de peças, mas não necessariamente.
Sistema de Banco de Dados, 5/E
Sistema de Banco de Dados, 5/E
Sistema de Banco de Dados, 5/E
Sistema de Banco de Dados, 5/E
Sistema de Banco de Dados, 5/E
atuação
(0,N) (0,N)
(1,N) (1,N) (1,1)
(0,N)
Aluno Matrícula Turma da Disciplina
90
Sistema de Banco de Dados, 5/E
Identificando Entidades
• Cada entidade deve ter um identificador
• Identificador (também conhecido como chave):
– É o conjunto de um ou mais atributos ou
relacionamentos cujos valores servem para distinguir
uma ocorrência da entidade das demais ocorrências da
mesma entidade
91
Sistema de Banco de Dados, 5/E
.. .. .. ..
. . . .
ESTÚDIO
1,1
produz
.. .. ..
..
0,N . . .
1,N tem 1,N ..
. FILME atuaçã ATOR .
.. o
. . .
..
.. .. .. Tipo de
Papel
93 / 32
Sistema de Banco de Dados, 5/E
94 / 32
Sistema de Banco de Dados, 5/E
95 / 32
Sistema de Banco de Dados, 5/E
96 / 32
Sistema de Banco de Dados, 5/E
97 / 32
Sistema de Banco de Dados, 5/E
• Duas soluções:
98 / 92
Sistema de Banco de Dados, 5/E
1,1
.. .. ..
..
. . .
produz tem 1,N ..
atuaçã ATOR .
0,N o
1,N 1,N
. FILME
.. prefere
. . .
..
.. .. ..
1,N
Tipo de TIPO DE
Papel PAPEL
99 / 32
Sistema de Banco de Dados, 5/E
. FILME
.. prefere
. . .
..
.. .. ..
1,N
TIPO DE
Bruxo
PAPEL
100 / 32
Sistema de Banco de Dados, 5/E
. FILME
.. prefere
. . .
..
.. .. ..
1,N
TIPO DE
Amigo
PAPEL
101 / 32
Sistema de Banco de Dados, 5/E
. FILME
.. prefere
. . .
..
.. .. ..
1,N
TIPO DE
Mocinho
PAPEL
102 / 32
Sistema de Banco de Dados, 5/E
.. .. .. .. Solução 2
. . . .
ESTÚDIO
1,1
produz
.. .. ..
..
0,N . . .
1,N tem 1,N ..
. FILME atuaçã ATOR .
.. o
. . .
..
.. .. .. Tipo de
Papel
103 / 32
Sistema de Banco de Dados, 5/E
104 / 92
Sistema de Banco de Dados, 5/E
.. .. ..
... . . .
PRODUTO
105 / 32
Sistema de Banco de Dados, 5/E
106 / 92
Sistema de Banco de Dados, 5/E
.. .. .. ..
. . . .
..
. CLIENTE
..
.
.. .. ..
... . . .
PRODUTO
107 / 32
Sistema de Banco de Dados, 5/E
108 / 92
Sistema de Banco de Dados, 5/E
.. .. .. ..
. . . .
..
. CLIENTE
..
.
.. .. ..
... . . .
. PEDIDO PRODUTO
..
.
..
109 / 32
Sistema de Banco de Dados, 5/E
110 / 92
Sistema de Banco de Dados, 5/E
.. .. .. ..
. . . .
..
. CLIENTE
..
.
.. .. ..
... . . .
..
PEDIDO PRODUTO .
.
..
.
..
111 / 32
Sistema de Banco de Dados, 5/E
.. .. .. ..
. . . .
..
. CLIENTE
..
.
faz
.. .. ..
... . . .
..
PEDIDO tem PRODUTO .
.
..
.
..
112 / 32
Sistema de Banco de Dados, 5/E
.. .. .. ..
. . . .
..
. CLIENTE
..
. 1,1
faz
.. .. ..
1,N ... . . .
0,N 1,N ..
PEDIDO tem PRODUTO .
.
..
.
..
113 / 32
Sistema de Banco de Dados, 5/E
faz Categori
Nome
a
Cod Preço
1,N
0,N 1,N
PEDIDO tem PRODUTO Qtde
N.º
Data
114 / 32
Sistema de Banco de Dados, 5/E
faz Limpa
Solvente
Tudo
11 10,00
1,N
0,N 1,N
PEDIDO tem PRODUTO 1
1032
20/08/2012
115 / 32
Sistema de Banco de Dados, 5/E
1032
20/08/2012
116 / 32
Sistema de Banco de Dados, 5/E
23 1,00
1,N
0,N 1,N
PEDIDO tem PRODUTO 3
1032
20/08/2012
117 / 32
Sistema de Banco de Dados, 5/E
23 1,00
1,N
0,N 1,N
PEDIDO tem PRODUTO 3
1032
20/08/2012
118 / 32
Sistema de Banco de Dados, 5/E
23 1,00
1,N
0,N 1,N
PEDIDO tem PRODUTO 3
956
20/08/2012
119 / 32
Estrutura de Dados e
Sistemas de Integração
Eng. Controle Automação
2°/2013
Modelo
Entidade/Relacionamento
Prof. Alexandre Wagner C. Faria
Material adaptado do Livro: Sistema de Banco de Dados (Silberschatz, Korth, Sudarshan), Prof. Ronaldo C.M. Correia,
Vania Bogorny UFSC, Prof. (Me.) Eduardo Tieppo Dom Bosco