Upload
internet
View
108
Download
1
Embed Size (px)
Citation preview
Banco de Dados – Modelo Relacional
Universidade Federal de Santa CatarinaUniversidade Federal de Santa Catarina
Banco de Dados
Mapeamento ER- Relacional
(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 MapeamentoProcesso de Mapeamento
• Mapeamento preliminar de entidades e seus atributos
• Mapeamento de relacionamentos e seus atributos• Mapeamento de especializações
Banco de Dados – Modelo Relacional
Mapeamento de Mapeamento de EntidadesEntidades
• Entidade -> transformar em tabela– Para cada entidade (não fraca) deve ser criada uma
tabela– Cada atributo da entidade é definido como uma coluna
• Os atributos multivalorados não devem ser incluídos na tabela– A chave primária é o identificador primário da Entidade
Banco de Dados – Modelo Relacional
Mapeamento de Mapeamento de EntidadesEntidades
• Entidade -> transformar em tabela– Para cada entidade (não fraca) deve ser criada uma
tabela– Cada atributo da entidade é definido como uma coluna
• Os atributos multivalorados não devem ser incluídos na tabela– A chave primária é o identificador primário da Entidade
Banco de Dados – Modelo Relacional
Mapeamento de Mapeamento de EntidadesEntidades
Atributos Multivalorados (2 soluções)1) Criar uma nova entidade relacionada a original
– A chave primária pode ser o próprio atributo concatenado com a chave primária da entidade origem
Empregados (CPF, Nome, Idade)Telefone(#CPF, Fone)
Banco de Dados – Modelo Relacional
Mapeamento de Mapeamento de EntidadesEntidades
Atributos Multivalorados2) 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 MapeamentoProcesso de Mapeamento
• Mapeamento preliminar de entidades e seus atributos
• Mapeamento de relacionamentos e seus atributos
• Mapeamento de especializações
Banco de Dados – Modelo Relacional
Mapeamento de Mapeamento de RelacionamentosRelacionamentos
• Os relacionamentos são implementados usando chave estrangeira. Existem três técnicas:
1)Criar Tabela Própria Indicado para cardinalidades n:n em ambos os lados
2)Colunas Adicionais Indicado para cardinalidades 1:n e 1:1
3)Fusão de Tabelas Indicado para cardinalidades 1:1 em ambos os lados
Banco de Dados – Modelo Relacional
Mapeamento de Mapeamento de RelacionamentosRelacionamentos
1)Criar Tabela Própria Criar uma tabela para o relacionamento Inserir atributo(s) do relacionamento A chave primária é formada pela concatenação das chaves
de todas as entidades envolvidas no relacionamento
Cardinalidade n:n1,N em ambos os lados
Empregados (CPF, Nome)Projetos (Código, Nome)Participação (#CPF,#Código, DataInício)
Banco de Dados – Modelo Relacional
Mapeamento de Mapeamento de RelacionamentosRelacionamentos
2) Colunas Adicionais Incluir chave estrangeira e atributos na tabela
correspondente à entidade que desempenha o papel com cardinalidade máxima n
Cardinalidade 1:N(1:N ou 0:N de um lado e(1:1 do outro)
Empregados (CPF, Nome, #CódigoDepto, data)Departamento (Código, Nome)
Banco de Dados – Modelo Relacional
Mapeamento de Mapeamento de RelacionamentosRelacionamentos
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 e0:1 do outro)
Pessoas (Código, Nome)CarteirasMotorista(Número, DataExpedição, Validade, Categoria, #Código, DataRetirada)
Banco de Dados – Modelo Relacional
Mapeamento de Mapeamento de RelacionamentosRelacionamentos
3) Fusão de Tabelas Substituir as duas entidades originais por uma única
entidade Escolher uma das identificações como chave primária
Cardinalidade 1:1
Conferências (Sigla, Nome, DataInstalação, Número,Endereço, eMail)
Banco de Dados – Modelo Relacional
Mapeamento de Mapeamento de RelacionamentosRelacionamentos
• Auto-Relacionamento– Valem as mesmas recomendações anteriores
Empregados(CPF, Nome, Idade, #CPFgerente)
Cardinalidade 1:n -> coluna adicional
Banco de Dados – Modelo Relacional
Mapeamento de Mapeamento de RelacionamentosRelacionamentos
• Relacionamento Ternário– Tabela Própria
Instituições (Sigla, ...) Projetos (Número, ...)Pesquisadores (CPF, ...)Pesquisa (#Sigla, #Número, #CPF, DataInício)
Banco de Dados – Modelo Relacional
Mapeamento de Mapeamento de EspecializaçõesEspecializações
• 3 técnicas são geralmente utilizadas Solução 1: Tabela única para entidade genérica e
especializações Solução 2: Tabelas para a entidade genérica e as
entidades especializadas Solução 3: Tabelas apenas para as entidades
especializadas
Banco de Dados – Modelo Relacional
Mapeamento de Mapeamento de EspecializaçõesEspecializações
• Solução 1: Tabela única para entidade genérica e especializações
Servidores (CPF, Nome, Tipo, Função, Titulação, Categoria)
Indicada para generalização parcial e subclasses SEM atributos
Banco de Dados – Modelo Relacional
Mapeamento de Mapeamento de EspecializaçõesEspecializações
• Solução 2: Tabelas para a entidade genérica e as entidades especializadas (pode existir um servidor que nao seja nem funcionario nem professor)
Servidores (CPF, Nome, tipo)Funcionarios (#CPF, nome, Função)Professores (#CPF, nome, Titulação, Categoria)
Indicada para generalização parcial e subclasses COM atributos
Banco de Dados – Modelo Relacional
Mapeamento de Mapeamento de EspecializaçõesEspecializações
• Solução 3: Tabelas apenas para as entidades especializadas
Funcionarios (CPF, Nome, Função)Professores (CPF, Nome, Titulação, Categoria)
Indicada para generalização TOTAL e subclasses COM ou SEM atributos
Banco de Dados – Modelo Relacional
Mapeamento de Mapeamento de EntidadesEntidades
• Entidade Fraca-> transformar em tabela– para cada entidade fraca deve ser criada uma tabela– cada atributo da entidade fraca é definido como uma
coluna– Chave primária é formada pela chave da entidade fraca
concatenada com as chaves da entidade que mapeiam o relacionamento
– Atenção: a entidade fraca só pode ser transformada em tabela, após o mapeamento de todas as entidades envolvidas no relacionamento
Banco de Dados – Modelo Relacional
Mapeamento de Mapeamento de EntidadesEntidades
• Entidade Fraca
Pedidos (Número, ..)Itens (#NumeroPedido, NumeroItem, Produto, Quantidade)
Banco de Dados – Modelo Relacional
ExercícioExercício
• Faça o mapeamento para o modelo relacional:
Banco de Dados – Modelo Relacional
Banco de Dados – Modelo Relacional
• Sistemas de Banco de Dados, Elmasri-Navathe
- 4a. Edição: Capítulo 7 • Projeto de Banco de Dados , Carlos Alberto Heuser
– 5ª edição: Capítulo 4
Leitura ComplementarLeitura Complementar