Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

MODELAGEM E 
IMPLEMENTAÇÃO DE
BANCO DE DADOS COM
SQL
Alfredo Boente
alfredo.boente@uva.br
Aula 03
Modelo de Dados Lógico
Relacional
Modelo Lógico
Introdução
O Modelo Lógico de banco de dados, descreve os esquemas 
lógicos de dados, por meio de uma linguagem de especificação, 
baseada num SGBD.
Existem três tipos distintos de modelos lógico. São eles:
 Relacional;
 Redes;
 Hierárquico.
Modelo de Banco de Dados
Introdução
Mas antes mesmo de iniciarmos nossas atividades associadas ao 
modelo lógico, precisamos massificar mais alguns detalhes 
importantes acerca do modelo conceitual de banco de dados, 
essenciais para um estudo mais completo no âmbito do modelo 
lógico de dados.
Modelo Lógico
Modelo de Banco de Dados
Modelo de Banco de Dados
Modelo Lógico
Modelo Lógico
O modelo lógico (no caso da nossa disciplina aplicaremos a visão 
relacional com foco em base universal), já leva em conta algumas 
limitações e implementa recursos como adequação de padrão e 
nomenclatura, define as chaves primárias e estrangeiras, 
normalização, integridade referencial, 
dentre outras. 
Modelo de Banco de Dados
Modelo Lógico
Modelo Lógico
O modelo lógico deve ser criado levando em conta os exemplos de 
modelagem de dados criados no 
modelo conceitual.
Veja o exemplo ao lado 
de um modelo lógico 
(relacional).
VAMOS RACIOCINAR ?
 
VAMOS RACIOCINAR ?
 
Modelo de Banco de Dados
Modelo Lógico
Modelo de Banco de Dados
Modelo Lógico
Modelo Lógico
Considere o modelo conceitual mostrado anteriormente, para a 
escola de ensino fundamental e médio:
Modelo de Banco de Dados
Modelo Lógico
Modelo Lógico
Precisamos, inicialmente, considerar todas as entidades que 
compõe o modelo conceitual.
As ligações entre as entidades do modelo, perfazem os possíveis 
relacionamento entre essas entidades.
Em seguida, deve-se considerar as possíveis entidades-
relacionamentos, pois no modelo lógico, precisam ser 
representadas por meio de uma relação, ou seja, através de uma 
tabela, com todos os atributos que a compõe.
Modelo de Banco de Dados
Modelo Lógico
Modelo Lógico
Vejamos como fica o modelo lógico da escola de ensino 
fundamental e médio:
VAMOS PARA O PRÓXIMO ?
 
VAMOS PARA O PRÓXIMO ?
 
Modelo de Banco de Dados
Modelo Lógico
Modelo de Banco de Dados
Modelo Lógico
Modelo Lógico
Vamos considerar na prática o 
seguinte modelo conceitual de
dados para certa empresa:
Modelo de Banco de Dados
Modelo Lógico
Modelo Lógico
Transformando o modelo
conceitual em modelo 
lógico de dados.
Modelo de Banco de Dados
Modelo Lógico
Modelo de Banco de Dados
Modelo Lógico
Aprendizagem Baseada em Problemas
Situação-problema:
Proposta de implantação de um sistema de controle e 
gerenciamento de empréstimos de livros de uma biblioteca 
acadêmica: A biblioteca dispõe de livros, também denominados 
títulos. Estes possuem nome, autores e editoras. Cada título 
pertence a uma área de conhecimento e possui um código único 
de identificação. Cada título possui vários exemplares. Cada 
exemplar possui um código único de identificação. Cada título 
pode ter vários autores e um mesmo autor pode ter escrito vários 
títulos. Um autor possui código, nome, telefone e endereço.
Modelo de Banco de Dados
Modelo Lógico
Aprendizagem Baseada em Problemas
Situação-problema:
As editoras possuem código, nome, telefone e endereço. As áreas 
de conhecimento possuem código e uma descrição. Usuários, que 
podem ser alunos, professores ou funcionários, tomam livros 
emprestados por uma semana. A data de empréstimo é 
importante no processo. Cada usuário possui um código, nome, 
telefone e endereço. Cada título possui várias palavras-chave e 
uma palavra-chave pode estar ligada a vários títulos. Uma 
palavra-chave possui código e descrição.
Modelo de Banco de Dados
Modelo Lógico
Aprendizagem Baseada em Problemas
Metodologia:
O aluno deverá desenvolver um modelo lógico, através do DER, 
visando obter duas soluções para o mesmo problema. 
A primeira, modelando a partir da notação Pé-de-Galinha (Visual 
Paradigma) e a segunda a partir da notação de Peter Chen 
(BrModelo). 
Com base neste último, utilizando o BrModelo, desenvolva o 
modelo lógico correspondente, com os ajustes necessários, se for 
o caso.
Modelo de Banco de Dados
Modelo Lógico
Modelo de Banco de Dados
Modelo Lógico
Aprendizagem Baseada em Problemas
Modelagem Conceitual – Crow-Foot:
Modelo de Banco de Dados
Modelo Lógico
Aprendizagem Baseada em Problemas
Modelagem Conceitual – Peter Chen:
Modelo de Banco de Dados
Modelo Lógico
Aprendizagem Baseada em Problemas
Modelagem Lógico – Relacional:
Modelo de Banco de Dados
Modelo Lógico
ATIVIDADE EXTRA CLASSE
 
