(Material adaptado das profs. Daniela Leal Musa e Patricia) Banco de Dados Modelo Relacional Banco de Dados Modelo Relacional Banco de Dados Modelo Relacional Banco de Dados Modelo Relacional Banco de Dados Modelo Relacional Processo de Mapeamento Mapeamento preliminar de entidades e seus atributos Mapeamento de relacionamentos e seus atributos Mapeamento de especializaes
Banco de Dados Modelo Relacional Mapeamento de Entidades Entidade -> transformar em tabela Para cada entidade (no fraca) deve ser criada uma tabela Cada atributo da entidade definido como uma coluna Os atributos multivalorados no devem ser includos na tabela A chave primria o identificador primrio da Entidade Banco de Dados Modelo Relacional Mapeamento de Entidades Entidade -> transformar em tabela Para cada entidade (no fraca) deve ser criada uma tabela Cada atributo da entidade definido como uma coluna Os atributos multivalorados no devem ser includos na tabela A chave primria o identificador primrio da Entidade Banco de Dados Modelo Relacional Mapeamento de Entidades Atributos Multivalorados (2 solues) 1) Criar uma nova entidade relacionada a original A chave primria pode ser o prprio atributo concatenado com a chave primria da entidade origem Empregados (CPF, Nome, Idade) Telefone(#CPF, Fone) Banco de Dados Modelo Relacional Mapeamento de Entidades Atributos Multivalorados 2) Substituir por atributos fixos Deve ser realizado somente quando a quantidade for pequena Empregados (CPF, Nome, Idade, FoneRes, FoneCom, Celular) Banco de Dados Modelo Relacional Processo de Mapeamento Mapeamento preliminar de entidades e seus atributos Mapeamento de relacionamentos e seus atributos Mapeamento de especializaes
Banco de Dados Modelo Relacional Mapeamento de Relacionamentos Os relacionamentos so implementados usando chave estrangeira. Existem trs tcnicas: 1)Criar Tabela Prpria Indicado para cardinalidades n:n em ambos os lados 2)Colunas Adicionais Indicado para cardinalidades 1:n e 1:1 3)Fuso de Tabelas Indicado para cardinalidades 1:1 em ambos os lados
Banco de Dados Modelo Relacional Mapeamento de Relacionamentos 1) Criar Tabela Prpria Criar uma tabela para o relacionamento Inserir atributo(s) do relacionamento A chave primria formada pela concatenao das chaves de todas as entidades envolvidas no relacionamento Cardinalidade n:n 1,N em ambos os lados Empregados (CPF, Nome) Projetos (Cdigo, Nome) Participao (#CPF,#Cdigo, DataIncio) Banco de Dados Modelo Relacional Mapeamento de Relacionamentos 2) Colunas Adicionais Incluir chave estrangeira e atributos na tabela correspondente entidade que desempenha o papel com cardinalidade mxima n Cardinalidade 1:N (1:N ou 0:N de um lado e (1:1 do outro) Empregados (CPF, Nome, #CdigoDepto, data) Departamento (Cdigo, Nome) Banco de Dados Modelo Relacional Mapeamento de Relacionamentos 2) Colunas Adicionais Incluir chave estrangeira e atributos na tabela correspondente entidade que desempenha o papel com cardinalidade (0,1) Cardinalidade 1:1 (1:1 de um lado e 0:1 do outro) Pessoas (Cdigo, Nome) CarteirasMotorista(Nmero, DataExpedio, Validade, Categoria, #Cdigo, DataRetirada) Banco de Dados Modelo Relacional Mapeamento de Relacionamentos 3) Fuso de Tabelas Substituir as duas entidades originais por uma nica entidade Escolher uma das identificaes como chave primria Cardinalidade 1:1 Conferncias (Sigla, Nome, DataInstalao, Nmero, Endereo, eMail) Banco de Dados Modelo Relacional Mapeamento de Relacionamentos Auto-Relacionamento Valem as mesmas recomendaes anteriores Empregados(CPF, Nome, Idade, #CPFgerente) Cardinalidade 1:n -> coluna adicional Banco de Dados Modelo Relacional Mapeamento de Relacionamentos Relacionamento Ternrio Tabela Prpria Instituies (Sigla, ...) Projetos (Nmero, ...) Pesquisadores (CPF, ...) Pesquisa (#Sigla, #Nmero, #CPF, DataIncio) Banco de Dados Modelo Relacional Mapeamento de Especializaes 3 tcnicas so geralmente utilizadas Soluo 1: Tabela nica para entidade genrica e especializaes Soluo 2: Tabelas para a entidade genrica e as entidades especializadas Soluo 3: Tabelas apenas para as entidades especializadas Banco de Dados Modelo Relacional Mapeamento de Especializaes Soluo 1: Tabela nica para entidade genrica e especializaes Servidores (CPF, Nome, Tipo, Funo, Titulao, Categoria) Indicada para generalizao parcial e subclasses SEM atributos Banco de Dados Modelo Relacional Mapeamento de Especializaes Soluo 2: Tabelas para a entidade genrica e as entidades especializadas (pode existir um servidor que nao seja nem funcionario nem professor) Servidores (CPF, Nome, tipo) Funcionarios (#CPF, nome, Funo) Professores (#CPF, nome, Titulao, Categoria) Indicada para generalizao parcial e subclasses COM atributos Banco de Dados Modelo Relacional Mapeamento de Especializaes Soluo 3: Tabelas apenas para as entidades especializadas Funcionarios (CPF, Nome, Funo) Professores (CPF, Nome, Titulao, Categoria) Indicada para generalizao TOTAL e subclasses COM ou SEM atributos Banco de Dados Modelo Relacional Mapeamento de Entidades Entidade Fraca-> transformar em tabela para cada entidade fraca deve ser criada uma tabela cada atributo da entidade fraca definido como uma coluna Chave primria formada pela chave da entidade fraca concatenada com as chaves da entidade que mapeiam o relacionamento Ateno: a entidade fraca s pode ser transformada em tabela, aps o mapeamento de todas as entidades envolvidas no relacionamento Banco de Dados Modelo Relacional Mapeamento de Entidades Entidade Fraca Pedidos (Nmero, ..) Itens (#NumeroPedido, NumeroItem, Produto, Quantidade) Banco de Dados Modelo Relacional Exerccio Faa o mapeamento para o modelo relacional: Banco de Dados Modelo Relacional Banco de Dados Modelo Relacional
Sistemas de Banco de Dados, Elmasri-Navathe - 4a. Edio: Captulo 7 Projeto de Banco de Dados , Carlos Alberto Heuser 5 edio: Captulo 4