CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 1/64 Projeto Conceitual de BD Modelo Conceitual Entidade e Relacionamento Conceitos Avançados Por: Robson do Nascimento Fidalgo [email protected] CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 2/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 3/64 Relacionamento • 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 Representação Gráfica CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 4/64 Relacionamento • Relacionamento Identificador - Recursão 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 5/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 6/64 Relacionamento • Auto-relacionamento Representa uma associação entre ocorrências de uma mesma entidade Exige a identificação de papéis Um Cliente pode ser patrocinador de vários de clientes. Um Cliente só pode (1,1) Patrocinador (0,n) ser patrocinado por um Cliente. Patrocinado CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 7/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 8/64 Relacionamento • Abstração Informal Cliente Patrocinado Patrocinado Patrocinador Rafael Ana Patrocinador Patrocinador Rita Patrocinado Patrocinado Patrocinador Pedro CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 9/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 CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo Como modelar este problema? 10/64 Relacionamento • Relacionamento Ternário ? CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 11/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 12/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 13/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 14/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 15/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 16/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 17/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 18/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) CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo Como modelar este problema? 19/64 Relacionamento • Problema 4 Promoção ? Como modelar esta associação se “Possui” já é um relacionamento? CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 20/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 21/64 Extensões do Modelo ER • Entidade Associativa (ou agregação) CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 22/64 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 (1,n) CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo (1,n) 23/64 Extensões do Modelo ER • Entidade Associativa (ou agregação) Note que os relacionamentos identificadores são do lado 1:n! (1,n) CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo (1,n) 24/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 25/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 26/64 Extensões do Modelo ER • Herança (Generalização/Especialização) Tipos de Herança: • Total: Todas as entidades especializadas tem que estar relacionada a entidade genérica • Parcial: Pelo menos uma entidade genérica não está relacionada a entidade especializada • Exclusiva: A entidade genérica está associada a uma única entidade especializada • Não exclusiva: A entidade genérica está associada a duas ou mais entidades especializadas CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 27/64 Extensões do Modelo ER • Herança - Exemplos Cliente t P.Física Tipo Pessoa Todo cliente ou é Pessoa Física ou é Pessoa Jurídica P.Jurídica ñ Aluno Professor Funcionário Funcionário p Nem todo funcionário é Chefe Veículo e Chefe ou Diretor Diretor Uma Pessoa pode ser Aluno em um curso e Professor em outro Terrestre CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo Um Veículo ou é Terrestre ou é Aquático Aquático 28/64 Extensões do Modelo ER • Problema 6: Considere o seguinte cenário Um Aluno Assistente é um Funcionário e Aluno ao mesmo tempo Como modelar este problema? CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 29/64 Extensões do Modelo ER • Herança Múltipla Permite agregar ao seu conjunto de propriedades e relacionamentos as propriedades e relacionamentos de mais de uma entidade genérica Pode ser Total ou Parcial/Exclusiva ou não exclusiva CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 30/64 Extensões do Modelo ER • Herança Múltipla - Exemplo Funcionário Aluno Cliente CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 31/64 Extensões do Modelo ER • Problema 7: Considere o seguinte cenário Quero representar uma pessoa, um banco ou uma empresa (que não possuem atributos comuns) como um proprietário de um veículo que representa uma motocicleta ou automóvel Como modelar este problema? CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 32/64 Extensões do Modelo ER • Categoria ou Tipo União Permite criar um agrupamento de ocorrências de diferentes classes generalizadas que representam um mesmo papel em um dado relacionamento A coleção de ocorrências de uma entidade especializada corresponde a união das ocorrências das suas entidades genéricas. Contudo, cada ocorrência de uma entidade especializada corresponde a especialização de apenas uma das suas entidades genéricas. Faz herança seletiva e exclusiva! Cada entidade genéricas tem um identificador próprio!!! Pode ser Total ou Parcial (sempre é exclusiva) CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 33/64 Extensões do Modelo ER • Categoria ou Tipo União - Exemplo Pessoa Banco Empresa u Cod CPF Num Proprietário (1,n) (1,n) Veículo u Placa Automóvel Motocicleta Placa CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 34/64 Extensões do Modelo ER • Problema 8: Considere o seguinte cenário Uma conta pertence a uma pessoa ou a uma empresa Como modelar este problema? CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 35/64 Extensões do Modelo ER • Relacionamento Exclusivo Permite modelar dois ou mais relacionamentos mutuamente exclusivos vindos da mesma entidade usando um arco Normalmente pode ser substituído, sem perder semântica, por uma herança simples Usa um atributo “tipo” para distinguir o relacionamento Empresa Pessoa Tipo Conta CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 36/64 Extensões do Modelo ER • Relacionamento Exclusivo Qualquer relacionamento cruzado pelo arco pertence a ele. Uma quebra no arco indica que o relacionamento não está incluído no arco. Pessoa Tipo Agência Empresa Conta CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 37/64 Exemplos de notações ER • Notação R. Elmasri & S. Navathe E E R Entidade A Atributo A Atributo Chave A Atributo Derivado Entidade Fraca Atributo Multivalorado A Relacionamento A1 R Relacionamento Identificador A CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo A2 Atributo Composto A3 38/64 Exemplos de notações ER • Notação R. Elmasri & S. Navathe E1 1 R N Cardinalidade 1:N para E1:E2 em R E1 (min,max) R (min,max) R E1 E2 E2 Participação total de E2 em R E2 E Restrição estrutural (min, max) de E1 e E2 em R E1 R1 R2 E2 Agregação sobre R1 E1 E2 Herança, onde E1 e E2 são especializações de E E3 CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 39/64 CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 40/64