if685 – gerenciamento de dados e informação - prof. robson...

68
IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1/64

Upload: others

Post on 03-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1/64

Page 2: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 2/64

Projeto Conceitual de BD

Modelo Conceitual

Entidade e RelacionamentoPor:

Robson do Nascimento [email protected]

Page 3: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 3/64

“O mundo está cheio de objetos (entidades), que possuem características próprias (atributos) e que se relacionam entre si (relacionamentos)”

Peter Chen

Page 4: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 4/64

Um pouco de História...

• O modelo E.R. é baseado na teoria

relacional criada em 1970 por

Edgar F. Codd (1923 – 2003)

• Este foi originalmente definido por

Peter Chen em 1976 e posteriormente,

na década de 80, sofreu algumas

extensões (ex: agregação e herança)

Page 5: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 5/64

Modelo Entidade-Relacionamento

• Linguagem de modelagem gráfica para construir modelos conceituais de BD

� Mais difundida e utilizada pela comunidade de BD

• É um Padrão para modelagem conceitual� Modelo simples

• Poucos conceitos

� Representação gráfica• Fácil compreensão

Page 6: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 6/64

Modelo Entidade-Relacionamento

• Não é único:

� Diagrama de Classes de UML

� (Diagramas de Classes de UML baseiam-se nos conceitos

da abordagem ER)

• Atenção:

� Esquema ER = Diagrama ER <> Modelo ER!

Page 7: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 7/64

Modelo Entidade-Relacionamento

• Representa o significado dos dados como:

� Entidades

� Relacionamentos

� Atributos

Componentes Básicos

Page 8: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 8/64

Conceitos

Básicos

Modelo Entidade-Relacionamento

Page 9: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 9/64

Entidades

• 1) É um conjunto de objetos concretos (cliente,livro,...) ou

abstratos (conta,empréstimo,...) que são: unívocos, de um

mesmo tipo e que compartilham as mesmas propriedades.

� EX: Um banco tem contas e clientes = Entidades Cliente e Conta

• 2) Conjunto de objetos da realidade modelada sobre os

quais deseja-se manter informações no BD

• Entidade X Instância de Entidade

� Para referir um objeto particular fala-se em instância ou ocorrência

de entidade

� Tem autores que consideram um objeto específico como uma

entidade e o conjunto desses objetos como conjunto de entidades

Page 10: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 10/64

Entidades

3333

1111

2222

4444

5555

Conta

Rafael

Ana

Rita

Pedro

Cliente

• Abstração Informal

Page 11: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 11/64

Entidades

• Representação Gráfica

� Símbolo: Retângulo nomeado

Page 12: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 12/64

Relacionamentos

• 1) Conjunto de associações do mesmo tipo entre ocorrências

de entidades

� EX: Todos os cliente de um banco têm contas = Relacionamento Tem

• 2) Conjunto de associações entre ocorrências de entidades

sobre as quais deseja-se manter informações no BD

• Relacionamento X Instância de Relacionamento

� Para referir um relacionamento particular fala-se em instância ou

ocorrência de relacionamento

� Tem autores que consideram uma associação específica como um

relacionamento e o conjunto de associações como conjunto de

relacionamentos

Page 13: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 13/64

Relacionamentos

3333

1111

2222

4444

5555

Contas

Rafael

Ana

Rita

Pedro

Clientes

• Abstração Informal

Page 14: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 14/64

Relacionamento

• Representação Gráfica

� Símbolo: Losango nomeado

MovimentaMovimenta

Page 15: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 15/64

Relacionamentos

• Cardinalidade de relacionamento

� Determina a quantidade (mínima e máxima) de ocorrências de relacionamentos que uma instância de entidade pode ter com outras instâncias de entidades

� EX:

(min, (min, maxmax)) (min, (min, maxmax))MovimentaMovimenta

Page 16: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 16/64

Relacionamentos

• Cardinalidade mínima de um relacionamento� Determina a quantidade mínima de ocorrências de

relacionamentos que uma instância de entidade pode ter com outras instâncias de entidades

• Indica se a participação das ocorrências de entidades no relacionamento é obrigatória ou opcional

� Valores válidos• Min = 0 � relacionamento opcional ou parcial

• Min > 0 � relacionamento obrigatório ou total

• Min ≤ Max!

