Ceça Moraes Dezembro/09 Projeto de Banco de Dados 11/5/2015 Conteúdo Transformação ER para relacional 2 11/5/2015 Onde estamos??? Aqui!!! 3 Transformações ER/Relacional 11/5/2015 Transformações entre Modelos 5 1. Tradução inicial de entidades e respectivos atributos 2. Tradução de relacionamentos e respectivos atributos 3. Tradução de generalizações/especializações 11/5/2015 Passos Transformação ER/Relacional 6 1. Tradução inicial de entidades e respectivos atributos 2. Tradução de relacionamentos e respectivos atributos 3. Tradução de generalizações/especializações 11/5/2015 Passos Transformação ER/Relacional 7 11/5/2015 Entidade 8 Relacionamento Identificador 11/5/2015 Entidade 9 Relacionamento Identificador 11/5/2015 Entidade 10 Relacionamento Identificador 11/5/2015 Entidade 11 Relacionamento Identificador 11/5/2015 Entidade 12 Relacionamento Identificador 11/5/2015 Entidade 13 Relacionamento Identificador 11/5/2015 Entidade 14 Relacionamento Identificador 11/5/2015 Entidade 15 1. Tradução inicial de entidades e respectivos atributos 2. Tradução de relacionamentos e respectivos atributos 3. Tradução de generalizações/especializações 11/5/2015 Passos Transformação ER/Relacional 16 11/5/2015 Relacionamentos Opções de implementação: – Tabela própria – Adição de colunas a uma das tabelas – Fusão de tabelas A alternativa usada depende da cardinalidade (máxima e mínima do relacionamento) 17 Tabela Própria 11/5/2015 Relacionamentos 18 Adição de Colunas 11/5/2015 Relacionamentos 19 Adição de Colunas 11/5/2015 Relacionamentos 20 Fusão de Tabelas 11/5/2015 Relacionamentos 21 Relacionamentos 1:1 OK OK OK +- OK Ceça Moraes Não Não Não Não 22 OK OK Não Não OK Não Não OK Não Não OK Não 23 Não Não Ceça Moraes Relacionamentos 1:N OK OK Não Não OK Não Não OK Não Não Não Ceça Moraes Relacionamentos N:N 24 1. Tradução inicial de entidades e respectivos atributos 2. Tradução de relacionamentos e respectivos atributos 3. Tradução de generalizações/especializações 11/5/2015 Passos Transformação ER/Relacional 25 11/5/2015 Generalização/Especialização Duas alternativas básicas: – uma tabela para cada entidade – uma única tabela para toda hierarquia Outra alternativa (exótica): – Subdivisão de entidade genérica 26 27 11/5/2015 11/5/2015 Uma Única Tabela para Hierarquia Todas tabelas referentes às especializações são fundidas em uma única tabela, contendo: 28 – Chave primária correspondente ao identificador da entidade mais genérica – Caso não exista, uma coluna Tipo – Uma coluna para cada atributo da entidade genérica – Colunas referentes aos relacionamentos (1:N ou 1:1) dos quais participa a entidade genérica – Uma coluna para cada atributo de cada entidade especializada (opcional) – Colunas referentes aos relacionamentos (1:N ou 1:1) dos quais participa cada entidade especializada (campo opcional) Entidades Relacionadas 11/5/2015 Tabela Única da Hierarquia 29 Relacionamentos 11/5/2015 Tabela Única da Hierarquia 30 Tabela da Hierarquia 11/5/2015 Tabela Única da Hierarquia 31 identificador da Tabela da Hierarquia 11/5/2015 Tabela Única da Hierarquia 32 Coluna de Tipo 11/5/2015 Tabela Única da Hierarquia 33 Atributos Entidade Genérica 11/5/2015 Tabela Única da Hierarquia 34 Relacionamento Entidade Genérica 11/5/2015 Tabela Única da Hierarquia 35 Atributos Especializações 11/5/2015 Tabela Única da Hierarquia 36 Atributos Especializações 11/5/2015 Tabela Única da Hierarquia 37 Relacionamentos Especializações 11/5/2015 Tabela Única da Hierarquia 38 Resultado 11/5/2015 Tabela Única da Hierarquia 39 11/5/2015 Uma Tabela por Especialização Criar uma tabela para cada entidade da hierarquia Incluir a chave primária da tabela da entidade genérica, em cada tabela correspondente a uma entidade especializada 40 Raiz da Hierarquia 11/5/2015 Uma Tabela por Especialização 41 Entidades Especializadas 11/5/2015 Uma Tabela por Especialização 42 Entidades Especializadas 11/5/2015 Uma Tabela por Especialização 43 Entidades Especializadas 11/5/2015 Uma Tabela por Especialização 44 Entidades Especializadas 11/5/2015 Uma Tabela por Especialização 45 Relacionamento Entidade Especializada 11/5/2015 Uma Tabela por Especialização 46 Entidade Especializada 11/5/2015 Uma Tabela por Especialização 47 Resultado 11/5/2015 Uma Tabela por Especialização 48 Vantagens 11/5/2015 Tabela Única Dados referentes à entidade genérica + dados referentes às especializações: –em uma única linha. junções. Menor número de chaves. Minimiza 49 Vantagens 11/5/2015 Uma Tabela por Entidade Não tem colunas opcionais: – apenas aquelas referentes a atributos opcionais 50 11/5/2015 Subdivisão da Entidade Genérica Uma tabela para cada entidade especializada A tabela contém: – dados da entidade especializada – + – dados da entidade genérica. 51 11/5/2015 Subdivisão da Entidade Genérica 52 11/5/2015 Subdivisão da Entidade Genérica 53 11/5/2015 Subdivisão da Entidade Genérica 54 11/5/2015 Subdivisão da Entidade Genérica 55 11/5/2015 Subdivisão da Entidade Genérica Desvantagens Unicidade do identificador de empregado: –não é garantida pelo SGBD; – deve ser garantida pela aplicação. Não há como especificar ao SGBD restrições de integridade referenciais, que façam referência ao conjunto de empregados como um todo 56 11/5/2015 Referências Projeto de Banco de Dados – Carlos Alberto Heuser, Capítulos 3, 4 e 5 57 Exercícios 11/5/2015 Lista de Exercícios Para os exercícios 1 e 2 a seguir, pede-se: – Dado o DER e conjunto de atributos de cada entidade e relacionamento no DER, construa o modelo lógico correspondente 59 11/5/2015 Exercício 1 - DER (0,n) 60 11/5/2015 Exercício 1 - Atributos Produto – Número, NomeComercial, TipoEmbalagem, Quantidade, PreçoUnitário Fabricante – CGC,Nome,Endereço Medicamento – Tarja,Fórmula Perfumaria – Tipo Venda – Data, NúmeroNota, NomeCliente, CidadeCliente PerfumariaVenda – Quantidade, Imposto MedicamentoReceitaVenda – Quantidade, Imposto ReceitaMédica 61 – CRM,Número,Data 11/5/2015 Exercício 2 - DER 62 11/5/2015 Exercício 2 - Atributos Escritório – Número, Local Cliente – NúmeroCartMotorista, EstadoCartMotorista, Nome, Endereço, Telefone Contrato aluguel – Número, Data, Duração Veículo – Número, DataPróximaManutenção, Placa Tipo de Veículo – Código, Nome, ArCondicionado Automóvel – NúmeroPortas, DireçãoHidráulica, CâmbioAutomático, Rádio – NúmeroPassageiros, Leito, Sanitário 63 Ônibus