CIn/UFPE ¢â‚¬â€œ Projeto Conceitual de BD - Prof. Robson Fidalgo ... in1008/aulas/ProjetoBD_ParteII... CIn/UFPE

  • View
    0

  • Download
    0

Embed Size (px)

Text of CIn/UFPE ¢â‚¬â€œ Projeto Conceitual de BD - Prof. Robson...

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  1/64

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  2/64

    Projeto Conceitual de BD

    Modelo Conceitual

    Entidade e Relacionamento

    Conceitos Avançados Por:

    Robson do Nascimento Fidalgo rdnf@cin.ufpe.br

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  3/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?

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  4/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ção Gráfica

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  5/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

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  6/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?

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  7/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)

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  8/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

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  9/64

    Relacionamento

    Rafael

    Ana

    Rita

    Pedro

    Cliente • Abstração Informal

    Patrocinador Patrocinador

    Patrocinador Patrocinador

    Patrocinador Patrocinador

    PatrocinadoPatrocinado

    PatrocinadoPatrocinado

    PatrocinadoPatrocinado

    Patrocinador Patrocinador

    PatrocinadoPatrocinado

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  10/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?

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  11/64

    Relacionamento

    • Relacionamento Ternário

    ?

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  12/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

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  13/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

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  14/64

    Relacionamento

    • Relacionamento Ternário

    ATENÇÃO:

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

    de entidade: Cliente, Produto e Conta!

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  15/64

    Relacionamento

    • Relacionamento Ternário

    ATENÇÃO:

    A cardinalidade refere-se ao par das demais entidades

    (?,?)

    (?,?) (?,?)

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  16/64

    Relacionamento

    • Relacionamento Ternário

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

    mas pode ter vários produtos também.

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  17/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

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  18/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

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  19/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?

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  20/64

    Relacionamento

    • Problema 4

    ?

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

    um relacionamento?

    PromoPromoçção ão

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  21/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!

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  22/64

    Extensões do Modelo ER

    • Entidade Associativa (ou agregação)

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  23/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

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  24/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)

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  25/64

    Extensões do Modelo ER

    • Problema 5: Considere o seguinte cenário

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

    Como modelar este problema?

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  26/64

    Extensões do Modelo ER

    • Herança (Generalização/Especialização) � Permite que as ocorrências das entidades especializadas também

    sejam manipuladas como ocorrências da entidade genérica

    � Permite definir atributos e/ou relacionamentos particulares a um subconjunto de entidades especializadas

    • Não use herança 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

  • CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo  27/64

    Extensões do Modelo ER

    • Herança (Generalização/Especialização)

    � Tipos de Herança:

    • Total: Toda