Você está na página 1de 10

Banco de Dados Modelo Relacional

Processo de Mapeamento

Mapeamento preliminar de entidades e seus atributos

Mapeamento de relacionamentos e seus atributos

Mapeamento de especializaes

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

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)

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

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)

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)

Pessoas (Cdigo, Nome)


CarteirasMotorista(Nmero,
DataExpedio, Validade, Categoria,
#Cdigo, DataRetirada)

Cardinalidade 1:1
(1:1 de um lado e
0:1 do outro)

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

Cardinalidade 1:n -> coluna adicional


Empregados(CPF, Nome, Idade, #CPFgerente)

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

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

Mapeamento de Especializaes

Soluo 3: Tabelas apenas para as entidades especializadas


Funcionarios (CPF, Nome, Funo)
Professores (CPF, Nome, Titulao,
Categoria)

ndicada 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

Mapeamento de Entidades

Entidade Fraca

Pedidos (Nmero, ..)


Itens (#NumeroPedido, NumeroItem, Produto, Quantidade)

Banco de Dados Modelo Relacional

Você também pode gostar