� Para efeito prático apenas duas cardinalidades mínimas são relevantes � 0 e 1.

Page 17: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 17/64

Relacionamentos

• Cardinalidade mínima de um relacionamento

� EX: (1, (1, maxmax)) (0, (0, maxmax))

(0, (0, maxmax)) (1, (1, maxmax))

(0, (0, maxmax)) (0, (0, maxmax))

(1, (1, maxmax)) (1, (1, maxmax))

Um cliente não precisa movimentar uma conta. Uma conta é no mínimo movimentada por um cliente.

Um cliente movimenta no mínimo uma conta. Uma conta não precisa ser movimentada por um cliente.

Um cliente não precisa movimentar uma conta. Uma conta não precisa ser movimentada por um cliente.

Um cliente movimenta no mínimo uma conta. Uma conta é no mínimo movimentada por um cliente.

MovimentaMovimenta

MovimentaMovimenta

MovimentaMovimenta

MovimentaMovimenta

Page 18: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 18/64

Relacionamentos

• Cardinalidade máxima de um relacionamento

� Determina a quantidade máxima de ocorrências de relacionamentos que uma instância de entidade pode ter com outras instâncias de entidades

� Valores válidos• Max > 0 !

• Max ≥ Min !

� Para efeito prático apenas duas cardinalidades máximas são relevantes � 1 e n.

Page 19: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 19/64

Relacionamentos

• Cardinalidade máxima de um relacionamento

� EX: (min, 1)(min, 1) (min, n)(min, n)

(min, n)(min, n) (min, 1)(min, 1)

(min, 1)(min, 1) (min, 1)(min, 1)

(min, n)(min, n) (min, n)(min, n)

Um cliente pode movimentar várias contas. Uma conta pode ser movimentada no máximo por um cliente.

Um cliente pode movimentar no máximo uma conta. Uma conta pode ser movimentada por vários clientes

Um cliente pode movimentar no máximo uma conta. Uma conta pode ser movimentada por no máximo um cliente

Um cliente pode movimentar várias contas. Uma conta pode ser movimentada por vários clientes

MovimentaMovimenta

MovimentaMovimenta

MovimentaMovimenta

MovimentaMovimenta

Page 20: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 20/64

Relacionamentos

• Exemplos cardinalidade mínima e máxima

(1, 1)(1, 1) (0, n)(0, n)

(1, n)(1, n) (1, n)(1, n)

Um Cliente não precisa movimentar conta, mas pode movimentar várias. Uma conta é movimentada por um e somente um cliente.

Um Cliente tem que movimentar pelo menos uma conta, mas pode movimentar várias. Uma Conta é movimentada por no mínimo de um cliente, mas pode ser movimentada por vários.

MovimentaMovimenta

MovimentaMovimenta

Page 21: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 21/64

Relacionamentos

• Exemplos cardinalidade mínima e máxima

� Nas primeiras iterações do projeto conceitual, pode-se usar apenas as cardinalidades máximas dos relacionamentos. Contudo recomenda-se que as cardinalidades mínimas sejam definidas o quanto antes.

� Considerando apenas as cardinalidades máximas tem-se os seguintes tipos de cardinalidades

• 1:1 – Um para Um

• 1:n – Um para Vários

• n:n – Vários para Vários

Page 22: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 22/64

• As vezes pode existir mais de um relacionamento entre as mesmas entidades

Relacionamentos

Page 23: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 23/64

Atributos

• São propriedades descritivas de uma entidade ou relacionamento

• Uma entidades sempre é representado por um conjunto de atributos � Atributos de uma entidade Cliente

• nome, CPF, rua, cidade, telefone...

� Atributos de uma entidade Conta • numero, data_abertura, saldo...

Page 24: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 24/64

Atributos

• Em algumas situações relacionamentos também podem ter atributos:

� Atributos de um relacionamento n:n entre cliente e conta• data/hora dos saques, valor dos saques, ...

Page 25: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 25/64

Atributos

• A cardinalidade do relacionamento afeta a inserção de atributos nos relacionamentos ou nas entidades� Para 1:1, 1:N ou N:1 → optar por inserir nas entidades

• Cuidado, pois isso pode não ser o mais adequado

� Para N:M → pode ser inserido no relacionamento• Cliente-Conta (1:N) – um atributo “ultimo acesso” ficar em conta

