Sie sind auf Seite 1von 59

Capítulo 2

Abordagem
Entidade-Relacionamento
Modelo
Entidade-Relacionamento

Material adaptado pela Profa. Roberta para disciplina de


Fundamentos de BD / BSI
Abordagem Entidade-Relacionamento

• Técnica para construir modelos semânticos (conceituais) de bases de


dados.

• Técnica de modelagem de dados mais difundida e utilizada.

• Criada em 1976, por Peter Chen.


Abordagem Entidade-Relacionamento

• Padrão de fato para modelagem conceitual.

• NÃO É ÚNICA!

– NIAM/ORM (técnica europeia)

• Engenharia de Informação (Pé de Galinha)

– UML (técnica para modelos orientados a objeto)

• Técnicas de modelagem orientada a objeto (UML)

• Baseiam-se nos conceitos da abordagem ER


Abordagem Entidade-Relacionamento

• Modelo de dados conceitual:

– Modelo entidade-relacionamento (Modelo ER)

• Modelo ER é representado graficamente através de:

– Diagrama entidade-relacionamento (DER)


Conceitos centrais da abordagem ER

• Entidade

• Relacionamento

• Atributo

• Generalização/especialização

• Entidade associativa
Entidade

Conjunto de objetos da realidade


modelada sobre os quais deseja-se
manter informações no banco de dados
Entidade – exemplos

• Sistema de informações industrial:


– produtos
– tipos de produtos
– vendas
– compras

• Sistema de contas correntes:


– clientes
– contas correntes
– cheques
– agências
Entidade representa

• Uma entidade pode representar:

Representação diagramática:
– objetos concretos da realidade

(uma pessoa, um automóvel) Pessoa

Nome da
– objetos abstratos entidade

(um departamento, uma conta corrente)


Entidade e instância

• Para referir um objeto particular fala-se em:

– instância ou ocorrência de entidade.

PESSOA

Ex. instância: João,


Maria, Pedro...

conjunto elemento do conjunto


entidade instância
classe instância

terminologia de
orientação a objetos
Propriedades de entidades

• Entidade isoladamente pouco informa.

– É necessário atribuir propriedades às entidades

• Em um modelo ER, propriedades são especificadas através de:

– Atributos

– Relacionamentos

– Generalizações/Especializações
Exercício

• Identificar entidades!
– Exercícios_Modelo_ER.pdf
Atributo

Dado ou informação que é


associado a cada ocorrência de
uma entidade ou de um
relacionamento
Atributo

Dado ou informação que é associado a


cada ocorrência de uma entidade ou de
um relacionamento

PROJETO

tipo
código
nome
Atributos com cardinalidade

• Cardinalidade mínima:

– atributo obrigatório (cardinalidade mínima “1”)

• cada entidade possui no mínimo um valor associado

– atributo opcional (cardinalidade mínima “0”)

• Cardinalidade máxima:

– atributo monovalorado (cardinalidade máxima “1”)

• cada entidade possui no máximo um valor associado

– atributo multivalorado (cardinalidade máxima “n”)


Atributo com cardinalidade

CLIENTE

?
telefone (0,n)
código
nome
atributo obrigatório
e monovalorado

(1,1) é o default
Atributo com cardinalidade

CLIENTE

telefone (0,n)
código
atributo opcional
nome e multivalorado
Identificador de entidade

• Cada entidade deve possuir um identificador

Identificador de entidade
=
conjunto de propriedades (atributos,
relacionamentos) de uma entidade
cujos valores servem para distinguir uma
ocorrência da entidade das demais ocorrências
da mesma entidade
Atributo identificador

código
PESSOA nome
endereço

nome
DEPENDENTE cpf responsável
num_dependente

capacidade
PRATELEIRA número do corredor
número da prateleira
Exercício

• Identificar atributos e identificadores!


– Exercícios_Modelo_ER.pdf
Relacionamento

Conjunto de associações entre


entidades sobre as quais deseja-se
manter informações na base de dados
Relacionamento – representação gráfica

DEPARTAMENTO LOTAÇÃO EMPREGADO

Nomenclatura:
• uso de verbos (ou palavra que indique uma ação)
• entidades dão o nome
Relacionamento e instância

• Relacionamento é um conjunto de associações entre instâncias de


entidades.
• Uma instância (ocorrência) de um relacionamento é uma associação
específica entre determinadas instâncias de entidade.

