Modelo Entidade Relacionamento
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Abordagem Entidade Relacionamento
Técnica para construir modelos conceituais de base
de dados.
Técnica de modelagem de dados mais difundida e
utilizada.
Criada em 1976 por Peter Chen.
O Modelo E-R é representado graficamente pelo
Diagrama Entidade Relacionamento (DER).
2
1
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Conceitos Centrais
Entidade: conjunto de objetos da realidade modelada, sobre
os quais deseja-se manter informações na base de dados.
Relacionamento: conjunto de associações entre entidades,
sobre as quais deseja-se manter informações na base de
dados.
Atributo: dados ou informação que é associado a cada
ocorrência de uma entidade ou de um relacionamento.
Generalização/Especialização: permite atribuir propriedades
particulares
a
um
subconjunto
das
ocorrências
(especializadas) de uma entidade genérica.
Entidade Associativa.
3
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Entidade
Representada através de um retângulo.
Retângulo contém o nome da entidade.
Para referir um objeto particular fala-se em instância ou
ocorrência da entidade.
Pessoa
Departamento
4
2
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Relacionamento
Este modelo nos diz que o BD mantém informações sobre:
um conjunto de empregados;
um conjunto de departamentos; e
um conjunto de associações que ligam um departamento a um
empregado.
Pessoa
Departamento
Lotação
5
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Relacionamento
Pessoa
ENTIDADE
EMPREGADO
RELACIONAMENTO
LOTAÇÃO
ENTIDADE
DEPARTAMENTO
Departamento
Lotação
e3
e7
e1
e2
e1,d1
d1
e4
e6
e2,d1
d2
e4,d2
e8
e5
e5,d3
d3
6
3
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Auto-relacionamento
Normalmente um relacionamento associa entidades diferentes. Há um caso especial no qual há um relacionamento
entre a mesma entidade.
Nesta situação surge o conceito de PAPEL que identificará o
relacionamento.
EMPREGADO
marido
esposa
CASAMENTO
7
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Papel em relacionamentos
Função que uma ocorrência de uma entidade
cumpre em uma ocorrência de um relacionamento.
Relacionamento de casamento:
Uma ocorrência de pessoa exerce o papel de marido.
Uma ocorrência de pessoa exerce o papel de esposa.
Relacionamento entre entidades diferentes não é
necessário indicar os papéis das entidades.
8
4
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Cardinalidade de Relacionamentos
CARDINALIDADE MÁXIMA
A cardinalidade máxima de uma entidade em relacionamento é o número
máximo de ocorrências de entidade associadas à uma ocorrência da
entidade em questão através do relacionamento.
EMPREGADO
DEPARTAMENTO
LOTAÇÃO
n
1
9
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Cardinalidade de Relacionamentos
Para fins práticos, apenas duas cardinalidades máximas são de nosso
interesse, as:
- de valor 1; e a
- de valor n.
EMPREGADO
LOTAÇÃO
n
DEPARTAMENTO
1
10
5
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Relacionamentos Binários
A cardinalidade máxima é usada para classificar os relacionamentos
binários, aqueles nos quais os relacionamentos se dão entre duas entidades.
TIPOS DE RELACIONAMENTOS BINÁRIOS
- 1:1 ( um-para-um );
- 1:n ( um-para-muitos ); e
- n:n ( muitos-para-muitos).
11
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Relacionamentos Binários 1:1
EMPREGADO
ALOCAÇÃO
1
BANCADA
1
EMPREGADO
marido
esposa
1
1
CASAMENTO
12
6
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Relacionamentos Binários 1:n
EMPREGADO
DEPENDENTE
TEM
1
n
EMPREGADO
chefia
chefiado
n
1
CHEFE
13
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Relacionamentos Binários n:n
PACIENTE
TEM
MÉDICO
n
n
PRODUTO
composto
componente
n
n
COMPOSIÇÃO
14
7
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Relacionamentos Ternários
A abordagem ER permite que sejam definidos relacionamentos
de graus maiores que dois, muito embora não sejam comuns.
ANÁLISE
A cardinalidade refere-se
relacionadas com a terceira.
a
pares
de
entidades
e
15
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Relacionamentos Ternários
CIDADE
DISTRIBUIDOR
n
1
TEM
n
PRODUTO
16
8
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Relacionamentos Ternários
CIDADE
DISTRIBUIDOR
n
1
TEM
n
PRODUTO
17
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Relacionamentos Ternários
TABELA PARA ANÁLISE DE
RELACIONAMENTOS TERNÁRIOS
DISTRIBUIDOR
PRODUTO
CIDADE
TRAMONTINA
FACA
RIO DE JANEIRO
TRAMONTINA
COLHER
RIO DE JANEIRO
EBERLE
FACA
BRASÍLIA
EBERLE
COLHER
BRASÍLIA
INOX
FACA
SÃO PAULO
INOX
COLHER
SÃO PAULO
TRAMONTINA
FACA
BELO HORIZONTE
TRAMONTINA
COLHER
BELO HORIZONTE
EBERLE
FACA
PORTO ALEGRE
EBERLE
COLHER
PORTO ALEGRE
18
9
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Relacionamentos Ternários
CIDADE
DISTRIBUIDOR
n
1
TEM
n
PRODUTO
19
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Relacionamentos Ternários
CIDADE
DISTRIBUIDOR
n
1
TEM
n
PRODUTO
20
10
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Cardinalidade de Relacionamentos
CARDINALIDADE MÍNIMA
A cardinalidade mínima de uma entidade em relacionamento é o número
mínimo de ocorrências de entidade associadas à uma ocorrência da entidade
em questão através do relacionamento.
EMPREGADO
BANCADA
ALOCAÇÃO
(0,1)
(1,1)
21
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Cardinalidade de Relacionamentos
Para fins práticos, apenas duas cardinalidades mínimas são de nosso interesse, a
de valor 0 e a de valor 1.
A cardinalidade mínima 1 recebe a denominação de associação obrigatória, uma
vez que indica que o relacionamento DEVE obrigatoriamente associar uma ocorrência de
entidade à cada ocorrência da outra entidade em questão.
A cardinalidade mínima 0 recebe a denominação de associação opcional, uma
vez que indica que o relaciona-mento PODE ou não associar uma ocorrência de entidade
à cada ocorrência da outra entidade em questão.
EMPREGADO
BANCADA
ALOCAÇÃO
(0,1)
(1,1)
22
11
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Cardinalidade de Relacionamentos
DIAGRAMA DE OCORRÊNCIAS
ENTIDADE
EMPREGADO
e1
e3
e2
RELACIONAMENTO
ALOCAÇÃO
e1,b1
ENTIDADE
BANCADA
b1
e4
e2,b2
b2
e3,b6
b3
b4
e4,b4
b5
b6
- os empregados e1, e2, e3 e e4 estão ligados às bancadas b1, b2, b4 e b6,
respectivamente;
- cada empregado está obrigatoriamente ligado à uma bancada;
- uma bancada pode existir sem que esteja ligado a ela nenhum empregado.23
Marcio de Carvalho Victorino
www.dominandoti.eng.br
VERBO
CARDINALIDADE
MÍNIMA
pode
0
deve
1
RELACIONAMENTO
MÁXIMA
GRAU
TIPO
1
um e inclusive nenhum
n
muitos e inclusive nenhum
1
um e somente um
n
muitos ou um
opcional
obrigatório
Leitura de Relacionamentos
Cada
FUNCIONÁRIO
( 1,1 )
RESPONSÁVEL
( 0,n )
DEPENDENTE
Entidade Sujeito
funcionário
Verbo de Opcionalidade
pode
Relacionamento
ser responsável por
Grau de Relacionamento
Entidade Objeto
muitos e inclusive nenhum
dependente
24
12
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Exemplo
1. Deseja-se manter no BD informações sobre as entidades:
- Alunos;
- Cursos;
- Disciplinas; e
- Departamentos.
3. As cardinalidades descrevem que:
- cada Disciplina deve possuir um e somente um Departamento
responsável, e cada Departamento pode ser responsável por muitas e inclusive
nenhuma Disciplina;
- cada Disciplina pode possuir muitas e inclusive nenhuma Disciplina prérequisito e cada Disciplina pode ser pré-requisito de muitas e inclusive de
nenhuma Disciplina;
- cada Disciplina pode aparecer em muitos e inclusive nenhum Curso, e
cada Curso pode possuir muitas e inclusive nenhuma Disciplina em seu
currículo;
- cada Aluno deve estar inscrito em um e somente um Curso e cada
25
Curso pode ter nele inscrito muitos e inclusive nenhum Aluno.
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Exemplo
PRÉ-REQUISITO
liberada
liberadora
(0,n)
DEPARTMENTO
RESPONSÁVEL
(1,1)
(0,n)
DISCIPLINA
(0,n)
(0,n)
DISC/CURSO
(0,n)
(0,n)
ALUNO
(1,1)
INSCRIÇÃO
CURSO
26
13
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Atributo
Dado que é associado a cada ocorrência de uma entidade ou de um
relacionamento.
REPRESENTAÇÃO
EMPREGADO
ATUAÇÃO
função
tipo
data
código
nome
ENTIDADE
RELACIONAMENTO
27
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Cardinalidade de Atributos
Um atributo pode possuir uma cardinalidade, de maneira análoga à uma
entidade num relacionamento.
Esta cardinalidade define quantos valores deste atributo podem estar
associados com uma ocorrência da entidade ou relacionamento ao qual ele
pertence.
CARDINALIDADES DE INTERESSE
- Cardinalidade (1,1): obrigatória (não precisa representar a cardinalidade
no diagrama);
- Cardinalidade (0,1): opcional;
- Cardinalidade (0,n): opcional e multivalorada;
EMPREGADO
telefone(0,n)
código
nome
28
14
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Identificando Entidades
Um identificador é um 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.
IDENTIFICADOR SIMPLES
Um único atributo é suficiente para distinguir uma ocorrência da entidade
das demais ocorrências da mesma entidade.
EMPREGADO
telefone
código
nome
Somente o atributo código identifica exclusivamente um empregado.
29
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Identificando Entidades
IDENTIFICADOR COMPOSTO
Dois ou mais atributos podem ser necessários para distinguir uma
ocorrência da entidade das demais ocorrências da mesma entidade, neste caso
o identificador é dito composto.
PRATELEIRA
capacidade
número da prateleira
número do corredor
Os atributos número do corredor e número da prateleira identificam
exclusivamente uma dada prateleira.
30
15
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Relacionamento Identificador
Há casos em que o identificador de uma entidade é composto não somente
por seu ou seus atributos, mas também através de relacionamentos em que ela
participa.
código
nome
seqüência
EMPREGADO
POSSUI
(1,1)
nome
DEPENDENTE
(0,n)
A entidade Dependentes é identificada por seu atributo seqüência e pelo
relacionamento com a entidade Emprega-do.
À semelhança do atributo identificador - que tem a sua bolinha cheia - o
relacionamento identificador recebe uma linha espessa no diagrama.
31
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Relacionamento Identificador
GRUPO
código
GR/EMP
EMPRESA
número da empresa
EMP/FIL
FILIAL
número da filial
32
16
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Propriedades dos Identificadores
O identificador deverá ser MÍNIMO, isso significa que se o
identificador deve ser composto de tal forma que retirando-se um
de seus atributos ou relacionamentos que o compõem, ele deixa
de ser identificador.
EMPREGADO
telefone
nome
código
Um identificador composto poderia ser, por exemplo, os
atributos código e nome. Mas não forma um identificador mínimo
pois somente o código já é suficiente para tal.
33
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Propriedades dos Identificadores
Cada entidade deverá ter um ÚNICO identificador.
EMPREGADO
CPF
telefone
nome
código
A entidade Empregado tem dois atributos que poderiam ser o
identificador da entidade: código ou CPF. Caberá então ao
modelador decidir qual deles será utilizado como identificador.
34
17
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Identificando Relacionamentos
Um relacionamento é identificado pelas entidades dele
participantes, bem como pelos seus próprios atributos
identificadores porventura existentes.
MÉDICO
PACIENTE
CONSULTA
n
n
data/hora
O atributo identificador de relacionamento data/hora distingue
uma Consulta entre um Médico e seu Paciente entre as demais
consultas deste Médico com os seus demais Pacientes.
35
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Generalização/Especialização
Através deste conceito é possível atribuir propriedades
particulares a um subconjunto das ocorrências especializadas de
uma entidade genérica.
nome
código
FILIAL
CLIENTE
POSSUI
(1,1)
(0,n)
CPF
CGC
tipo
PESSOA
JURÍDICA
PESSOA
FÍSICA
sexo
A entidade especializada herda as propriedades da entidade
36
genérica.
18
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Generalização/Especialização
37
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Generalização/Especialização
38
19
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Generalização/Especialização
39
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Disjunção
TOTAL quando para cada ocorrência da entidade genérica existe
sempre uma ocorrência numa das entidades especializadas.
código
FILIAL
CLIENTE
POSSUI
(1,1)
nome
(0,n)
t
CPF
CGC
tipo
PESSOA
JURÍDICA
PESSOA
FÍSICA
sexo
O diagrama descreve que os clientes desta filial ou são pessoas jurídicas ou
40
pessoas físicas.
20
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Disjunção
PARCIAL quando nem toda ocorrência da entidade genérica possui
uma ocorrência numa das entidades especializadas.
código
FILIAL
nome
tipo
CLIENTE
POSSUI
(1,1)
(0,n)
p
CPF
CGC
tipo
PESSOA
JURÍDICA
PESSOA
FÍSICA
sexo
O diagrama descreve que os clientes desta filial podem ser pessoas
41
jurídicas, pessoas físicas ou outras.
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Generalização/Especialização
- Admite-se até que uma mesma entidade seja a especialização de
diversas entidades genéricas ( herança múltipla).
VEÍCULO
VEÍCULO
TERRESTRE
AUTOMÓVEL
VEÍCULO
AQUÁTICO
VEÍCULO
ANFÍBIO
BARCO
42
21
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Sobreposição
- A generalização/especialização exclusiva descreve uma
ocorrência da entidade genérica no máximo uma vez na
generalização/especialização.
- A generalização/especialização não exclusiva descreve
mais de uma ocorrência da entidade genérica na
generalização/especialização. Quando ela ocorrer deverá ser
tratada como relacionamentos entre as entidades envolvidas.
43
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Entidade Associativa
Por definição um relacionamento é uma associação entre entidades.
Na modelagem ER não é prevista a possibilidade de associar uma
entidade a um relacionamento, ou de associar dois relacionamentos entre si.
Em certas oportunidades, durante a modelagem surgem situações nas
quais é desejável permitir uma associação entre uma entidade e um
relacionamento.
MÉDICO
PACIENTE
CONSULTA
n
n
Deseja-se modelar a prescrição de medicamentos receitados aos
pacientes, com a criação da entidade Medicamentos.
44
22
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Entidade Associativa
Modelar a prescrição de medicamentos receitados aos pacientes, com a
criação da entidade Medicamentos.
1ª SOLUÇÃO
Relacionar Medicamento a Médico. Neste caso só se tem a informação
de que Médico prescreveu qual Medicamento,não se tem a informação de qual
Paciente os teve prescritos.
2ª SOLUÇÃO
Relacionar Medicamento a Paciente. Neste caso só se tem a informação
de qual Paciente teve prescrito tal Medicamento, não se tem a informação de
qual Médico os prescreveu.
3ª SOLUÇÃO
Sendo possível relacionar a entidade Medicamento com o
relacionamento entre Médico e Paciente o problema estaria resolvido.
Mas estaríamos relacionando uma entidade a um relacionamento, algo
45
não previsto no MER.
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Entidade Associativa
A solução é então transformar o relacionamento entre Médico e Paciente
numa Entidade Associativa e relacioná-la com a entidade Medicamento.
MÉDICO
n
CONSULTA
PACIENTE
n
n
PRESCRIÇÃO
n
MEDICAMENTO
46
23
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Entidade Associativa
Outra solução seria transformar o relacionamento Consulta em entidade
e relacioná-la às entidades Médico, Paciente e Medicamento.
MÉDICO
PACIENTE
(1,1)
(1,1)
PRESCRIÇÃO
PRESCRIÇÃO
n
n
CONSULTA
n
PRESCRIÇÃO
n
MEDICAMENTO
47
Marcio de Carvalho Victorino
www.dominandoti.eng.br
Símbolos - DER
48
24
FIM
25
Download

Modelo Entidade Relacionamento