Você está na página 1de 18

BANCO DE DADOS

Aula 04 – Transformação ER para MR


Prof. Salatiel Dantas
Introdução
• Elaboração do projeto lógico de bancos de dados relacionais a
partir de modelos conceituais no caso o ER;

• O modelo lógico é um modelo menos abstrato que o conceitual


e provê um nível maior de detalhes.
Esquema de Representação
• Abordagem definida por Carlos Heuser;
• Apresenta notação resumida contendo as informações:
• Tabelas que formam o banco de dados;
• Colunas que compõem cada tabela;
• Restrições de integridade (no caso, apenas as restrições referentes às
chaves primárias e estrangeiras são representadas).

Empregados (Matricula, Nome, Cidade, CodDepto)


CodDepto referencia Departamentos
Etapas da Tradução
1. Mapeamento das entidades e atributos;
2. Mapeamento dos relacionamentos, considerando cada tipo
{1:1, 1:N, N:N};
3. Mapeamento de generalizações e especializações;
Mapeamento Entidades
• Toda entidade do ER será uma tabela no MR.

Trabalha
Empregado Departamento
em

• Tabelas: Empregado, Departamento


Mapeamento Atributos Simples
• Os atributos serão mapeados para as colunas das tabelas.

Empregado
Empregado (Nome, Cargo)
Nome
Cargo
Mapeamento Atributos Compostos
• Os atributos simples da composição serão mapeados para
colunas da tabela.

Cliente (Tipo, Logradouro,


Numero, Bairro, Cidade,
UF, CEP)
Mapeamento Atributos Multivalorados
• O atributo multivalorado vira uma nova tabela com uma chave
estrangeira para a tabela principal.

Cliente (Nome)

Telefone (Nome, Número)


Nome Referencia Cliente
Mapeamento Relacionamento 1:1
• Inserir uma chave estrangeira em uma das tabelas das
entidades que participam do relacionamento;
• Dar preferência à tabela que possui relacionamento total

No mínimo (Total) No mínimo (Parcial)

Funcionário (Matrícula, Nome, Cidade)


Projeto (Código, Nome, Matricula_Gerente)
Matricula_Gerente referencia Funcionário
Mapeamento Relacionamento 1:N
• Deve-se criar uma chave estrangeira na entidade que tem
cardinalidade máxima 1.

No Máximo

Funcionário (Matrícula, Nome, Cidade)


Projeto (Código, Nome, Matricula_Gerente)
Matricula_Gerente referencia Funcionário
Mapeamento Relacionamento N:N
• O próprio relacionamento deve ser mapeado em uma tabela do
banco de dados;
• A chave primária dessa nova tabela deve ser composta, no
mínimo, pela chave primária das tabelas relacionadas.

Funcionário (Matrícula, Nome, Cidade) Projeto (Código, Nome)


Gerenciam (Matrícula, Código, Nome)
Matrícula Referencia Funcionário
Código Referencia Projeto
Mapeamento Generalização e Especialização
• Há três possíveis opções:
1 - Criar uma tabela única fundindo os conjuntos de entidades.

Clientes (Codigo, Nome,


Endereco, CPF,
Carteira_Identidade, CNPJ,
Ativ_Principal)
Mapeamento Generalização e Especialização
• Há três possíveis opções:
2 - Criar uma tabela para cada entidade da especialização, como
Pessoas Físicas e Pessoas Jurídicas. Os atributos do conjunto de
entidades genérico devem ser incluídos em cada uma das tabelas
criadas.
Clientes_PFisica (Codigo,
Nome, Endereco, CPF,
Carteira_Identidade)

Clientes_PJuridica
(Codigo, Nome,
Endereco, CNPJ,
Ativ_Principal)
Mapeamento Generalização e Especialização
• Há três possíveis opções:
3 - Criar uma tabela para cada conjunto de entidade da hierarquia.
Nesse caso, a chave primária das tabelas filhas devem ser chaves
estrangeiras referenciando a chave do conjunto mais genérico.

Clientes (Codigo, Nome, Endereco)

Clientes_PFisica (Codigo, CPF,


Carteira_Identidade)
Codigo referencia Clientes

Clientes_PJuridica (Codigo,
CNPJ, Ativ_Principal)
Codigo referencia Clientes
Mapeamento Auto Relacionamento 1:N
• Deve-se criar a chave estrangeira na única tabela que
representa o conjunto de entidades.

Funcionarios (Matricula, Nome,


Cidade, Dt_Admissao,
Matricula_Chefe)
Matricula_Chefe referencia
Funcionarios
Mapeamento Auto Relacionamento N:N
• Funciona como o relacionamento N:N. Deve-se criar uma nova
tabela para representar a relação. Os atributos dessa tabela
devem ser chaves estrangeiras da entidade auto relacionada.

Disciplinas (Codigo, Nome, Ementa)

Pre_Requisitos (CodigoDisciplinaPos,
CodigoDisciplinaPre)
CodigoDisciplinaPre referencia Disciplinas
CodigoDisciplinaPos referencia Disciplinas
Dicionários de Dados
• O dicionário de dados descreve a terminologia utilizada para o
desenvolvimento do modelo de dados do sistema. Ele
apresenta uma descrição textual da estrutura lógica e física do
banco de dados.

Nome: Projeto
Descrição: Qualquer projeto realizado
por empregados da empresa
Atributo chave: Código
Outros atributos: Nome e localização
Até a Próxima

Você também pode gostar