• Exemplo (relacionamento LOTAÇÃO):


instância de LOTAÇÃO
=
par específico formado por uma ocorrência de PESSOA e uma
ocorrência de DEPARTAMENTO
Diagrama de ocorrências

p3
p7
p1 p8 entidade
p4
p2 p6 p5 EMPREGADO

relacionamento
p1,d1 p2,d1 p4,d2 p5,d3 LOTAÇÃO

entidade
d1 d2 d3
DEPARTAMENTO
Auto-relacionamento

PESSOA

CASAMENTO
Papel no relacionamento

• Função que uma ocorrência de uma entidade cumpre em uma


ocorrência de um relacionamento.

PESSOA

marido esposa

CASAMENTO
papel no
relacionamento
Papel no relacionamento

• Relacionamentos entre entidades diferentes:

– não é usual indicar os papéis das entidades

DEPARTAMENTO LOTAÇÃO PESSOA


Auto-relacionamento
diagrama de ocorrências

p3 p7
p1
p8
PESSOA p6
p2 p4 p5

marido
marido
marido esposa esposa
esposa
CASAMENTO
p1,p3

p6,p8
Exercício

• Identificar relacionamentos!
– Exercícios_Modelo_ER.pdf
Cardinalidade de relacionamentos

• Propriedade importante de um relacionamento:


– Número de ocorrências de uma entidade que podem estar
associadas a uma determinada ocorrência de entidade através do
relacionamento.

• Chamada de cardinalidade de uma entidade em um relacionamento.

• Há duas cardinalidades:
– máxima
– mínima
Cardinalidade Máxima

• Para projeto de BD relacional:

– não é necessário distinguir entre diferentes cardinalidades

máximas > 1.

• Dois valores de cardinalidades máximas são usados:

– cardinalidade máxima: 1

– cardinalidade máxima não limitada (“muitos”), referida pela letra n.


Cardinalidade máxima no DER

DEPARTAMENTO LOTAÇÃO EMPREGADO


1 n
Cardinalidade Máxima - DER

DEPARTAMENTO LOTAÇÃO EMPREGADO


1 n

expressa que
a uma ocorrência de EMPREGADO
(entidade do lado oposto da
anotação) pode estar associada no
máximo uma (1) ocorrência de
DEPARTAMENTO
Cardinalidade máxima - DER

DEPARTAMENTO LOTAÇÃO EMPREGADO


1 n

expressa que
não há um limite superior
para o número de
ocorrências de EMPREGADO
associadas a uma ocorrência
de DEPARTAMENTO
Classificação de relacionamentos

• Cardinalidade máxima pode ser usada para classificar


relacionamentos binários.

• Relacionamento binário:
– é aquele cujas instâncias envolvem duas instâncias de entidades.

• Relacionamentos binários
– n:n (muitos-para-muitos)
– 1:n (um-para-muitos)
– 1:1 (um-para-um)
Relacionamentos 1:1

PESSOA

1 1
marido esposa

CASAMENTO
Relacionamentos 1:1

EMPREGADO

ALOCAÇÃO

MESA
Relacionamentos 1:n

n 1
ALUNO INSCRIÇÃO CURSO
Relacionamentos 1:n

1 n
EMPREGADO Tem DEPENDENTE
Relacionamentos 1:n

EMPREGADO

supervisor supervisionado
1 n
SUPERVISÃO
Relacionamentos n:n

n n
ENGENHEIRO ALOCAÇÃO PROJETO
Relacionamentos n:n

n n
MÉDICO CONSULTA PACIENTE
Exercício

• Identificar cardinalidades máximas!


– Exercícios_Modelo_ER.pdf
Cardinalidade Mínima

• Para fins de projeto de BD relacional, são consideradas apenas duas


cardinalidades mínimas:

– cardinalidade mínima 0

– cardinalidade mínima 1

• Denominação alternativa:

– cardinalidade mínima 0 = “associação opcional”

– cardinalidade mínima 1 = “associação obrigatória”


Cardinalidade Mínima - DER

e1 e3
EMPREGADO e4
e2

(0,1)

ALOCAÇÃO e1,m1 e3,m6 e4,m4


e2,m2

(1,1)

m1 m4 m6
MESA
m3
m2 m5
Cardinalidade mínima - DER

e1 e3
EMPREGADO e4
e2

