Buscar

Modelagem Lógica de Banco de Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Continue navegando


Prévia do material em texto

Introdução a Banco de 
Dados
Professor Danilo Abreu
Modelagem Lógica
• Vamos entrar neste momento na terceira etapa do projeto de um 
banco de dados: a modelagem lógica.
• Nesta etapa, iremos transformar o DER – diagrama de entidade e 
relacionamento – em uma estrutura que será muito próxima a 
modelagem física (programação em SQL).
• Esta estrutura a chamamos de mapeamento do banco de dados.
UEPB - Introdução a Banco de Dados 2
Modelagem Lógica
• Antes de começarmos a trabalhar com o mapeamento propriamente 
dito, vamos inserir o conceito de chave estrangeira.
• Uma chave estrangeira é uma chave-primária que não pertence a 
originalmente a entidade.
• É uma chave que vem de outra entidade, ou seja, estrangeira.
• De onde vêm?
• Da entidade ao qual se há um relacionamento
UEPB - Introdução a Banco de Dados 3
Modelagem Lógica
• O conceito de chave estrangeira será mais claro nos slides seguintes, 
quando começarmos a fazer o mapeamento de um DER.
• Mapear um DER será transcrever as suas entidades, seus atributos e 
seus relacionamentos.
• Estrutura:
• Nome_Da_Entidade(atributo_Chave, atributo1, ..., atributoN, #chave 
estrangeira);
UEPB - Introdução a Banco de Dados 4
Modelagem Lógica
• Note que a chave-primária deve vir no início do mapeamento e deve 
estar sublinhada.
• Os demais atributos, não possuem destaque.
• Caso a entidade tenha chave estrangeira, esta deve ser representada 
com o símbolo # (sharp, jogo da velha, tralha,).
• O final do mapeamento da entidade deve ter um ; (ponto-e-vírgula)
UEPB - Introdução a Banco de Dados 5
Modelagem Lógica
• Suponha o seguinte DER:
UEPB - Introdução a Banco de Dados 6
Modelagem Lógica
• Mapear o exemplo dado anteriormente será transcrever as suas 
entidades, os seus atributos e os seus relacionamentos, além de 
apontar as suas chaves.
• Primeiro Passo:
• Mapear as entidades, ou seja, colocar o nome das entidades:
• Empregado();
• Departamento();
UEPB - Introdução a Banco de Dados 7
Modelagem Lógica
• Segundo Passo:
• Colocar as chaves-primárias de cada entidade:
• Empregado(idempregado);
• Departamento(iddepartamento);
• Note que os atributos que são chaves-primárias devem está sublinhados.
• Terceiro Passo:
• Colocar os demais atributos das entidades
UEPB - Introdução a Banco de Dados 8
Modelagem Lógica
• Terceiro Passo:
• Empregado(idempregado, nome, cidade, cpf);
• Departamento(iddepartamento, nome);
• Os atributos são separados por vírgulas.
• Quarto Passo:
• Caso exista, colocaremos as chaves estrangeiras.
• Já sabemos que uma chave estrangeira vêm de fora.
• Contudo, para que possamos inserir uma chave estrangeira, vamos usar o 
conceito de cardinalidade
UEPB - Introdução a Banco de Dados 9
Modelagem Lógica
• Quarto Passo:
• A chave estrangeira irá representar os relacionamentos entre entidades.
• No DER representamos os relacionamentos usando um losango. Contudo, 
nesta etapa não usaremos mais formas geométricas.
• Relembrando as principais cardinalidades que usamos serão:
• 1..1 (um para um)
• 1..N (um para muitos)
• N..N (muitos para muitos)
UEPB - Introdução a Banco de Dados 10
Modelagem Lógica
• Mas que entidade irá receber a chave estrangeira?
• Será a entidade mais “forte” do relacionamento.
• E como saber quem é a mais forte? A entidade que possuir o N na 
cardinalidade. Vejamos o exemplo:
UEPB - Introdução a Banco de Dados 11
Modelagem Lógica
• No exemplo anterior, a entidade que possui o N na relação é a 
entidade empregado. Na entidade departamento, a cardinalidade é 
1.
• Portanto, empregado é tida como entidade forte.
• Mas quem é a chave estrangeira? 
• É a chave-primária da entidade fraca que está se relacionando com a 
entidade forte.
UEPB - Introdução a Banco de Dados 12
Modelagem Lógica
• Voltando ao Quarto Passo:
• Colocar as chaves estrangeiras
• Empregado(idempregado, nome, cidade, cpf, #iddepartamento);
• Departamento(iddepartamento, nome);
• Com isto, terminamos o mapeamento do DER exemplo, pois não á 
mais relacionamentos e nem atributos para serem descritos.
UEPB - Introdução a Banco de Dados 13
Modelagem Lógica
• Outras cardinalidades
• No exemplo dado, a cardinalidade era apenas de 1..N, contudo, nem sempre 
nos deparamos com esta situação. 
• Observe o exemplo no slide seguinte
UEPB - Introdução a Banco de Dados 14
Modelagem Lógica
UEPB - Introdução a Banco de Dados 15
Modelagem Lógica
• Neste exemplo temos algumas situações diferentes:
• Um duplo relacionamento entre Empregado e Departamento
• Um relacionamento 1..1
• Um relacionamento N..N
• Vamos mapear este exemplo da mesma forma que fizemos no 
primeiro exemplo dado
UEPB - Introdução a Banco de Dados 16
Modelagem Lógica
• Mapeando:
• Empregado(idempregado, nome, cpf);
• Departamento(iddepartamento, nome);
• Projeto(idprojeto, nome, data_inicio);
• Note que até este momento não foi posto nenhuma chave 
estrangeira.
• Vamos fazer neste momento!
UEPB - Introdução a Banco de Dados 17
Modelagem Lógica
• A primeira, a mais simples, colocamos a da cardinalidade 1..N
• Empregado(idempregado, nome, cpf, #iddepartamento);
• Departamento(iddepartamento, nome);
• Projeto(idprojeto, nome, data_inicio);
• A próxima a ser colocada, será a do segundo relacionamento entre 
empregado e departamento, a que possui cardinalidade 1..1.
UEPB - Introdução a Banco de Dados 18
Modelagem Lógica
• Veja que ambas tem cardinalidade 1. Ou seja, não há uma entidade 
“forte”.
• Para resolver isto, deveremos fazer uma análise da situação:
• Colocaremos a chave estrangeira na entidade que fará mais sentido ter a 
informação!
• Mas como assim??
UEPB - Introdução a Banco de Dados 19
Modelagem Lógica
• Vejamos:
• TODO departamento terá um empregado que o chefiará.
• Porém, NEM TODO empregado chefiará um departamento.
• Ou seja, a informação de quem irá chefiar será mais adequada ser colocada na entidade 
departamento.
• Continuando com o mapeamento
• Empregado(idempregado, nome, cpf, #iddepartamento);
• Departamento(iddepartamento, nome, #empregadochefe);
• Projeto(idprojeto, nome, data_inicio);
UEPB - Introdução a Banco de Dados 20
Modelagem Lógica
• Mas de onde veio esta chave #empregadochefe??
• Quando usamos a chave estrangeira, podemos renomear o atributo que é 
chave-primária na entidade de origem.
• Portanto, #empregadochefe é a mesma coisa que a chave-primária 
idempregado.
• O nome foi modificado apenas para facilitar o entendimento do 
mapeamento
• Ainda falta terminar um relacionamento:
• Relação de N..N
UEPB - Introdução a Banco de Dados 21
Modelagem Lógica
• Este é um caso especial, porém mais simples de se resolver.
• Toda vez que tivermos uma relação de N..N, deveremos criar uma 
nova entidade com o nome das duas entidades, pois como ambas 
são fortes, não temos como escolher qual irá receber a chave 
estrangeira.
• Nesta nova entidade teremos os atributos chaves-primárias das 
entidades que se relacionam.
• No exemplo, a uma relação de N..N entre empregado e projeto.
UEPB - Introdução a Banco de Dados 22
Modelagem Lógica
• Mapeando esta situação, teremos:
• Empregado(idempregado, nome, cpf, #iddepartamento);
• Departamento(iddepartamento, nome, #empregadochefe);
• Projeto(idprojeto, nome, data_inicio);
• Empregado_Projeto(#idempregado, #idprojeto);
• Note que as duas chaves-primárias vão para nova entidade como chave 
estrangeiras. 
• Contudo, quando se cria uma entidade de um relacionamento N..N, as duas 
chaves estrangeiras também serão primárias. Por istoestão sublinhadas. Esta 
é a única situação que temos duas chaves-primárias em uma entidade.
UEPB - Introdução a Banco de Dados 23
Modelagem Lógica
• Revisão:
• Mapeamento é apenas a transcrição do DER, onde colocamos as entidade, 
atributos e relacionamentos.
• A sua estrutura é:
• Nome_Da_Entidade(atributo_Chave, atributosN, ..., #chave estrangeira);
• Chave-primária deve ser sublinhada
• Chave estrangeira vem acompanhada com o símbolo #
UEPB - Introdução a Banco de Dados 24
Modelagem Lógica
• Revisão
• Em relacionamento 1..1 escolhemos a entidade que faz mais sentido receber 
a chave estrangeira.
• Em relacionamentos 1..N escolhemos a entidade mais forte para receber a 
chave estrangeira. Que é a entidade que possui o N da cardinalidade.
• Em relacionamentos N..N criamos uma nova entidade com o nome das duas 
entidades e usamos as duas chaves-primárias como chaves estrangeiras. 
Nesta nova entidade elas serão chaves-primárias
UEPB - Introdução a Banco de Dados 25