Modelo Entidade Relacionamento Estendido Pós-graduação em Ciência da Computação CCM-202 Sistemas de Banco de Dados Extensões do Modelo Entidade-Relacionamento Características Profa. Maria Camila Nardini Barioni [email protected] Bloco B - sala 937 introduz semântica adicional ao modelo ER utilizado na modelagem de aplicações mais complexas, tais como CAD/CAM, BD gráficos, BD geográficos Conceitos subclasse, superclasse, hierarquia de herança generalização, especialização, e restrições agregação 2° quadrimestre de 2011 CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 Herança Subclasse/Superclasse de atributos Subclasse agrupamento das entidades de um subgrupo do tipo-entidade cada entidade que é membro de qualquer uma das subclasses também é um empregado 4 Generalização resultado da separação de um tipo-entidade de nível mais alto (superclasse), formando vários tipos-entidade de nível mais baixo (subclasse) passos: define-se um conjunto de subclasses de um tipoentidade resultado da união de dois ou mais tipos-entidade de nível mais baixo (subclasse), produzindo um tipo-entidade de nível mais alto (superclasse) é uma abstração de um conjunto de entidades passos: suprime-se as diferenças entre os tipos-entidade identifica-se os atributos em comum associa-se atributos adicionais específicos às subclasses estabelece-se tipos-relacionamento adicionais específicos às subclasses, caso necessário CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 Generalização/Especialização Especialização qualquer entidade membro de uma subclasse deve ser também membro da superclasse qualquer entidade membro da superclasse pode ser opcionalmente incluída como membro de qualquer número de subclasses 3 Generalização/Especialização instâncias de relacionamento da superclasse são herdados pelas entidades das subclasses Observação superclasse: tipo-entidade empregado subclasses: secretário, engenheiro, técnico CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 atributos da superclasse são herdados pelas subclasses de relacionamentos Exemplo 2 generaliza-os em uma superclasse 5 CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 6 1 Representação nome_empregado Representação EMPREGADO CPF_empregado nome_empregado EMPREGADO tipo_empregado d SECRETÁRIO TÉCNICO idioma tipo_empregado especialização generalização ENGENHEIRO grau_técnico tipo_engenheiro CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 atributos de secretário = atributos de (empregado + secretário) generalização bottom-up d SECRETÁRIO TÉCNICO idioma 7 Representação nome_empregado CPF_empregado especialização top-down ENGENHEIRO grau_técnico tipo_engenheiro CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 8 Chaves dos Tipos-Entidade EMPREGADO CPF_empregado Restrição de chave do ME-R: todos os tipos-entidade devem ter uma chave única tipo_empregado semântica é-um d Restrição relaxada para o MER-X subclasses não precisam ter chave explicitamente definida SECRETÁRIO idioma TÉCNICO grau_técnico ENGENHEIRO tipo_engenheiro CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 9 Restrições Especialização definida pelo usuário as subclasses que participam da hierarquia são determinadas por uma condição baseada em algum atributo da superclasse exemplo: atributo tipo_empregado denominação: 10 Restrições Especialização definida pelo atributo CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 o membro da subclasse é determinado pelos usuários na operação que adicionar uma entidade à subclasse um membro é especificado individualmente para cada entidade pelo usuário subclasses definidas por predicado (ou definidas por condição) CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 11 CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 12 2 Restrição de Disjunção Restrição de Completude Total Subclasses mutuamente exclusivas uma entidade de uma superclasse deve ser membro, quando muito, de apenas uma subclasse representação: d “d” (disjoint) Parcial Subclasses que se sobrepõem uma entidade de uma superclasse pode ser membro de mais do que uma subclasse representação: o “o” (overlap) CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 13 Observações uma entidade de uma superclasse pode não pertencer a qualquer uma das subclasses representação: superclasse CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 Modele uma hierarquia de generalização/especialização para os tipos-entidade carro e caminhão. Defina as restrições de disjunção e de completude. possibilidades de hierarquias total disjunta CARRO parcial disjunta total com sobreposição parcial com sobreposição CAMINHÃO CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 15 Observações 16 Regras de inserção e remoção se uma entidade de uma superclasse for removida então ela deve ser automaticamente removida de todas as subclasses a que pertence se uma entidade for inserida em uma superclasse então ela deve ser necessariamente inserida em todas as subclasses definidas pelo atributo, quando este for satisfeito CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 código-renavam chassi capacidade_carga preço número_eixos CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 código-renavam chassi número_passageiros preço velocidade-máxima número_portas Observações Regras de inserção e remoção 14 Exercício Restrições de disjunção e de completude são independentes cada entidade de uma superclasse deve ser membro de alguma subclasse na especialização superclasse representação: 17 se uma entidade for inserida em uma superclasse com especialização total então ela deve ser necessariamente inserida em pelo menos uma das subclasses da especialização ... CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 18 3 CPF_empregado EMPREGADO Generalização/Especialização nome_empregado tipo_empregado forma_pagamento cargo d Uma subclasse pode possuir outras subclasses especificadas a partir dela Herança simples d GERENTE SECRETÁRIO ENGENHEIRO formação idioma tipo_engenheiro TÉCNICO 1 MENSALISTA gerencia n grau_técnico HORISTA salário cada subclasse participa como subclasse em apenas um relacionamento superclasse/subclasse Herança múltipla valor_hora nro_projeto cada subclasse pode participar como uma subclasse em mais do que um relacionamento superclasse/subclasse PROJETO nome_projeto CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 19 CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 CPF_empregado CPF_empregado EMPREGADO EMPREGADO nome_empregado tipo_empregado nome_empregado entidades de engenheiro_gerente herdam os tipo_empregado atributos e os relacionamentos d de empregado, engenheiro, gerente e mensalista forma_pagamento cargo d d GERENTE SECRETÁRIO d SECRETÁRIO ENGENHEIRO formação formação idioma tipo_engenheiro TÉCNICO MENSALISTA HORISTA salário grau_técnico ENGENHEIRO_GERENTE tipo_engenheiro TÉCNICO valor_hora MENSALISTA subclasse compartilhada 21 HORISTA salário grau_técnico adicional CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 ENGENHEIRO_GERENTE valor_hora adicional CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 22 Agregação Herança Múltipla Regra forma_pagamento cargo GERENTE ENGENHEIRO idioma 20 É um conceito para a construção de objetos compostos a partir de seus objetos componentes se um mesmo atributo ou relacionamento for herdado mais do que uma vez por diferentes relacionamentos superclasse/subclasse então o atributo ou o relacionamento deve ser incluído apenas uma vez na subclasse Idéia: elementos de modelagem podem associar-se, formando outros elementos que representam essa associação Pode assumir diversas formas: Agregando atributos em Tipos-Entidade e TiposRelacionamento os valores dos atributos compõem a entidade Agregando Tipos-Entidade e Tipos-Relacionamentos combinar entidades que estão relacionadas por uma instância de relacionamento em uma entidade agregada de alto nível CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 23 CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 27 4 Representação Agregação ALUNO CPF_pessoa CGC_univ nome_pessoa Tipos-entidades agregados são representados como tipos-entidades comuns data_ingresso n PESSOA nome_univ m ingressa UNIVERSIDADE Engloba m dois tipos-entidades e um tipo-relacionamento o tipo-entidade aluno é composto dos tipos-entidade pessoa e universidade e do tipo-relacionamento ingressa CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 28 Agregação n CPF_professor PROFESSOR nome_professor CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 1o. Caso: O tipo relacionamento tem um identificador próprio: 1) Quando é necessário identificar cada relacionamento (o relacionamento tem chave) 2) Quando é necessário mais de um relacionamento envolvendo as mesmas entidades Nesse caso, embora seja possível identificar a entidade agregação por um identificador próprio, ela também pode ser identificada pelo relacionamento entre as entidades que participam do relacionamento: Professor M 3) Quando existe a necessidade de associar dois relacionamentos N Orienta CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 30 Título único em todonão o sistema O Conjunto Relacionamento tem de identificador!! CCM-202 Sistemas de Banco de Dados - 2° quadrimestre 2011 1o. Caso: O tipo relacionamento tem um identificador próprio: Tipo Entidade Agregação Projeto Nesse caso, embora seja possível identificar a entidade agregação por um identificador próprio, ela também pode ser identificada pelo relacionamento entre as entidades que participam do relacionamento: NroProf 31 Agregação Agregação Professor M AlunoPós NroAluno NroProf 29 Agregação Situações que indicam a necessidade de agregação: a agregação aluno está relacionada ao tipo-entidade professor orienta Orienta Título N Professor M NroProf AlunoPós NroAluno O TipoCCM-202 Relacionamento não- 2° tem identificador!! Sistemas de Banco de Dados quadrimestre de 2011 32 Orienta N AlunoPós NroAluno Título Chave: NroProfessor + NroAluno ou Título CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 33 5 Agregação Agregação Tipo Entidade Agregação Tipo Entidade Agregação Projeto Projeto Professor M Orienta N Professor M AlunoPós NroAluno NroProf N N AlunoPós 1 NroAluno NroProf Título E se for necessário armazenar informações sobre as agências de fomento que financiam cada projeto? é financiado Título E se for necessário armazenar informações sobre as agências de fomento que financiam cada projeto? CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 34 Agregação Agência Fomento Nome CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 35 Agregação 2o. Caso: Pode haver mais de um relacionamento envolvendo as mesmas entidades Orienta 2o. Caso: Pode haver mais de um relacionamento envolvendo as mesmas entidades Como identificar cada locação? Como identificar cada locação? Data Locação Cliente M Loca N nro Chave: nro + código + data DVD código CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 36 Agregação CRM M Loca N DVD código nro CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 37 Agregação 3o. Caso: Pode haver a necessidade de associar dois tipos relacionamentos Médico M Cliente Atende N 3o. Caso: Pode haver a necessidade de associar dois tipos relacionamentos Médico M Paciente códps CRM é: • A questão agora com que tipo entidade existente o novo tipo entidade deve ser associado? • Suponha que seja necessário alterar esse modelo do seguinte modo: é necessário saber que medicamentos existem e que medicamentos foram prescritos em cada consulta. CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 Atende 38 N Paciente códps Medicamento nome laboratório CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 39 6 Agregação Agregação 3o. Caso: Pode haver a necessidade de associar dois tipos relacionamentos Médico M Atende N 3o. Caso: Pode haver a necessidade de associar dois tipos relacionamentos Consulta Médico M Paciente CRM códps N Atende Paciente M CRM Prescrição códps Prescrição N nome Medicamento nome Medicamento laboratório CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 laboratório 40 Exercício CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 41 Exercício Considere o esquema ER abaixo: Considere o esquema ER abaixo: ENTREVISTA CPF CNPJ CPF nome nome nome n CANDIDATO CNPJ nome m entrevista n EMPRESA CANDIDATO m entrevista EMPRESA 1 Como modelar a situação em que algumas entrevistas resultam em uma oferta de emprego (com cargo e salário inicial) e outras não? CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 resulta 1 42 Projeto Lógico de BD OFERTA DE EMPREGO CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 43 Projeto Lógico de BD Identificar tipos-relacionamentos e seus atributos Classificar tipos-entidades e atributos cargo salário tipos-entidade possuem informações descritivas, atributos não atributos devem ser mantidos de forma atômica atributos devem ser relacionados às entidades que eles descrevem determinar o grau dos tipos-relacionamentos definir tipos-relacionamento ternários cuidadosamente identificar as restrições que se aplicam sobre cada tipo-relacionamento cardinalidade participação Identificar chaves primárias Caso necessário, definir os papéis Identificar tipo-entidade forte e tipo-entidade fraca CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 44 CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 45 7 Exercícios Projeto Lógico de BD Verificar os requisitos de operações Fazer os exercícios da lista de exercícios “Modelo Entidade Relacionamento Estendido” se eles se referirem a dados que não estão modelados, repetir os passos anteriores. Modelar hierarquias de generalização identificar atributos e relacionamentos comuns determinar as restrições de disjunção e de completude Modelar agregações “Podemos notar que um projetista de BD necessita de um bom conhecimento do minimundo que está sendo modelado para que possa tomar essas decisões!” CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 46 Bibliografia 47 Leitura complementar para casa Elmasri, Ramez; Navathe, Shamkant B. Sistemas de banco de dados. 4 ed. São Paulo: Addison Wesley, 2005, 724 p. Bibliografia: p. [690]-714. CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 Capítulo 4 do livro: Elmasri, Ramez; Navathe, Shamkant B. Sistemas de banco de dados. 48 CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011 49 8