ATIVIDADE EXTRA CLASSE
 
Modelo de Banco de Dados
Modelo Relacional
Aprendizagem Baseada em Problemas
Situação-problema:
Na analogia da construção da casa, a modelagem lógica equivale 
a planta elaborada pelo Engenheiro, nela deve conter todas as 
especificações necessárias para a construção de uma casa, 
seguindo essa linha a modelagem lógica também deve conter 
todas as especificações para a construção do banco de dados 
físico, então como realizamos 
a transformação da modelagem 
conceitual para modelagem lógica?
Modelo de Banco de Dados
Modelo Relacional
Aprendizagem Baseada em Problemas
Metodologia:
Após a análise dos alunos, o professor deve apresentar a 
concepção do modelo lógico relacional, demonstrando a 
representação gráfica da estrutura e as várias opções de 
transformação do modelo conceitual para lógico de acordo com 
cada cardinalidade da estrutura no Diagrama Entidade-
Relacionamento. 
Utilizando a ferramenta CASE, BrModelo, deverá ser apresentado 
estudo de caso para a transformação do modelo conceitual para o 
lógico.
Modelo de Banco de Dados
Modelo Relacional
Aprendizagem Baseada em Problemas
Situação-problema:
Proposta de implantação de um sistema de gestão de certa escola 
de música que necessita manter uma base de dados organizada 
com o objetivo de prover informações sobre músicos, orquestras, 
sinfonias e instrumentos, onde:
Cada orquestra é catalogada contendo o seu nome, cidade, país e 
data correspondentes à sua criação; Orquestras executam 
sinfonias, as mais variadas. Os profundos conhecedores de música 
são capazes até de selecionar a orquestra que melhor 
desempenha uma determinada sinfonia.
Modelo de Banco de Dados
Modelo Relacional
Aprendizagem Baseada em Problemas
Situação-problema:
De cada uma sinfonia, é possível saber o seu nome, o compositor 
e a data de sua criação; Orquestras são constituídas de músicos, 
os mais variados, de acordo com a sua função dentro da mesma: 
maestro, flautista etc. Cada músico é catalogado contendo: nome 
do músico, identidade, nacionalidade e data de nascimento. Um 
músico só pode pertencer a uma orquestra; Músicos tocam 
sinfonias, porém em alguns casos, alguns músicos podem mudar 
de função segundo a sinfonia (por exemplo, um violinista pode 
virar maestro).
Modelo de Banco de Dados
Modelo Relacional
Aprendizagem Baseada em Problemas
Situação-problema:
A data em que um músico apresenta uma determinada sinfonia 
também é importante no contexto. 
Cada músico pode ser apto a tocar 
vários instrumentos, mas em cada 
sinfonia toca apenas 
um instrumento, pois 
depende de sua 
função na sinfonia.
Modelo de Banco de Dados
Modelo Relacional
Aprendizagem Baseada em Problemas
Metodologia:
O aluno deverá desenvolver um modelo conceitual de dados, 
através de ferramenta CASE, a partir da notação de Peter Chen 
(BrModelo). 
Após a criação do modelo conceitual de dados, também utilizando 
o BrModelo, desenvolva o modelo lógico relacional 
correspondente, com os ajustes necessários, se for o caso.
Modelo de Banco de Dados
Modelo Relacional
Aprendizagem Baseada em Problemas
Modelo Conceitual (Peter Chen):
Modelo de Banco de Dados
Modelo Relacional
Aprendizagem Baseada em Problemas
Modelo Lógico(Relacional):
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
Mapeamento do Modelo Relacional
Na conversão do modelo conceitual para o modelo lógico, temos:
Implementação de entidades:
- Cada entidade é traduzida para uma tabela.
- Cada atributo define uma coluna da tabela.
- Atributos identificadores correspondem a chave primária da 
tabela ou relação.
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
Mapeamento do Modelo Relacional
Então:
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
Implementação de relacionamentos:
Alternativas básicas:
 Tabela própria
 Adição de colunas a uma das tabelas
 Fusão de tabelas
