Você está na página 1de 24

Banco de Dados

Aula 04 – Modelo ER (continuação)


Alexandre Plastino - plastino@ic.uff.br

Banco de Dados - Aula 03 – Modelo ER 1 21/08/19


FORNECEDOR PROJETO

FORNECE Relacionamento Ternário

PEÇA

•  Uma instância (s,p,j) do


relacionamento FORNECE
representa que o fornecedor s
fornece uma peça p para ser
utilizada no projeto j.

Banco de Dados - Aula 03 – Modelo ER 2 21/08/19


Grau do Relacionamento

§  O grau do relacionamento representa o número de


entidades participantes (ou de participações).

•  TRAB é um relacionamento binário (de grau 2);


•  FORNECE é um relacionamento ternário (de grau 3);
•  SUPERVISÃO é um relacionamento binário (de grau 2);

Banco de Dados - Aula 03 – Modelo ER 3 21/08/19


(S1,P1,J1) Ternário
(S2,P1,J2)
(S3,P1,J3)
PROJETO
Um relacionamento Cada instância indica
ternário não é equivalente que uma peça é
a dois binários. utilizada em um
determinado projeto.

FORNECEDOR PEÇA (P1,J1)


(P1,J2)
(P1,J3)
Cada instância indica que
(S1,P1) uma peça é fornecida por
(S2,P1) um determinado
(S3,P1) fornecedor.

Banco de Dados - Aula 03 – Modelo ER 4 21/08/19


Ternário (S1,P1,J1)
Um relacionamento ternário também não (S1,P2,J2)
é equivalente a três binários. (S2,P1,J2)
(S2,P2,J1)

(S1,J1) PROJETO
(S1,J2)
(S2,J1)
(S2,J2) (P1,J1)
(P2,J2)
(P1,J2)
(P2,J1)
FORNECEDOR PEÇA

(S1,P1) “A peça P1, utilizada no projeto J1,


(S1,P2) deve ser fornecida pelo fornecedor
(S2,P1) S1” é uma informação não
(S2,P2) capturada pelos três binários.

Banco de Dados - Aula 03 – Modelo ER 5 21/08/19


Totalidade (participação total)

N 1
EMPREGADO TRAB DEPARTAMENTO

•  Cada empregado trabalha em no mínimo um e


no máximo em um departamento;
•  Ou: cada empregado trabalha em um e somente um departamento.

OBS: N:1, N:M, 1:1 representam cardinalidades máximas;


totalidade representa a cardinalidade mínima.

Banco de Dados - Aula 03 – Modelo ER 6 21/08/19


Totalidade (participação total)

N M
EMPREGADO TRAB-EM PROJETO

•  Cada projeto tem no mínimo um empregado (pode ter mais de um).

Banco de Dados - Aula 03 – Modelo ER 7 21/08/19


Totalidade (participação total)

1 1
EMPREGADO GERENCIA DEPARTAMENTO

•  Cada departamento é gerenciado no mínimo por um e


no máximo por um empregado gerente;
•  Ou: cada departamento tem um e somente um gerente.

Banco de Dados - Aula 03 – Modelo ER 8 21/08/19


Relacionamento N-ário

CIDADE DISTRIBUIDOR

Uma instância (d,p,c)


do relacionamento
DISTRIBUI indica
DISTRIBUI que um distribuidor d
fornece um produto p
para uma cidade c.

PRODUTO

Banco de Dados - Aula 03 – Modelo ER 9 21/08/19


Relacionamento N-ário

CIDADE DISTRIBUIDOR

1 Esta cardinalidade “1”


se refere a um par de
cidade e produto.
DISTRIBUI
Um par (produto,cidade)
pode estar associado a no
máximo um distribuidor.

Um produto pode ser


PRODUTO distribuído para uma
mesma cidade por no
máximo um distribuidor.

Banco de Dados - Aula 03 – Modelo ER 10 21/08/19


Relacionamento N-ário

CIDADE DISTRIBUIDOR

N 1 Esta cardinalidade “N”


se refere a um par de
distribuidor e produto.
DISTRIBUI
Um par (distribuidor,produto)
pode estar associado a
várias cidades.

Um distribuidor pode
PRODUTO distribuir um mesmo produto
para várias cidades.

Banco de Dados - Aula 03 – Modelo ER 11 21/08/19


Relacionamento N-ário

CIDADE DISTRIBUIDOR

N 1 Esta cardinalidade “N”


se refere a um par de
distribuidor e cidade.
(D1,P1,C1) DISTRIBUI
(D1,P1,C2) Um par (distribuidor,cidade)
(D1,P2,C2) pode estar associado a
(D2,P2,C2) possíveis vários produtos.
N
instâncias
Um distribuidor pode
PRODUTO distribuir para uma mesma
cidade vários produtos.
Identificador(DISTRIBUI)={(produto,cidade)}

Banco de Dados - Aula 03 – Modelo ER 12 21/08/19


