Escolar Documentos
Profissional Documentos
Cultura Documentos
do Modelo Conceitual
(MER) para o Modelo
Lógico Relacional
1ª forma de representar o
esquema lógico relacional
2ª forma de representar o
esquema lógico relacional
Modelo Relacional
Conceitual
trabalha (1,1)
(0,1) Departamento
(1,N)
(1,1)
Empregado gerencia (0,1)
(1,N)
(1,1) (1,N) (1,1)
Trabalha em controla
(0,N)
(0,N) (1,N)
supervisão
Dependente Projeto
possui
Mapeamento do MER para o Lógico Relacional
Após a aplicação das regras de mapeamento que iremos aprender nessa
aula teremos o esquema lógico correspondente para o exemplo do slide
anterior:
Mapeamento ER - Relacional
◼ Passo 1:
❑ Para cada entidade no esquema ER, criar uma
tabela que inclui todos os atributos da entidade,
exceto os multivalorados.
❑ Caso exista atributo composto, inclua todos os
atributos elementares que compõem o atributo
composto.
❑ O identificador da entidade torna-se uma chave
primária da relação correspondente.
Mapeamento ER - Relacional
◼ Passo 1:
Mapeamento ER - Relacional
◼ Passo 1:
O atributo IdEnfermeira na tabela ALA_HOSPITAL é uma chave estrangeira, isto é, ele é uma
referência para a tabela ENFEMEIRA
Mapeamento ER - Relacional
◼ Passo 3 (Continuação):
❑ Note que um mapeamento alternativo de um
relacionamento 1:1 é possível juntando as duas
entidades em uma única relação (tabela). Isto é
apropriado quando as entidades não participam
de outros relacionamentos.
Mapeamento ER - Relacional
◼ Passo 4:
❑ Para cada relacionamento de cardinalidade 1:N,
◼ identificar a tabela S que representa a entidade do lado
N,
◼ incluir como chave estrangeira a chave primária da
tabela que representa a entidade do lado 1,
◼ incluir os atributos do relacionamento em S (se houver).
Mapeamento ER - Relacional
◼ Passo 4:
❑ Para cada relacionamento de cardinalidade 1:N
Mapeamento ER - Relacional
◼ Passo 4:
❑ Para cada relacionamento de cardinalidade 1:N
Mapeamento ER - Relacional
◼ Passo 5:
❑ Para cada relacionamento R de cardinalidade N:N,
◼ criar uma nova tabela para representar R (o
relacionamento),
◼ incluir como chave estrangeira as chaves primárias das
tabelas que participam em R, sendo que estas chaves
combinadas formarão a chave primária da relação criada,
◼ incluir também eventuais atributos do relacionamento.
Mapeamento ER - Relacional
◼ Passo 5:
❑ Para cada relacionamento R de cardinalidade N:N
Estratégia #1
- Criar uma única tabela para todas as especializações e incluir nela um
campo com o objetivo de indicar o tipo de cada especialização da
tabela.
No exemplo do diagrama anterior seria juntar todos os tipos de Cliente
em uma única tabela e acrescentar nesta tabela generalizada mais um
campo para identificar o tipo de Cliente a ser registrado nessa tabela mais
geral.
Mapeamento ER - Relacional
◼ Passo 8 - Mapear Generalização/Especialização
❑ Existem algumas maneiras de transformar uma
generalização/especialização em tabelas:
Estratégia #1
Mapeamento ER - Relacional
◼ Passo 8 - Mapear Generalização/Especialização
❑ Existem algumas maneiras de transformar uma
generalização/especialização em tabelas:
Estratégia #1
Mapeamento ER - Relacional
◼ Passo 8 - Mapear Generalização/Especialização
❑ Existem algumas maneiras de transformar uma generalização/especialização
em tabelas:
Estratégia #2
- Criar uma tabela individual para cada entidade especializada e definir mais um campo
identificador para cada especialização. Além disso, inserir em cada especialização uma
chave estrangeira correspondente ao atributo chave da tabela mais geral generalizada.
Mapeamento ER - Relacional
◼ Passo 8 - Mapear Generalização/Especialização
❑ Existem algumas maneiras de transformar uma generalização/especialização
em tabelas:
Estratégia #2
- Criar uma tabela para cada especialização e definir mais um campo identificador
para cada especialização. Além disso, inserir em cada especialização uma chave
estrangeira correspondente ao atributo chave da tabela generalizada.
Mapeamento ER - Relacional
◼ Passo 8 - Mapear Generalização/Especialização
❑ Existem algumas maneiras de transformar uma generalização/especialização
em tabelas:
Estratégia #2
- Criar uma tabela para cada especialização e definir mais um campo identificador para cada especialização.
Além disso, inserir em cada especialização uma chave estrangeira correspondente ao atributo chave da
tabela generalizada.
Mapeamento ER - Relacional
◼ Passo 8 - Mapear Generalização/Especialização
❑ Existem algumas maneiras de transformar uma generalização/especialização
em tabelas:
Estratégia #3
- Criar somente tabelas para cada especialização e incluir como campos os atributos
comuns e os atributos específicos nas respectivas tabelas e definir a chave primária
de cada tabela especializada.
Mapeamento ER - Relacional
◼ Passo 9 - Mapear Agregação/Entidade Associativa
❑ A transformação de agregação em tabela é bastante direta.
❑ Considere o exemplo abaixo. A tabela para o relacionamento entrevista inclui
uma coluna para cada atributo do relacionamento, uma para a chave primária de
candidato e uma para empresa. Já a tabela encaminha, que surge do
relacionamento do tipo N:N entre entrevista e cargo, tem as chaves primárias de
entrevista e a chave primária de cargo.
1 Joana 2
2 João 1
Mapeamento ER - Relacional
◼ Passo 10 – AutoRelacionamento
Mapeamento ER - Relacional
◼ Passo 10 – AutoRelacionamento
Três dicas de banco de dados
◼ Evite modelar tabelas com muitos campos
Três dicas de banco de dados
◼ Evite modelar tabelas com muitos campos
◼ A presença de muitos campos em uma mesma tabela
pode indicar um problema na modelagem do banco de
dados.
◼ É possível que atributos de diferentes entidades tenham
se misturado, tornando sua representação física menos
coesa.
◼ Para resolver essa questão podemos criar novas tabelas
e relacionamentos, de acordo com a necessidade.
Três dicas de banco de dados
◼ Evite modelar tabelas com muitos campos
(1,1) (1,1)