A escolha de uma dessas alternativas depende da cardinalidade 
(min/max) do relacionamento. Cada relacionamento temos a 
alternativa preferida e em alguns casos outra alternativa que 
pode ser usada, mas não é a melhor.
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
Segue a tabela com todas 
as conversões:
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
Segue a tabela com todas 
Conversão de relacionamento n:n:
SÓ PODE FAZER TABELA PRÓPRIA
- Chave primária composta das chaves das tabelas 
participantes;
- Chave estrangeira para cada tabela participante;
Conversão de relacionamento 1:n:
SEMPRE PODE FAZER ADIÇÃO DE COLUNA
- Chave estrangeira vai do lado 1 para o lado n.
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
Vamos para um exemplo de cada uma para fixar: 
Primeiro n:n
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
Na conversão de relacionamentos n:n temos sempre uma tabela 
própria com a chave primária composta pelas chaves primárias 
das duas tabelas. Então, vamos a conversão dos modelos:
 Modelo Conceitual Modelo Lógico
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
Modelo Lógico
Atenção: A tabela Lotação apresenta uma Chave Primária 
Composta pelas Chaves Primárias das duas Tabelas (Departamento 
e Empregado). 
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
Agora vamos para um Relacionamento do tipo 1:n. 
Sempre a melhor alternativa será fazer a adição de coluna, ou 
seja, criar uma chave estrangeira do lado 1 para o lado n.
 Modelo Conceitual
 Modelo Lógico
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
Modelo Lógico
Atenção: 
A Chave Estrangeira vai do lado 1 para o lado n. 
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
Conversão de relacionamento 1:n
a segunda alternativa preferida.
Se o lado 1 for opcional: PODE FAZER TABELA PRÓPRIA
Tabela própria com a chave primária só do lado n.
Se o lado 1 for obrigatório:
NÃO PODE FAZER TABELA PRÓPRIA
Só pode fazer adição de coluna do 
lado 1 para o lado n.
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
Vamos para um exemplo de Tabela Própria: 
Primeiro 1:n
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
 Modelo Conceitual
 Modelo Lógico
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
Conversão de 1:1
dois lados obrigatórios
Só pode fazer FUSÃO DE TABELAS
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
 Modelo Conceitual 
 Modelo Lógico
Sempre tem que escolher a Chave Primária
Neste caso CódigoDep foi a escolhida. Assim, CodEmp fica sendo a 
chave candidata.
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
Conversão de relacionamento 1:1
com um lado opcional
Neste caso a melhor alternativa é fazer FUSÃO DE TABELAS
Na fusão de tabelas, juntamos as duas tabelas em uma só e a 
chave primária é o 
atributo identificador 
da entidade do lado 
obrigatório. Veja:
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
 Modelo Conceitual 
 Modelo Lógico
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
No entanto, também podemos fazer a adição de colunas, embora 
não seja a alternativa preferida.
Nesse caso temos que adicionar a chave estrangeira do lado 
opcional. 
Além disso, nesse caso a chave estrangeira é obrigatória e única, 
ou seja, não se repete.
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
No entanto, também podemos fazer a adição de colunas, embora 
não seja a alternativa preferida.
Nesse caso temos que adicionar a chave estrangeira do lado 
opcional. 
Além disso, nesse caso a chave estrangeira é
obrigatória e única, ou seja, não se repete.
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
 Modelo Conceitual
 Modelo Lógico
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
Conversão de relacionamento 1:1
com AMBOS os lados opcionais
Melhor opção seria a adição de colunas, e podemos adicionar de 
qualquer lado para qualquer lado. Fica a cargo do projetista.
Modelo de Banco de Dados
Modelo Relacional
Modelo de Dados Relacional
Ou poderia ser feito na própria tabela.
 Modelo Conceitual
 Modelo Lógico