• Cliente-Conta (N:M) – um atributo “ultimo acesso” fica no relacionamento

Page 26: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 26/64

Atributos

• Cada instância de uma entidade ou relacionamento

tem seu próprio valor para cada atributo.

� Ex: nome → Rita, Ana, Pedro, Rafael, ...

conta → 1111, 2222, 3333, 4444, ...

Valor dos saques → R$100, R$200, R$300, R$400, ...

Page 27: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 27/64

Atributos

3333

1111

2222

4444

5555

Contas

Rafael

Ana

Rita

Pedro

Clientes

• Abstração InformalR$100

R$200

R$300

R$400

R$500

R$600

Page 28: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 28/64

Atributos

• Tipos de atributos

� Simples ou Composto

� Monovalorado ou Multivalorado

� Obrigatórios X Opcional

Page 29: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 29/64

Atributos

• Atributo simples: não pode ser dividido

• Atributo composto: pode ser dividido em outros

atributos

� São usados quando deseja-se referir ao atributo como um

todo em certas ocasiões e somente a parte dele em outras

� Ex: nome do cliente pode ser estruturado em prenome,

nome-intermediário e sobrenome

Page 30: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 30/64

Atributos

• Atributo monovalorado:

� O atributo só possui um valor para uma instância de

entidade

• EX: Rafael só pode ter um valor para o atributo CPF

• Atributo multivalorado:

� O atributo pode possuir vários valores para uma instância

de entidade

• EX: Rafael pode ter vários valores para o atributo telefone

Page 31: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 31/64

Atributos

• Atributo obrigatórios:

� São atributos que não podem ter o valor nulo (vazio)

• EX: O atributo CPF não pode ser nulo

• Atributo opcionais:

� São atributos que podem ter o valor nulo (vazio)

• EX: o certificado de reservista de um cliente pode ser vazio!

ATENÇÃO:

Nulo ≠ Zero !

Page 32: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 32/64

Atributos

• Exemplos

Legenda:* Opcional* Obrigatório* Mono-valorado* Multi-valorado* Simples* Composto

* * ** * *

* * ** * *

* * *

Page 33: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 33/64

Atributos

• Atributo Identificador (atributo chave)

� Usado para identificar uma instância de uma entidade ou de um relacionamento

� Pode ser:• Simples (um atributo) ou Composto (vários atributos)

� Um identificador deve ser mínimo

Page 34: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 34/64

Atributos

Identificadores Simples

• Atributo Identificador – Exemplos

(CPF-1, . . .) ����(CPF-2, . . .) ����(CPF-3, . . .) ����(CPF-3, . . .) ����

. . .

(CC1, . . .) ����(CC2, . . .) ����(CC3, . . .) ����(CC4, . . .) ����

. . .

(CPF-1, CC1, 1111-01-01/01:01:01, 100) ����(CPF-1, CC1, 1111-01-01/02:02:02, 200) ����(CPF-2, CC1, 1111-01-01/03:03:03, 300) ����(CPF-2, CC1, 1111-01-01/03:03:03, 400) ����

. . .

Page 35: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 35/64

Atributos

Identificador Composto

• Atributo Identificador - Exemplos

(Ag-1, CC1, . . .) ����(Ag-1, CC2, . . .) ����(Ag-2, CC1, . . .) ����(Ag-2, CC2, . . .) ����(Ag-2, CC2, . . .) ����

. . .

Page 36: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 36/64

Modelo Entidade-Relacionamento

• Resumindo ...� No mundo real normalmente pode-se correlacionar:

• Entidades = Substantivos� Empregado, Nota Fiscal, Livro, Consulta

• Atributos = Complementos� Nome, Número, Valor, Cor

• Relacionamentos = Verbos� Ter, Empregar, Prescrever, Gerenciar

Esta metáfora não é regra!Pode-se nomear relacionamentos a

partir dos nomes das entidades envolvidasEX: cliente_conta

Page 37: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 37/64

Conceitos

Avançados

Modelo Entidade-Relacionamento

Page 38: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 38/64

Relacionamento

• Problema 1: Considere o seguinte cenário

� Clientes podem ter vários dependentes

� Dependentes precisam do identificador de Cliente para formar o seu

Como modelar este problema?

