Projeto de Banco de Dados e o Modelo E-R – Parte 2
Transcrição
Projeto de Banco de Dados e o Modelo E-R – Parte 2
Banco de Dados I Projeto de Banco de Dados e o Modelo E-R – Parte 2 Fabricio Breve Aspectos de projeto de entidaderelacionamento • As noções de um conjunto de entidades e um conjunto de relacionamento não são precisas, e é possível definir um conjunto de entidades e os relacionamentos entre eles de diversas maneiras Uso de conjunto de entidades versus atributos • Considere o conjunto: – Id_funcionario, nome_funcionario, numero_telefone • numero_telefone pode ser uma entidade com seus próprios atributos: numero_telefone e local (escritório, casa, etc...) • Tratar telefone como entidade modela melhor uma situação em que se pode querer manter informações extras sobre o telefone – local, tipo, pessoas que o compartilham Uso de conjunto de entidades versus atributos • O que constitui um atributo? • O que constitui um conjunto de entidades? – Depende! • Qual a estrutura da empresa real? • Qual o significado associado? Uso de conjunto de entidades versus conjunto de relacionamentos • Nem sempre é claro se um objeto é mais bem expresso por um conjunto de entidades ou por um conjunto de relacionamento – Em nosso exemplo do banco, o empréstimo poderia ser uma relação entre cliente e agência • É satisfatório se um cliente puder fazer apenas um empréstimo por agência e um empréstimo pertencer a apenas um cliente • Caso contrário, é problemático Conjunto de relacionamentos binários versus enários • Alguns relacionamentos ternários são melhor representados por dois relacionamentos binários – Exemplo: relacionamento ternário pais, relacionando um filho aos seus pais Convertendo relacionamentos não binários para a forma binária n Em geral, qualquer relacionamento não binário pode ser representado usando relacionamentos binários criando um conjunto de entidades artificial. l Substitua R entre os conjuntos de entidades A, B e C por um conjunto de entidades E três conjuntos de relacionamento: 1. RA, relacionando E e A 2. RB, relacionando E e B 3. RC, relacionando E e C l Crie um atributo identificador especial para E l Inclua quaisquer atributos de R em E l Para cada relacionamento (ai , bi , ci) em R, 1. crie uma nova entidade ei no conjunto de entidades E 2. inclua (ei , ai ) em RA 3. inclua (ei , bi ) em RB 4. inclua (ei , ci ) em RC Cardinalidades de mapeamento afetam o projeto ER n Podemos tornar a data de acesso um atributo de conta, em vez de um atributo de relacionamento, se cada conta puder ter apenas um cliente l Ou seja, o relacionamento de conta para cliente é muitos-para-um ou, equivalentemente, cliente para conta é um-para-muitos Conjunto de Entidades Fracos • • É um conjunto de entidades que não tem atributos suficientes para formar uma chave primária A existência de um conjunto de entidades fraco depende da existência de um conjunto de entidades identificador (ou proprietário) – Ele precisa se relacionar com o conjunto de entidades identificador através de um conjunto de relacionamento um-para-muitos total, do identificador para o conjunto de entidades fraco – Relacionamento identificador descrito usando um losango duplo • • O discriminador (ou chave parcial) de um conjunto de entidades fraco é o conjunto de atributos que distingue entre todas as entidades de um conjunto de entidades fraco. A chave primária de um conjunto de entidades fraco é formada pela chave primária do conjunto de entidades forte em que o conjunto de entidades fraco é dependente de existência, mais o discriminador do conjunto de entidades fraco. Conjuntos de Entidades Fracos n Representamos um conjunto de entidades fraco por retângulos duplos. n Sublinhamos o discriminador de um conjunto de entidades fraco com uma linha tracejada. n número_pagamento — discriminador do conjunto de entidades pagamento. n Chave primária para pagamento — (número_empréstimo, número_pagamento) Conjuntos de Entidades Fracos n Nota: A chave primária do conjunto de entidades forte não é explicitamente armazenada com o conjunto de entidades fraco, já que ela está implícita no relacionamento identificador. n Se número_empréstimo fosse explicitamente armazenado, pagamento poderia se tornar uma entidade forte, mas, então, o relacionamento entre pagamento e empréstimo seria duplicado por um relacionamento implícito definido pelo atributo número_empréstimo comum a pagamento e empréstimo. Especialização • Processo de projeto de cima para baixo: Designamos subagrupamentos dentro de um conjunto de entidades que são distintivos de outras entidades no conjunto. • Esses subagrupamentos se tornam conjuntos de entidades de nível inferior que possuem atributos ou participam em relacionamentos que não se aplicam ao conjunto de entidades de nível superior. • Representada por um componente triângulo rotulado ISA (por exemplo, cliente “é uma” pessoa). • Herança de atributo — Um conjunto de entidades de nível inferior herda todos os atributos e a participação de relacionamento do conjunto de entidades de nível superior ao qual está vinculado. Exemplo de Especialização Generalização • Combina vários conjuntos de entidades que compartilham os mesmos recursos em um conjunto de entidades de nível superior. • A especialização e a generalização são simples inversões uma da outra; são representadas em um diagrama ER da mesma maneira. • Os termos especialização e generalização são usados indistintamente. Restrições em generalizações • Restrição sobre que entidades podem ser membros de um determinado conjunto de entidades de nível inferior – Definido por condição • Exemplo: Todos os clientes com mais de 65 anos são membros do conjunto de entidades cidadão_senior; cidadão_senior ISA pessoa. – Definido pelo usuário • Restrição sobre se ou não as entidades podem pertencer a mais de um conjunto de entidades de nível inferior dentro de uma única generalização. – Disjuntos • uma entidade pode pertencer a não mais que um conjunto de entidades de nível inferior • Indicados no diagrama ER pela inscrição de disjunto ao lado do triângulo ISA – Superpostos • um conjunto de entidades pode pertencer a mais de um conjunto de entidades de nível inferior Restrições em generalizações • Restrição de integralidade — Especifica se ou não uma entidade no conjunto de entidades de nível superior precisa pertencer a pelo menos um dos conjuntos de entidades de nível inferior dentro de uma generalização – total: Uma entidade precisa pertencer a um conjunto de entidades de nível inferior – parcial: Uma entidade não precisa pertencer a um conjunto de entidades de nível inferior Agregação • Considere o relacionamento ternário trabalha_em, que vimos anteriormente • Suponha que queremos registrar gerentes para tarefas realizadas por um funcionário em uma agência Agregação • Os conjuntos de relacionamento trabalha_em e gerencia representam informações superpostas – Cada relacionamento gerencia corresponde a um relacionamento trabalha_em – Entretanto, alguns relacionamentos trabalha_em podem não corresponder a nenhum relacionamentos gerencia • Portanto, não podemos descartar o relacionamento trabalha_em • Elimine essa redundância através da agregação – Trate relacionamento como uma entidade abstrata – Permite relacionamentos entre relacionamentos – Abstração de relacionamento em nova entidade • Sem introduzir redundância, o diagrama a seguir representa: – Um funcionário trabalha em um cargo específico em uma agência específica – Um funcionário, agência ou combinação de cargos pode ter um gerente associado Agregação Exemplo de diagrama ER para uma instituição bancária Resumo dos símbolos usados na notação ER (Silberschatz) Resumo dos símbolos (cont.) Notações ER alternativas Notação BRModelo muitos-para-muitos um-para-um muitos-para-um * Indicação de Cardinalidade mínima e máxima Referências Bibliográficas • SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. Sistema de Banco de Dados. 5ª Ed. Campus, 2006 • PONTI JR, Moacir. Banco de Dados: Introdução - Notas de Aula. 2006.
Documentos relacionados
Aula07_Modelo ER
O nome do papel desempenhado significa o papel de cada entidade participante desempenha em um tipo de relacionamento.
Leia maisUNIVERSIDADE FEDERAL DO RIO GRANDE DO
entre as tabelas que desejamos, o primeiro entre a tabela “Usuarios” e “Auxiliar”, e o segundo entre a tabela “Auxiliar” e “Enderecos”, além desses dois relacionamentos, devemos dizer também nessa ...
Leia maisProjetando banco de dados - Gestão de Tecnologia da Informação
no projeto) e o grande mercado nacional e mundial utilizando os SGBD Relacionais. E como permitir que um projeto desenvolvido em O.O. seja facilmente inserido em um ambiente de banco de dados relac...
Leia mais