Você está na página 1de 16

MODELAGEM CONCEITUAL DE DADOS

Unidade II – Abordagem Entidade-


Relacionamento
Prof. Maria Teresa Marino
Licenciatura em Computação/Sistema de Informação

Maria Teresa Marino 1


Relacionamento Ternário

• A abordagem ER permite a definição de


relacionamentos com grau acima de dois
• O conceito de cardinalidade é uma extensão não
trivial do conceito de cardinalidade em
relacionamentos binários
• A cardinalidade refere-se a pares de entidades

Maria Teresa Marino 2


Relacionamento Ternário

CIDADE DISTRIBUIDOR

n
1

distribuição

PRODUTO

Maria Teresa Marino 3


Relacionamento Ternário

• Cada par de ocorrência (cidade, produto) está


associada a no máximo 1 distribuidor (não tem
concorrência)
• A um par de ocorrência (cidade, distribuidor)
podem estar associados n produtos (um
distribuidor em um cidade pode distribuir vários
produtos)
• A um par de ocorrência (produto, distribuidor)
podem estar associadas n cidades (um distribuidor
pode distribuir um produto em várias cidades)

Maria Teresa Marino 4


Relacionamento Ternário

C1 P1
C2 P2
C3 P3

Cidade Produto

D1
D2
D3

Distribuidor

Maria Teresa Marino 5


Relacionamento Ternário – Aspectos a
Considerar

• Interpretação da cardinalidade é confusa


– Funcionário pode exercer diversas funções
– Funções podem ser exercidas por vários funcionários
– Funcionário exerce função em um projeto
– Funcionário pode estar alocado a vários projetos, sendo
que em cada um só pode assumir 1 função

Maria Teresa Marino 6


Relacionamento Ternário – Aspectos a
Considerar
FUNCIONÁRIO PROJETO

(0,n)
(0,n)

alocação

(0,n)
Não representa a
regra FUNÇÃO

O modelo é correto porém pouco semântico


Nem todas as situações se consegue representar

Maria Teresa Marino 7


Estrutura de Agregação

• É aplicado para facilitar o entendimento semântico


• Também denominado de entidade associativa
• Representação do fato associação entre duas
associações

Maria Teresa Marino 8


Estrutura de Agregação

FUNCIONÁRIO PROJETO

(0,n)
(0,n)

alocação

(1,1)

exerce

(0,n)

FUNÇÃO

Maria Teresa Marino 9


Estrutura de Agregação

MÉDICO PACIENTE

(0,n)
(1,n)

consulta

Como resolver (0,n)

sem utilizar prescrição

entidade
associativa? (0,n)

MEDICAMENTO

Maria Teresa Marino 10


Descrição de um Modelo

• Denominado de esquema de banco de dados


– Esquema gráfico (DER)
– Esquema textual – segue a notação dada na forma de
uma gramática BNF
• Colchetes – opcionalidade
• Chaves – repetição
• Sufixo NOME- identificador
• Sufixo LISTA – seqüência de elementos

Maria Teresa Marino 11


Descrição Textual de Modelo ER
ESQUEMA  Esquema: ESQUEMA_NOME
SEÇÃO_ENTIDADE
SEÇÃO_GENERALIZAÇÃO
SEÇÃO_ENT_ASSOCIATIVA
SEÇÃO_RELACIONAMENTO

SEÇÃO_ENTIDADE  {DECL_ENT}

DECL_ENT  Entidade:ENTIDADE_NOME
[SEÇÃO_ATRIBUTO]
[SEÇÃO_IDENTIFICADOR]

SEÇÃO_ATRIBUTO  Atributos: {DECL_ATRIB}

DECL_ATRIB  [(MIN_CARD,MAX_CARD)] ATRIBUTO_NOME


[:DECL_TIPO]

Maria Teresa Marino 12


Descrição Textual de Modelo ER
MIN_CARD  0/1
MAX_CARD  1/n
DECL_TIPO  inteiro/real/boolean/texto(INTEIRO)/enumeração
(LISTA_VALORES)

SEÇÃO_IDENTIFICADOR  Identificadores: {DECL_IDENT}


DECL_IDENT  {IDENTIFICADOR}
IDENTIFICADOR  ATRIBUTO_NOME/ENTIDADE_NOME (via
RELACIONAMNTO_NOME)

SEÇÃO_GENERALIZAÇÃO  {DECL_HIERARQUIA_GEN}
DECL_HIERARQUIA_GEN  Generalização [(COBERTURA)]:NOME_GEN
PAI:NOME_ENTIDADE
FILHO:LISTA_NOME_ENTIDADE
COBERTURA  t/p

Maria Teresa Marino 13


Descrição Textual de Modelo ER
SEÇÃO_ENT_ASSOCIATIVA  {DECL_ENT_ASSOC}
DECL_ENT_ASSOC  EntidadeAssociativa:NOME_RELACIONAMENTO

SEÇÃO_RELACIONAMENTO  {DECL_RELACION}
DECL_RELACION  Relacionamento:NOME_RELACIONAMENTO
Entidades: {DECL_ENT_RELACIONADA}
[Atributos:{DECL_ATRIB}]
[Identificadores:{DECL_IDENT}]
DECL_ENT_RELACIONADA  [(CARD_MIN, CARD_MAX)]
NOME_ENTIDADE

Maria Teresa Marino 14


Exemplo

(0,n) (1,1)
EMPREGADO possui DEPENDENTE

código nome
nome Número
sequência

Maria Teresa Marino 15


Exemplo
ESQUEMA: EMP_DEP

Entidade: EMPREGADO
Atributos: CODIGO: inteiro
NOME: texto(50)
Identificadores: CODIGO

Entidade: DEPENDENTE
Atributos: NUMERO_SEQUENCIA: inteiro
NOME: texto(50)
Identificadores: EMPREGADO via POSSUI
NUMERO_SEQUENCIA
Relacionamento: POSSUI
Entidades: (0,n) EMPREGADO
(1,1) DEPENDENTE

Maria Teresa Marino 16

Você também pode gostar