Page 39: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 39/64

• Relacionamento Identificador (Entidade Fraca)� A entidade não tem atributos suficientes para formar seu

identificador

� Só existe quando a entidade está relacionada a outra entidade

� Usa o identificador da entidade Forte para formar o seu

Relacionamento

RepresentaçãoGráfica

Page 40: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 40/64

• Relacionamento Identificador - Recursão

Relacionamento

O termo Entidade Fraca deve ser usado com cautela, pois

uma entidade fraca em um relacionamento não

necessariamente é também fraca em outro relacionamento

EX: Banco-Correntista

Page 41: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 41/64

Relacionamento

• Problema 2: Considere o seguinte cenário

� Clientes novos devem ser patrocinados (“indicados”) por um cliente antigo.

� Um cliente antigo pode patrocinar (“indicar”) vários clientes novos Como modelar

este problema?

Page 42: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 42/64

Relacionamento

• Auto-relacionamento

� Representa uma associação entre ocorrências de uma mesma entidade

� Exige a identificação de papéis

Patrocinador Patrocinador PatrocinadoPatrocinado

Um Cliente pode ser patrocinador de

vários de clientes. Um Cliente só pode

ser patrocinado por um Cliente.(1,1) (1,1) (0,n) (0,n)

Page 43: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 43/64

Relacionamento

• Papel de relacionamento

� Função que uma ocorrência de uma entidade cumpre em uma ocorrência de um relacionamento

� EX: Relacionamento de Patrocínio• Uma ocorrência de Cliente exerce o papel de Patrocinador

• Uma ocorrência de Cliente exerce o papel de Patrocinado

Atenção:

O uso de papeis não é exigido em ocorrências

de relacionamentos entre entidades distintas

Page 44: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 44/64

Relacionamento

Rafael

Ana

Rita

Pedro

Cliente• Abstração Informal

Patrocinador Patrocinador

Patrocinador Patrocinador

Patrocinador Patrocinador

PatrocinadoPatrocinado

PatrocinadoPatrocinado

PatrocinadoPatrocinado

Patrocinador Patrocinador

PatrocinadoPatrocinado

Page 45: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 45/64

Relacionamento

• Problema 3: Considere o seguinte cenário

� Um cliente pode ter N contas em um banco (N>=1)

� Uma conta pode ser de M clientes (M>=1)

� Uma conta pode ter X produtos bancários (X>=1)

� Uma conta pode ter produtos bancários diferentes para clientes diferentes

Como modelar este problema?

Page 46: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 46/64

Relacionamento

• Relacionamento Ternário

?

Page 47: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 47/64

Relacionamento

• Grau de relacionamento

� Corresponde ao o número de entidades, não necessariamente distintas, que participam de um relacionamento

� Uma entidade pode ser tratada como um relacionamento de grau zero para efeito de comparação com outros relacionamentos

Page 48: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 48/64

Relacionamento

• Grau de relacionamento

� Tipos de Grau de Relacionamento

• Binário: Uma ocorrência do relacionamento deve envolver simultaneamente duas instâncias de entidades

� Todos os exemplos até agora

• Ternário: Uma ocorrência do relacionamento deve envolver simultaneamente três instâncias de entidades

� Não pode relacionar três entidades em um momento e duas em outro

• N-ário: Mesmo raciocínio anterior

Page 49: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 49/64

Relacionamento

• Relacionamento Ternário

ATENÇÃO:

Cada ocorrência de “Possui” relaciona 3 ocorrências

de entidade: Cliente, Produto e Conta!

Page 50: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 50/64

Relacionamento

• Relacionamento Ternário

ATENÇÃO:

A cardinalidade refere-se ao par das demais entidades

(?,?)

(?,?) (?,?)

Page 51: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 51/64

Relacionamento

• Relacionamento Ternário

A Conta de um Cliente tem que ter um produto associado,

mas pode ter vários produtos também.

Page 52: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 52/64

Relacionamento

• Relacionamento Ternário

O Produto associado a uma Conta tem que pertencer a um Cliente,

mas pode pertencer a vários clientes também

Page 53: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 53/64

Relacionamento

• Relacionamento Ternário

Um Produto associado a um Cliente tem que pertencer a uma conta,

mas pode pertencer a várias contas também

Page 54: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 54/64

Relacionamento