Relacionamento N-ário
(F1,P1,J1)
(F1,P1,J2)
(F1,P2,J2)
FORNECEDOR PEÇA possíveis (F2,P2,J2)
instâncias

N N
-  um fornecedor pode fornecer uma
mesma peça para vários (N) projetos.
FORNECE
-  um fornecedor pode fornecer para um
mesmo projeto várias (N) peças.
N
-  uma peça pode ser fornecida por vários
(N) fornecedores para um mesmo projeto.
PROJETO

Identificador(FORNECE)={(fornecedor,peça,projeto)}

Banco de Dados - Aula 03 – Modelo ER 13 21/08/19


Relacionamento N-ário

A B

1 1

R
Identificadores(R) = ???
N

Banco de Dados - Aula 03 – Modelo ER 14 21/08/19


Relacionamento N-ário

A B

1 1

R
Identificadores(R) =
N {(A,C),(B,C)}

Banco de Dados - Aula 03 – Modelo ER 15 21/08/19


Relacionamento com Atributos

N M
EMPREGADO TRAB-EM PROJETO

NHoras

Uma instância (e,p,h) do relacionamento


TRAB-EM representa que o empregado e
trabalha no projeto p, h horas.

Instâncias: {(e1,p1,4), (e1,p2,6),(e2,p2,8)}

Identificador(TRAB-EM)={(Empregado,Projeto)}

Banco de Dados - Aula 03 – Modelo ER 16 21/08/19


Relacionamento com Atributos

N M
ALUNO CURSA DISCIPLINA

Semestre Nota

Uma instância (a,d,s,n) do relacionamento


CURSA indica que o aluno a cursou a disciplina d,
no semestre s, e obteve a nota n.
Observe que em um mesmo aluno pode cursar a
mesma disciplina em semestres diferentes.

Identificador(CURSA) = ???

Banco de Dados - Aula 03 – Modelo ER 17 21/08/19


Relacionamento com Atributos

N M
ALUNO CURSA DISCIPLINA

Semestre Nota

Uma instância (a,d,s,n) do relacionamento


CURSA indica que o aluno a cursou a disciplina d,
no semestre s, e obteve a nota n.
Observe que em um mesmo aluno pode cursar a
mesma disciplina em semestres diferentes.

Identificador(CURSA)={(Aluno,Disciplina,Semestre)}

Banco de Dados - Aula 03 – Modelo ER 18 21/08/19


Relacionamento com Atributos

N M
MÉDICO CONSULTA PACIENTE

Data-Hora

Uma instância (m,p,dh) do relacionamento


CONSULTA indica que o médico m atendeu o
paciente p na data e hora dh.
Como o relacionamento CONSULTA é identificado?

Banco de Dados - Aula 03 – Modelo ER 19 21/08/19


Relacionamento com Atributos

N M
MÉDICO CONSULTA PACIENTE

Data-Hora

Uma instância (m,p,dh) do relacionamento


CONSULTA indica que o médico m atendeu o
paciente p na data e hora dh.
Como o relacionamento CONSULTA é identificado?

Identificadores(CONSULTA) =
{(Médico,Data-Hora), (Paciente,Data-Hora)}

Banco de Dados - Aula 03 – Modelo ER 20 21/08/19


Entidade Fraca
Trata-se de uma entidade não identificada pelos
próprios atributos (que não possui uma chave própria).
Nesse caso, existe a necessidade de estar associada a
uma entidade proprietária.
Entidade Fraca

1 N
EMPREGADO POSSUI DEPENDENTE

Matr Nome Nome GrauPar

Entidade Proprietária Chave Parcial


Relacionamento Identificador

Banco de Dados - Aula 03 – Modelo ER 21 21/08/19


Entidade Fraca Participação Total

1 N
EMPREGADO POSSUI DEPENDENTE

Matr Nome Nome GrauPar

(0001,Pedro) (João,filho)
(0002,Carlos) (Maria,filha)
(0003,Maria) (João,filho)

Identificador de DEPENDENTE: Matr + Nome

Identificador da Entidade Fraca = Chave Parcial + Chave da Entidade Prop.

Banco de Dados - Aula 03 – Modelo ER 22 21/08/19


Entidade Fraca Participação Total

1 N
DISCIPLINA POSSUI TURMA

Cod Nome Seq AnoSem

(0001,Prog I) (A1,2010-1)
(0002,BD) (A1,2010-1)
(A2,2010-1)

Identificador de TURMA: Cod + Seq + AnoSem

Identificador da Entidade Fraca = Chave Parcial + Chave da Entidade Prop.

Banco de Dados - Aula 03 – Modelo ER 23 21/08/19


Restrição Semântica

Regras (ou restrições) que devem valer na base de


dados e, portanto, devem ser especificadas, mas
que não podem ser capturadas/representadas
através do modelo de dados conceitual.

Exemplos:
-  Um funcionário não pode ganhar mais do que
o seu gerente.
-  Um aluno não pode cursar mais de 32 créditos
em um mesmo semestre.

Banco de Dados - Aula 03 – Modelo ER 24 21/08/19

Você também pode gostar