Você está na página 1de 27

Universidade 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 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 Indicado para cardinalidades 1:n e 1:1

2)Colunas Adicionais

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

Leitura Complementar
Sistemas de Banco de Dados, Elmasri-Navathe - 4a. Edio: Captulo 7 Projeto de Banco de Dados , Carlos Alberto Heuser 5 edio: Captulo 4

Banco de Dados Modelo Relacional

Você também pode gostar