• Relacionamento Ternário

� Relacionamento ternário <> 3 relacionamentos binários!

� (cli,prod,cont) <> (cli,prod), (cli,cont) e (prod,cont)!

X

Page 55: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 55/64

Relacionamento

• Relacionamento Ternário

� A cardinalidade max. 1 deve ser usada com atenção!

� Para cada par (prod,cont) existe apenas um único cliente. Ou seja, o relacionamento (cli, prod, cont) é identificado unicamente pelo par (prod,cont)

Page 56: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 56/64

Relacionamento

• Problema 4: Considere o seguinte cenário

� Um cliente pode ter N contas em um banco (N>=1)

� Uma conta pode ser de M clientes (M>=1)

� O cliente de uma conta pode participar de X Promoções (X>=0) Como modelar

este problema?

Page 57: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 57/64

Relacionamento

• Problema 4

?

Como modelar esta associação se “Possui” já é

um relacionamento?

PromoPromoçção ão

Page 58: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 58/64

Extensões do Modelo ER

• Entidade Associativa (ou agregação)

� Substitui a associação entre relacionamentos, a qual não éprevista pelo modelo ER

� É um relacionamento que passa a ser tratado como entidade

� Permite o uso de relacionamento opcional!

Page 59: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 59/64

Extensões do Modelo ER

• Entidade Associativa (ou agregação)

Page 60: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 60/64

(1,n) (1,n)

Extensões do Modelo ER

• Entidade Associativa (ou agregação)

� Caso não deseja-se usar o conceito de entidade

associativa, deve-se transformar o relacionamento em

entidade fraca, a qual pode ser relacionada com outra

entidade

Page 61: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 61/64

Extensões do Modelo ER

• Entidade Associativa (ou agregação)

� Note que os relacionamentos identificadores são do lado 1:n!

(1,n) (1,n)

Page 62: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 62/64

Extensões do Modelo ER

• Entidade Associativa (ou agregação)

� Note também que o exemplo abaixo corresponde a uma

implementação alternativa para um relacionamento ternário

(1,n) (1,n)

(1,n)

Page 63: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 63/64

Relacionamentos

• Problema 5: Considere o seguinte cenário

� Um cliente pode ser pessoa física ou jurídica

Como modelar este problema?

Page 64: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 64/64

Extensões do Modelo ER

• Generalização/Especialização

� Permite atribuir atributos e/ou relacionamentos particulares a um

subconjunto de entidades especializadas

• Não generalize/especialize se não houver atributos ou relacionamentos

particulares a um subconjunto de entidade especializadas!

� Permite a herança de propriedades (atributos) e relacionamentos

• Agrega ao seu conjunto de propriedades e relacionamentos as

propriedades e relacionamentos da entidade genérica

Page 65: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 65/64

Extensões do Modelo ER

• Generalização/Especialização - Exemplos

ClienteCliente

P.FP.Fíísicasica P.JurP.Juríídicadica

FuncionFuncionááriorio

ChefeChefe DiretorDiretor

PessoaPessoa

AlunoAluno FuncionFuncionááriorioProfessorProfessor

VeVeíículoculo

TerrestreTerrestre AquAquááticotico

TipoTipo

Page 66: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 66/64

Exemplos de notações ER

• Notação R. Elmasri & S. Navathe

Atributo

AtributoChave

AtributoDerivado

AtributoMultivalorado

EntidadeE

EntidadeFraca

E

RelacionamentoR

RelacionamentoIdentificadorR

A

A

A

AtributoCompostoA

A1

A2

A3

A

Page 67: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 67/64

Exemplos de notações ER

• Notação R. Elmasri & S. Navathe

E1 E2R

Participação total de E2 em R

1 NE1 E2R

Cardinalidade 1:N para E1:E2 em R

(min,max) (min,max)E1 E2R

Restrição estrutural (min, max) de E1 e E2 em R

Herança, onde E1 e E2são especializações de E

E

E1 E2

Agregação sobre R1

E1 E2R1

E3

R2

Page 68: IF685 – Gerenciamento de Dados e Informação - Prof. Robson ...cin.ufpe.br/~if685/ec/pdf/GDI_ParteIII_ModeloConceitual_ER_Aula1... · Mais difundida e utilizada pela comunidade

IF685 – Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 68/64