Modelo de Banco de Dados
Modelo Relacional
Aprendizagem Baseada em Problemas
Situação-Problema:
Um cliente pode realizar a compra de um ou vários produtos de 
certa loja de conveniência. Precisa-se ter registrado a data em 
que a compra foi realizada. Produtos podem ser comprados por 
um ou vários clientes, que precisam ser identificados pelo cpf, 
nome, email e telefones. 
Todo o produto que é 
cadastrado apresenta 
a seguinte estrutura: 
cod, nome, quant e preço.
Modelo de Banco de Dados
Modelo Relacional
ATIVIDADE EXTRA CLASSE
 
ATIVIDADE EXTRA CLASSE
 
Modelo de Banco de Dados
Modelo Relacional
Aprendizagem Baseada em Problemas
Metodologia:
A partir do modelo conceitual (Peter-Chen), o aluno deverá criar 
o modelo lógico Relacional correspondente, utilizando o 
BrModelo, realizando todos os ajustes necessários, quando for o 
caso. 
Modelo de Banco de Dados
Modelo Relacional
Aprendizagem Baseada em Problemas
Situação-Problema:
Um professor leciona uma ou várias disciplinas em certa escola. 
Uma disciplina só pode ser ministrada por um e apenas um 
professor que esteja devidamente habilitado. O professor é 
registrado através dos seguintes campos: matr, cpf, nome, 
formação e habilitação. 
Já a disciplina deve ser 
registrada pelo seu codigo, 
nome e ementa.
Modelo de Banco de Dados
Modelo Relacional
Aprendizagem Baseada em Problemas
Metodologia:
A partir do modelo conceitual (Crow-Foot), o aluno deverá criar o 
modelo lógico Relacional correspondente, utilizando o BrModelo, 
realizando todos os ajustes necessários, quando for o caso. 
Modelo de Banco de Dados
Modelo Relacional
Aprendizagem Baseada em Problemas
Situação-Problema:
Um funcionário (matr, nome, setor, função e telefones) pode 
estar alocado em um e apenas um projeto (cod, nome, descrição, 
dt_inicial, dt_final, custo). Um projeto sempre tem um ou vários 
funcionários alocados à ele. 
De certo, um projeto sempre 
terá, obrigatoriamente, 
uma data de início e 
término.
Modelo de Banco de Dados
Modelo Relacional
Aprendizagem Baseada em Problemas
Metodologia:
A partir do modelo conceitual (Crow-Foot), o aluno deverá criar o 
modelo lógico Relacional correspondente, utilizando o BrModelo, 
realizando todos os ajustes necessários, quando for o caso. 
Modelo de Banco de Dados
Modelo Relacional
Aprendizagem Baseada em Problemas
Situação-Problema:
Num restaurante um clientepode fazer o pedido de um ou vários 
pratos. Cada prato é composto por um ou vários itens de pedido, 
que são identificados pelo id_item, descrição e quant. Cada 
cliente é cadastrado pelo cpf, nome, endereço (rua e número), 
email e telefones. Um prato pode ser pedido por um ou vários 
clientes. Um prato é identificado pelo 
id_prato, id_item, quant e preço. 
Sabe-se que todo o pedido vem 
acompanhado da data em que foi feito.
Modelo de Banco de Dados
Modelo Relacional
Aprendizagem Baseada em Problemas
Metodologia:
A partir do modelo conceitual (Peter-Chen), o aluno deverá criar 
o modelo lógico Relacional correspondente, utilizando o 
BrModelo, realizando todos os ajustes necessários, quando for o 
caso. 
Modelo de Banco de Dados
Modelo Relacional
ATIVIDADE EXTRA CLASSE
 
ATIVIDADE EXTRA CLASSE
 
Modelo de Banco de Dados
Modelo Relacional
Exercícios:
1) O professor da disciplina atribui exercícios de modelagem e 
implementação de banco de dados aos alunos
2) O professor da disciplina atribui exercícios de modelagem e 
implementação de banco de dados aos alunos
3) O professor da disciplina atribui exercícios de modelagem e 
implementação de banco de dados aos alunos
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33
	Slide 34
	Slide 35
	Slide 36
	Slide 37
	Slide 38
	Slide 39
	Slide 40
	Slide 41
	Slide 42
	Slide 43
	Slide 44
	Slide 45
	Slide 46
	Slide 47
	Slide 48
	Slide 49
	Slide 50
	Slide 51
	Slide 52
	Slide 53
	Slide 54
	Slide 55
	Slide 56
	Slide 57
	Slide 58
	Slide 59
	Slide 60
	Slide 61
	Slide 62
	Slide 63

Mais conteúdos dessa disciplina