3 Mapeamento
Transformação ER para Relacional
– Cada entidade é traduzida para uma tabela.
– Cada atributo (simples) da entidade define uma coluna da tabela.
– A coluna correspondente ao atributo identificador é chave primária
Cliente
Cliente(codigocli, nome, endereco, datanas
data de nascimento endereço nome código Entidade Fraca
Empregado
código
nome
1
Possui
n
Dependente
num seq nome
• Mapeando para o Modelo Relacional:
– Empregado(cod_empregado, nome)
– Dependente(cod_empregado, num_seq, nome)
• Chave primária da entidade fraca:
– Composta
Relacionamentos
• A tradução do relacionamento depende da cardinalidade das entidades que participam do relacionamento. • Formas básicas de tradução:
– Tabela própria
– Colunas adicionais dentro da tabela de entidade
Relacionamentos 1:N ou N:1
Empregado
código
nome
n
Lotação
datalotacao
1
Departamento
código
nome
• Esquema relacional correspondente:
– Departamento(coddepto, nome)
– Empregado(codemp, nome, coddepto, datalotacao)
Relacionamentos 1:N ou N:1
• Empregado: codemp nome
101 João 1
102 José
2
103 Maria 1
coddepto datalotacao
30/12/1976
12/06/2001
21/03/1987
• Departamento: coddepto nome
1 Gerência
2 Vendas
3 Compras
Relacionamento N:N
Engenheiro
código
nome
n
Atuação
função
n
Projeto
código
título
• Esquema relacional correspondente:
– Engenheiro(codeng, nome)
– Projeto(codproj, titulo)
– Atuacao(codeng, codproj, funcao)
Auto-Relacionamento
• Além das tabelas para as entidades, cria-se uma para o relacionamento. N
PEÇA
N
COMPOSIÇÕES quantidade • Esquema relacional correspondente:
– Peca(cod_peca, descricao, peso, cor)
– Composioes(cod_peca, cod_peca_compoe, quantidade)
Relacionamentos Múltiplos
•
•
Uma tabela para cada classe de entidades.
Uma tabela para o relacionamento, contendo as chaves de cada conjunto de entidades e dos atributos se estes existirem.
N
PROFESSOR
N
P_D_A
N
ALUNO
•
Esquema relacional correspondente:
– Professor(cod_professor,