Modelo ER
Parte 2
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
90
Grau de um Conjunto de
Relacionamento
Refere-se ao número de conjuntos de
entidades que participam em um conjunto
de relacionamento.
Os conjuntos de relacionamento que
envolvem dois conjuntos de entidades são
binários (ou de grau 2).
Geralmente, a maioria dos conjuntos de
relacionamento em um sistema de banco de
dados são binários.
91
Relacionamentos Ternários
Os conjuntos de relacionamento podem envolver
mais de dois conjuntos de entidades.
Exemplo: Suponha que os funcionários de um banco possam ter atividades (responsabilidades) em várias agências, com diferentes cargos em diferentes agências. Então, existe um conjunto de relacionamento ternário entre os conjuntos de entidades funcionário, cargo e agência.
Os relacionamentos entre mais de dois conjuntos
de entidades são raros. A maioria dos
relacionamentos é binária.
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
92
Relacionamento Ternário
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
ECO031 - Banco de Dados - Aulas Teóricas - 93
Exemplo – Ternário e Binário
Pessoa
N
Matricula
M
Disciplina
Binário
Aluno
CuidaMonitora
Disciplina
Professor
Auxiliado porTernário
Ministrada por94
Restrições de Cardinalidade
de Mapeamento
Expressam o número de entidades ao qual outra
entidade pode ser associada por meio 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
-95
Cardinalidade
Um-para-um (a) Um-para-muitos (b)
Nota: Alguns elementos em A e B podem não ser mapeados para quaisquer elementos no outro conjunto.
ECO031 Banco de Dados Aulas Teóricas
-Fabiana Costa Guedes 96
Cardinalidade
Muitos-para-um (a)
Muitos-para-muitos (b)
Nota: Alguns elementos em
A
e
B
podem não
ser mapeados para quaisquer elementos no
outro conjunto.
97
Funções
Conjuntos de entidades de um relacionamento não precisam ser distintos
Os rótulos “gerente”e “funcionário”são chamados funções; eles especificam como as entidades de funcionário interagem por meio do conjunto de relacionamento trabalha_para.
As funções são indicadas nos diagramas ER rotulando as linhas que conectam os losangos aos retângulos.
Os rótulos de função são opcionais e são usados para esclarecer a semântica do relacionamento
98
Relacionamento um-para-um
Expressamos as restrições de cardinalidade desenhando uma linha direcionada (→), significando “um”, ou uma linha não direcionada (—), significando “muitos”, entre o conjunto de relacionamento e o conjunto de entidades.
Relacionamento um-para-um:
Um cliente está associado, no máximo, a um empréstimo por meio do relacionamento tomador
Um empréstimo está associado, no máximo, a um cliente por meio de tomador
99
Relacionamento
um-para-muitos
No relacionamento um-para-muitos, um
empréstimo está associado, no máximo, a
um cliente por meio de
tomador
, um cliente
está associado a vários (inclusive 0)
empréstimos através de
tomador
100
Relacionamento
muito-para-um
Em um relacionamento muitos-para-um,
um empréstimo está associado a vários
(inclusive 0) clientes por meio de
tomador
,
um cliente está associado, no máximo, a
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
101
Relacionamento
muitos-para-muitos
Um cliente está associado a vários
(possivelmente 0) empréstimos por
meio de
tomador
Um empréstimo está associado a
vários (possivelmente 0) clientes por
meio de
tomador
102
Exemplos
Pessoa Matricula Disciplin
a
Carro Compostapor Pessoa
Ementa Possui Disciplina
M
Muitos para Muitos
N
N
Um para Muitos
1
1
Um para Um
1
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
103
Disciplina
▪
?
Aluno
N ?
Monitora
Professor
?
?
Cardinalidade Ternário
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
ECO031 Banco de Dados Aulas Teóricas
-Fabiana Costa Guedes 104
Disciplina
▪
?
Aluno
N
Monitora
Professor
?
? 1
Cardinalidade Ternário
105
Disciplina
▪
?
Aluno
N
Monitora
Professor
? N
1
Cardinalidade Ternário
106
▪
▪
▪
Aluno
N
Monitora
Disciplina
Professor
N
1
Cardinalidade Ternário
-107
Participação de um Conjunto de Entidades
em um Conjunto de Relacionamento
Participação total (indicada por uma linha dupla): cada entidade no conjunto de entidades participa no mínimo em um relacionamento no conjunto de relacionamento
Por exemplo, a participação de empréstimo em tomador é total Cada empréstimo precisa ter um cliente associado por meio de tomador
Participação parcial: algumas entidades podem não participar em relacionamento algum no conjunto de relacionamento
Exemplo: a participação de cliente em tomador é parcial
ECO031 Banco de Dados Aulas Teóricas
-Fabiana Costa Guedes 108
Notação Alternativa para
Limites de Cardinalidade
Os limites de cardinalidade também podem
expressar restrições de participação.
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
109
▪
!
"
!
Aceito s/n
Nota
!
#
Pessoa
N
Matricula
M
Disciplina
Concluir
ECO031 Banco de Dados Aulas Teóricas
-Fabiana Costa Guedes 110
Disciplina Pré
-Requisito
#
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
111
▪
$
!
%
&
'
!
#
Produto
(
%
)
*
+
%
)
*
Vendida
P
'
!
#
Empresa Negociar
M
N
Compra
Vende
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
112
Exercício
Faça o modelo completo para o seguinte Mini-Mundo:
A loja vende produtos dos mais variados tipos, que são identificados por um código único;
Cada produto possui descrição, preço de custo, preço de venda, quantidade em estoque;
Cada produto é comprado apenas de um fornecedor, mas o mesmo fornecedor pode vender vários produtos para a loja; Os clientes da loja possuem um cadastro que identificam na hora da venda. Se o cliente for especial, este terá direito a optar por diversas formas de pagamento, ou a ter um desconto à vista;
Os funcionários da loja, além de um salário fixo, recebem comissão sobre as vendas realizadas por eles.
O gerente da loja quer saber quando foi vendido a cada dia, quais são os produtos que estão com pouco estoque e qual é a forma de pagamento mais utilizada.
Modelo ER
Parte 3
114
Entidades Fracas
É um conjunto de entidades que não tem atributos suficientes para formar uma chave primária
A existência de um conjunto de entidades fraco depende da existência de um conjunto de entidades identificador (ou proprietário)
Ele precisa se relacionar com o conjunto de entidades identificador através de um conjunto de relacionamento um-para-muitos total, do identificador para o conjunto de entidades fraco
Relacionamento identificador descrito usando um losango duplo O discriminador (ou chave parcial) de um conjunto de entidades fraco é o conjunto de atributos que distingue entre todas as entidades de um conjunto de entidades fraco.
A chave primária de um conjunto de entidades fraco é formada pela chave primária do conjunto de entidades forte em que o conjunto de entidades fraco é dependente de existência, mais o discriminador do conjunto de entidades fraco.
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
ECO031 Banco de Dados Aulas Teóricas
-Fabiana Costa Guedes 115
Entidades Fracas
Representamos um conjunto de entidades fraco por retângulos duplos.
Sublinhamos o discriminador de um conjunto de entidades fraco com uma linha tracejada.
número_pagamento — discriminador do conjunto de entidades
pagamento.
Chave primária para pagamento — (número_empréstimo, número_pagamento)
116
Entidades Fracas
Nota: A chave primária do conjunto de entidades
forte não é explicitamente armazenada com o
conjunto de entidades fraco, já que ela está
implícita no relacionamento identificador.
Se
número_empréstimo
fosse explicitamente
armazenado,
pagamento
poderia se tornar uma
entidade forte, mas, então, o relacionamento entre
pagamento
e
empréstimo
seria duplicado por um
relacionamento implícito definido pelo atributo
número_empréstimo
comum a
pagamento
e
empréstimo
.
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
117
Especialização
Processo de projeto de cima para baixo: Designamos subagrupamentos dentro de um conjunto de entidades que são distintivos de outras entidades no conjunto.
Esses subagrupamentos se tornam conjuntos de entidades de nível inferior que possuem atributos ou participam em relacionamentos que não se aplicam ao conjunto de entidades de nível superior.
Representada por um componente triângulo rotulado ISA (por exemplo, cliente “é uma”pessoa).
Herança de atributo —Um conjunto de entidades de nível inferior herda todos os atributos e a participação de relacionamento do conjunto de entidades de nível superior ao qual está vinculado.
ECO031 - Banco de Dados - Aulas Teóricas - 118
Especialização
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
119
Generalização
Combina vários conjuntos de entidades que
compartilham os mesmos recursos em um
conjunto de entidades de nível superior.
A especialização e a generalização são
simples inversões uma da outra; são
representadas em um diagrama ER da
mesma maneira.
Os termos especialização e generalização
são usados indistintamente.
120
Restrições em Generalizações
Restrição sobre que entidades podem ser membros de um determinado conjunto de entidades de nível inferior
Definido por condição
Exemplo: Todos os clientes com mais de 65 anos são membros do conjunto de entidades cidadão_senior; cidadão_senior ISA pessoa.
Definido pelo usuário
Restrição sobre se ou não as entidades podem pertencer a mais de um conjunto de entidades de nível inferior dentro de uma única generalização.
Disjuntos
uma entidade pode pertencer a não mais que um conjunto de entidades de nível inferior
Indicados no diagrama ER pela inscrição de disjunto ao lado do triângulo ISA
Superpostos
um conjunto de entidades pode pertencer a mais de um conjunto de entidades de nível inferior
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
121
Restrições em Generalização
Restrição de integralidade — Especifica se
ou não uma entidade no conjunto de
entidades de nível superior precisa
pertencer a pelo menos um dos conjuntos
de entidades de nível inferior dentro de uma
generalização
total
: Uma entidade precisa pertencer a um
conjunto de entidades de nível inferior
parcial
: Uma entidade não precisa pertencer a
um conjunto de entidades de nível inferior
ECO031 Banco de Dados Aulas Teóricas
-Fabiana Costa Guedes 122
Agregação
Considere o
relacionamento
ternário trabalha_em,
que vimos
anteriormente
Suponha que
queremos registrar
gerentes para tarefas
realizadas por um
funcionário em uma
agência
123
Agregação
Os conjuntos de relacionamento trabalha_em e gerencia
representam informações superpostas
Cada relacionamento gerencia corresponde a um relacionamento
trabalha_em
Entretanto, alguns relacionamentos trabalha_em podem não corresponder a nenhum relacionamentos gerencia
Portanto, não podemos descartar o relacionamento trabalha_em
Elimine essa redundância através da agregação Trate relacionamento como uma entidade abstrata Permite relacionamentos entre relacionamentos Abstração de relacionamento em nova entidade
Sem introduzir redundância, o diagrama a seguir representa: Um funcionário trabalha em um cargo específico em uma agência específica
Um funcionário, agência ou combinação de cargos pode ter um gerente associado
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
124
Agregação
ECO022 Banco de Dados Aulas Teóricas
-Fabiana Costa Guedes 125
Modelo ER para Instituição
Bancária
126
Resumo dos Símbolos
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
127
Resumo dos Símbolos
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
128
Notações ER Alternativas
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
129
Notação ER Alternativa
ECO031 - Banco de Dados - Aulas Teóricas - 130
▪
,
-
+
+
./
+
"
+
+
-131
▪
0 1
/
▪
2 0 3
+
"
"
▪
4 0
5
6
"
▪ ! " ' 7
" .8 9
▪
%
"
▪ # .8 ) * # +
+
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
132
▪
: 0 7
&
!
%
▪ : 0 "
& +
▪
; 0 7
!
%
"
▪
< 0 7
"
▪ < 0 7 " /
! %
▪ <" 0 7 ! % /
" " 7
▪
+
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
133
▪
= 0 7
!
#
▪
> 0
'
!
#
▪ > 0 7 ' / & !
!
▪ >" 0 7 !
/ ' !
▪
? 0 7
!
"
+
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
134
▪
@ 0 #
"
"
!
'
▪
▪
0 7
.8
# +
A 3
!
/
0
B
/
/
2
+
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
135
▪
2 0
.8
"
/
▪ 2 0 7 ! C
D A 3 &
/ A
! ./
! #
▪
4 0 7
!
'
/
/
!
+
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
136
▪
: 0 7
!
E 2 /
5
"
6
2
!
#
▪
; 0 7
!
%
/
+
!
#
+
137
Exercício
Faça o modelo completo para o seguinte Mini-Mundo:
A loja vende produtos dos mais variados tipos, que são identificados por um código único;
Cada produto possui descrição, preço de custo, preço de venda, quantidade em estoque;
Cada produto é comprado apenas de um fornecedor, mas o mesmo fornecedor pode vender vários produtos para a loja; Os clientes da loja possuem um cadastro que identificam na hora da venda. Se o cliente for especial, este terá direito a optar por diversas formas de pagamento, ou a ter um desconto à vista;
Os funcionários da loja, além de um salário fixo, recebem comissão sobre as vendas realizadas por eles.
O gerente da loja quer saber quando foi vendido a cada dia, quais são os produtos que estão com pouco estoque e qual é a forma de pagamento mais utilizada.
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
Modelo ER
Parte 4
139
▪
#
.8
+
/
+
-
.8
#
.8
#
"
9
▪
%
#
.8
+
A %
4
/
9
▪ # .8 ( &
▪ # .8 F + %
▪ # .8 F + #
./
G
#
.8
F
+
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
140
▪
#
.8
F
+
&
▪
(
&
)
/ *
./
▪
#
.8
F
+
%
▪
&
./
/
&
./
▪
#
.8
F
+
#
▪
$
F
+
#
./
G
#
.8
F
+
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
141
▪
&
%
+
▪
!
"
-0
"
/
!
"
"
"
"
&
"
+
"
▪
(
!
!
"
/ ' &
#
'
!
"
' &
./ #
2./
G
#
.8
F
+
#
ECO031 - Banco de Dados - Aulas Teóricas - 142
▪
./
F
+
#
8
"
./ #
"
./ #
2"
' &
A
./
G
#
.8
F
+
#
-143
H I
A
F
J H
IK
24: 2@E K
:42
2;E
K
;:42 22E K
24:; 2 EJ
H I3 +
A
J H
IK3 %L @:
24:E K3 %L 24 2222E
K3 %L :?
24:E K3 %L >?
EJ
&
+
./
G
#
.8
F
+
0 %
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
ECO022 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
144
H I
A
F
J H
IK
24: 2@E K
:42
E
K
;:42 22E K
24:; 2 EJ
H I3 +
A
J H
IK3 %L @:
24:E K3 %L 24 2222E
K3 %L :?
24:E K3 %L >?
EJ
./
G
#
.8
F
+
0 %
7
7
&
"
' &
ECO022 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
145
H I
A
F
J H
IK
24: 2@E K
:42
E
K
22E K
24:; 2 EJ
H I3 +
A
J H
IK3 %L @:
24:E K3 %L 24 2222E
K3 %L :?
24:E K3 %L >?
EJ
./
G
#
.8
F
+
0 %
&
F
#
./
F
+
%
ECO022 Banco de Dados Aulas Teóricas-Fabiana Costa Guedes
146
H I
A
F
J H
IK
24: 2@E K
:42
2;E
K
24: 22E K
24:; 2 EJ
H I3 +
A
J H
IK3 %L @:
24:E K3 %L 24 2222E
K3 %L :?
24:E K3 %L >?
EJ
./
G
#
.8
F
+
0 %
&
F+
F
#
./
(
&
ECO022 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
147
H I
A
F
J H
IK
24: 2@E K
:42
2;E
K
;:42 22E K
24:; 2 EJ
H I3 +
A
J H
IK3 %L @:
24:E K3 %L 24 2222E
K3 %L :?
24:E K3 %L >?
EJ
./
G
#
.8
F
+
0 %
& % +
' &
F
#
./
F
+
#
ECO022 Banco de Dados Aulas Teóricas-Fabiana Costa Guedes
148
H I
A
F
J H
IK
24: 2@E K
:42
E
K
22E K
24:; 2 EJ
H I3 +
A
J H
IK3 %L @:
24:E K3 %L 24 2222E
K3 %L :?
24:E K3 %L >?
EJ
./
G
#
.8
F
+
0 %
& +
7
A
' &
+
/ '
ECO022 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
149
H I
A
F
J H
IK
24: 2@E K
:42
E
K
22E K
24:; 2 EJ
H I3 +
A
J H
IK3 %L @:
24:E K3 %L 24 2222E
K3 %L :?
24:E K3 %L >?
EJ
./
G
#
.8
F
+
0 %
& +
7
A
' &
+
/ '
&
150Exercício
Faça o modelo completo para o seguinte Mini-Mundo: A loja vende produtos dos mais variados tipos, que são identificados por um código único;
Cada produto possui descrição, preço de custo, preço de venda, quantidade em estoque;
Cada produto é comprado apenas de um fornecedor, mas o mesmo fornecedor pode vender vários produtos para a loja; Os clientes da loja possuem um cadastro que identificam na hora da venda. Se o cliente for especial, este terá direito a optar por diversas formas de pagamento, ou a ter um desconto à vista;
Os funcionários da loja, além de um salário fixo, recebem comissão sobre as vendas realizadas por eles.
O gerente da loja quer saber quando foi vendido a cada dia, quais são os produtos que estão com pouco estoque e qual é a forma de pagamento mais utilizada.
Fazer exercícios lista 1.