Projeto de Banco de Dados Ceça Moraes Dezembro/09
Conteúdo Transformação ER para relacional 10/10/2015 2
Onde estamos??? 10/10/ Aqui!!!
Transformações ER/Relacional
Transformações entre Modelos 10/10/2015 5
Passos Transformação ER/Relacional 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 10/10/2015 6
Passos Transformação ER/Relacional 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 10/10/2015 7
Entidade 10/10/2015 8
Entidade Relacionamento Identificador 10/10/2015 9
Entidade Relacionamento Identificador 10/10/
Entidade Relacionamento Identificador 10/10/
Entidade Relacionamento Identificador 10/10/
Entidade Relacionamento Identificador 10/10/
Entidade Relacionamento Identificador 10/10/
Entidade Relacionamento Identificador 10/10/
Passos Transformação ER/Relacional 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 10/10/
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) 10/10/
Relacionamentos Tabela Própria 10/10/
Relacionamentos Adição de Colunas 10/10/
Relacionamentos Adição de Colunas 10/10/
Relacionamentos Fusão de Tabelas 10/10/
Ceça Moraes 22 Relacionamentos 1:1 OK Não +-
Ceça Moraes 23 Relacionamentos 1:N OK Não OK Não OK Não
Ceça Moraes 24 Relacionamentos N:N OK Não OK Não OK Não
Passos Transformação ER/Relacional 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 10/10/
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 10/10/
10/10/
Uma Única Tabela para Hierarquia Todas tabelas referentes às especializações são fundidas em uma única tabela, contendo : – 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) 10/10/
10/10/ Tabela Única da Hierarquia Entidades Relacionadas
10/10/ Tabela Única da Hierarquia Relacionamentos
10/10/ Tabela Única da Hierarquia Tabela da Hierarquia
10/10/ Tabela Única da Hierarquia identificador da Tabela da Hierarquia
10/10/ Tabela Única da Hierarquia Coluna de Tipo
10/10/ Tabela Única da Hierarquia Atributos Entidade Genérica
10/10/ Tabela Única da Hierarquia Relacionamento Entidade Genérica
10/10/ Tabela Única da Hierarquia Atributos Especializações
10/10/ Tabela Única da Hierarquia Atributos Especializações
10/10/ Tabela Única da Hierarquia Relacionamentos Especializações
10/10/ Tabela Única da Hierarquia Resultado
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 10/10/
10/10/ Uma Tabela por Especialização Raiz da Hierarquia
10/10/ Uma Tabela por Especialização Entidades Especializadas
10/10/ Uma Tabela por Especialização Entidades Especializadas
10/10/ Uma Tabela por Especialização Entidades Especializadas
10/10/ Uma Tabela por Especialização Entidades Especializadas
10/10/ Uma Tabela por Especialização Relacionamento Entidade Especializada
10/10/ Uma Tabela por Especialização Entidade Especializada
10/10/ Uma Tabela por Especialização Resultado
Tabela Única Vantagens Dados referentes à entidade genérica + dados referentes às especializações: – em uma única linha. Minimiza junções. Menor número de chaves. 10/10/
Uma Tabela por Entidade Vantagens Não tem colunas opcionais : – apenas aquelas referentes a atributos opcionais 10/10/
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. 10/10/
Subdivisão da Entidade Genérica 10/10/
Subdivisão da Entidade Genérica 10/10/
Subdivisão da Entidade Genérica 10/10/
Subdivisão da Entidade Genérica 10/10/
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 10/10/
Referências Projeto de Banco de Dados – Carlos Alberto Heuser, Capítulos 3, 4 e 5 10/10/
Exercícios
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 10/10/
Exercício 1 - DER 10/10/ (0,n)
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 – CRM,Número,Data 10/10/
Exercício 2 - DER 10/10/
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 Ônibus – NúmeroPassageiros, Leito, Sanitário 10/10/