(0,1)

cardinalidade ALOCAÇÃO e1,m1 e3,m6 e4,m4


mínima e2,m2

(1,1)

m1 m4 m6
MESA
m3
m2 m5
Exemplo DER
Entidades, Relacionamentos e Cardinalidades (máxima e mínima)

PRÉ-REQUIS

liberada liberadora
(0,n) (0,n)
DEPARTAMENTO RESPONSÁVEL DISCIPLINA
(1,1) (0,n)
(0,n)

DISC-CURSO

(0,n)
(0,n) (1,1)
ALUNO INSCRIÇÃO CURSO
Exercício
Modifique o modelo ER abaixo, de forma a especificar o seguinte:
• Um curso deve possuir ao menos uma disciplina em seu currículo.
• Os dados de um aluno, mesmo que não inscrito em nenhum curso, deve
permanecer no banco de dados.

48
Relacionamento ternário

CIDADE DISTRIBUIDOR

DISTRIBUIÇÃO

PRODUTO
Cardinalidade de relacionamento ternário

CIDADE DISTRIBUIDOR

n 1

DISTRIBUIÇÃO

PRODUTO
Cardinalidade de relacionamento ternário

CIDADE DISTRIBUIDOR

n 1
a cardinalidade “1”
DISTRIBUIÇÃO refere-se a um par
(cidade, produto)

PRODUTO
É concedida a exclusividade
de distribuição de um produto
para um distribuidor em uma
cidade.
Cardinalidade de relacionamento ternário

CIDADE DISTRIBUIDOR

n 1

DISTRIBUIÇÃO

n
a cardinalidade “n”
refere-se a um par
PRODUTO (cidade, distribuidor)
Um distribuidor pode distribuir
em uma cidade muitos
produtos.
Cardinalidade de relacionamento ternário

CIDADE DISTRIBUIDOR

a cardinalidade “n”
n 1
refere-se a um par
(distribuidor, produto) DISTRIBUIÇÃO

PRODUTO
Um distribuidor pode distribuir
um produto em muitas
cidades.
Ferramentas de Modelagem

• MySQL Workbench (EER: Extended ER)


• Astah
• EERCase
• brModelo Ferramentas online:
• Erwin • Draw.io (https://www.draw.io)
• Dia • gliffy (https://www.gliffy.com)
• DBDesigner • Cacoo (https://cacoo.com)
• JUDE • Creately (https://creately.com)
• CASE Studio • yUML (http://yuml.me)
• Magic Draw
• SmartDraw
• Power Designer
• Oracle SQL Developer Data Modeler
• Microsoft Visio
entre outras...
Exercício
Criar o diagrama ER (incluir as cardinalidades mínimas e máximas) de um
sistema de Administradora de Imóveis. A administradora trabalha tanto com
administração de condomínios, quanto com a administração de aluguéis.
Seguem as especificações:
• Uma entrevista com o gerente da administradora resultou nas seguintes
informações:
• A administradora administra condomínios formados por unidades
condominiais.
• Cada unidade condominial é de propriedade de uma ou mais pessoas.
Uma pessoa pode possuir diversas unidades.
• Cada unidade pode estar alugada para no máximo uma pessoa. Uma
pessoa pode alugar diversas unidades.

56
57
Exercício (Em Sala)
Deseja-se projetar uma base de dados que dará apoio a um sistema Web para
relacionamento entre profissionais. Por meio de um diagrama ER (contendo as
cardinalidades mínimas e máximas), deve-se modelar a base de dados de acordo com
as regras apresentadas a seguir:

• O sistema proposto armazena dados sobre os funcionários de uma empresa. Para


cada pessoa, o BD armazena um identificador, o nome da pessoa e e-mail, bem como
os relacionamentos entre as pessoas.
• As pessoas podem participar de grupos. Cada grupo é identificado por uma sigla e
tem um nome. Um grupo pode reunir várias pessoas e uma pessoa pode participar de
vários grupos. Grupos vazios não permanecem na base de dados, isto é, todo grupo
deve ter ao menos um participante.
• Além disso, o banco de dados deve armazenar um histórico profissional da pessoa.
Para cada posição ocupada pela pessoa, deve ser armazenado o ano de início e de fim,
bem como uma descrição da função. É necessário conhecer a posição corrente da
pessoa (se houver).
58
59

Das könnte Ihnen auch gefallen