SlideShare uma empresa Scribd logo
1 de 69
1
Cap 3
2
Voltando a modelagem de
dados (projeto lógico e físico)
Pontos de
Interesse
Projeto
Lógico
Projeto
Físico
VISÃO DO BD
PELO
USUÁRIO
etapas
3
Projetos
• Projeto Lógico - Mostra os tipos de entidade e seus
relacionamentos, mas não mostra como é implementado.
Independe do hardware/software e sim do
empreendimento.(como o usuário vê). Se amanhã mudar o
SGBD Access para Oracle, aproveitamos o projeto lógico
(não precisa refazer). O lógico é simbólico.
• Projeto Físico - Seleciona a estrutura física adequada para
a estrutura lógica. Depende do software/hardware.(como
está armazenado). Uma vez que escolheu o software
SGBD (por exemplo access) voçê já está limitado as suas
características. Se mudar não reaproveita !!! O físico é uma
estrutura feita com auxílio de um SGBD escolhido (gera
tabelas e relacionamento inicialmente). Não é
reaproveitável se mudar o SGBD.
4
Modelos Lógico
Database Systems, 8th Edition
5
Projeto Lógico
Pontos de
Interesse
hierárquico
Rede
Relacional
PROJETO
LÓGICO
reaproveitável
6
Projeto Lógico
• Desafios
– Limitações do SGBD
– Considerações sobre acesso/atualização
– Difícil/complexo mapear direto a realidade para
o esquema do usuário
– ALTERNATIVA ?
MODELO CONCEITUAL - MÉTODO PETER CHEN
7
Modelo Conceitual
• Sempre existiu a preocupação de procurar
um modelo suportado por uma álgebra, com
independência da implementação, mas seu
objetivo final era implementação no
computador.
• Os novos modelos de representação
conceituais têm alto poder de abstração,
mas procurando sua implementação prática.
8
Database Systems, 8th Edition
O modelo conceitual
(continuação)
• Permite um entendimento macro do
ambiente de dados.
• Independente do software e do hardware
– Não depende do SGBD para implementar o
modelo
– Não depende do hardware usado na
implementação do modelo
– Mudanças no hardware e no software não eftam
o projeto do modelo conceitual.
9
Modelo Conceitual
Database Systems, 8th Edition
10
Modelo conceitual
Pontos de
Interesse
Hierárquico
Rede
Relacional
MER
11
Database Systems, 8th Edition
12
Database Systems, 8th Edition
O Modelo Físico
• Opera no nível mais baixo de abstração
– Descreve como os dados são armazenados.
• Requer definição de armazenamento físico e
métodos de acesso aos dados.
• Independência: Mudanças no modelo físico
não afeta o modelo lógico.
13
Database Systems, 8th Edition
14
Lógico, Físico e Conceitual
15
Projeto
Projeto Lógico
Projeto Físico
Implementação
Modelo Conceitual
Modelo Físico
Linguagem de acesso
m
a
p
e
a
m
e
n
t
o
16
Método de Peter Chen(MER)
1976
• Foi concebido para representar a semântica
que os dados possuem no mundo real. Sua
representação gráfica é facilitada através do
diagrama entidade-relacionamento (DER)
• O MER possui uma etapa com o desenho
DER
• O MER NÃO É DER !!!!!DER
MER
17
Modelo Conceitual -
Método de Peter Chen
(não é só DER e sim as 4 etapas!!)
• Etapas:
– 1) Análise ambiente -
Entidades/Relacionamentos/Atributos
– 2) Diagrama E-R (DER)
– 3) Mapeamento E-R (Transforma DER em
tabelas)
– 4) Estrutura dos Registros (define campos)
NO FINAL GERA SÓ TABELAS !!!!!!!
18
Método Peter Chen(MER)
1) Identificar Entidades
Identificar Relacionamentos
Identificar Atributos
2) Desenhar Diagrama E-R (com dados do
item 1)
3) Mapeamento do DER para o modelo
relacional
4) Estrutura dos registros
19
Modelo Relacional
• Fácil de usar
• Rigor matemático na representação de
dados
• Estrutura de dados simplificada
• Ausência de detalhe de desempenho e
implementações
• Informações são armazenadas em relações
normalizadas
20
Elementos
• Entidades - abstração representando uma classe de entidades
similares, possuindo mesmas propriedades. Coisas, objetos,
pessoas com mesma estrutura.(substantivo singular)
• Relacionamentos - abstração representando associação entre
entidades (verbo ou iniciais das entidades envolvidas)
• Atributos - Propriedades das entidades/relacionamentos.
Marcar chave com *.
• Chave - É a identificação unívoca da entidade através de um
ou mais atributos. Como identificar apenas uma linha da
tabela ?
21
Representação do Modelo Real
• Entidade
– Coisa que pode ser distintamente identificada e
´possui significado próprio. Pode ser abstrato ou
concreto.Possuem as mesmas propriedades que a
caracterizam, porém com pelo menos um dos valores
distinto.
• Relacionamento
– Associação entre entidades.
22
Entidade
• Pessoa, lugar, coisa ou evento que
desejamos armazenar. Ex: aluno
• Cada característica ou qualidade desta
entidade é denominada de ATRIBUTO. Ex
para entidade aluno: nome, idade, cidade,
telefone
23
Tabela Aluno
Nome Idade Rg
João 12 6.999.777
João 13 14.777.888
Pedro 12 13.222.333
Rui 23 12.667.999
24
Diagrama E-R(DER)
(apenas 2 elementos)
• Entidade(retângulo)
• Relacionamento(losango)
Aluno
Recebe
25
Relacionamento entre entidades
• Cardinalidade do relacionamento (n = vários)
– 1:1 (um para um - uma linha de uma tabela têm apenas um
relacionamento com outra linha de outra tabela. Um aluno mora
atualmente em um único endereço)
– 1:N (um para n - uma linha de uma tabela pode ter “n”
relacionamentos com outra tabela - um pai pode ter “n’ filhos)
– N:1 (idem anterior)
– N:M (muitos para muitos) - 1 aluno cursa “n” disciplinas e uma
disciplina pode conter “n” alunos)
• Grau do relacionamento (número de entidades no
relacionamento)
– 2 entidades => binário
– 3 entidades => ternário
26
Relacionamentos
• 1-1 cada elemento está associado a um único
elemento da outra entidade
• 1-N cada elemento do primeiro conjunto está
associado a “n” elementos do outro conjunto.
Cada elemento deste último está associado apenas
um elemento do primeiro.
• N-M alguns elementos do primeiro estão
associados a mais de um do outro. E alguns deste
último estão associados a mais de um do primeiro.
27
Atributos
• Entidades
– Não existe entidade sem atributo. No mínimo 2 (sendo
um chave)
– Um(chave simples) ou mais atributos(chave composta)
deve ser chave.
• Relacionamento
– Pode ou não ter atributos
– Não tem chave
• Como saber se atributo é da entidade ou
relacionamento ?? Por exclusão. Colocar o
atributo nas entidades e verificar se tem sentido.
Ex: pessoa(Ent), matricula(Rel) e Disciplina
(Entidade) com atributo nota (?)
28
Até agora você deveria saber
• Entidade
• Relacionamentos
• Cardinalidade
• Grau de relacionamento
29
Diagrama E-R
• Atributos
nome *
endereço
cidade
valor
30
Relacionamento binário
Receita
usa
Ingrediente
Código*
nome
Código*
nome
N M
qtde
31
Relacionamento binário
Turma Aluno
N M
Numero*
sala
horário
nome
número*
sexo
semestre
Recebe
32
Relacionamento binário
Disciplina tem Turma
N 1
crédito
código*
nome
Código*
horário
33
Relacionamento binário
N M
Produto
item
Nota Fiscal
Número*
serie qtde
desconto
Código*
nome
preço lista
Outros: homem casado com mulher
mãe tem filho
34
Relacionamento ternário
1 n
Disciplina
Aluno
1
Professor
monitora
Outro: meliante usa arma contra vítima
?
35
Cardinalidade
• Dado 1 aluno monitor e uma disciplina podem
existir mais de um professor ? N -> 1?
• Dado 1 aluno monitor e 1 professor
responsável, pode haver mais de uma
disciplina que ele monitora ? S-> n ?
• Dado 1 professor e uma disciplina pode haver
mais de 1 aluno monitor ? N ->1 ?
Respostas dependem do contexto !!!!
36
Receita de bolo
• 1) Grifar as palavras mais importantes do
texto
• 2) Separar as palavras e classificar
inicialmente em:
– substantivos (entidades, atributos, papéis e
valores dos atributos)
– verbos (relacionamentos )
• 3) Achar todos os atributos das entidades e
seu valores
• 4) Achar uma chave para cada entidade
37
Receita de bolo
• 5) Vincular os relacionamentos entre as
entidades. Colocar cardinalidade.
• 6) Achar os atributos dos relacionamentos
se existir
38
Lista de Telefone
endereços
Ribeirão Preto - SP
Garibaldi - Rua
Sumaré
30 Botafogo Futebol Clube 633-1245
45 Silva, João 633-1010
60 Vieira, Pedro 634-0188
Itatiaia - Av.
Centro
10 Santos, José 623-5645
São Carlos - SP
etc...
39
Entidades/Relacionamentos
• Assinante
• PF
• PJ
• Telefone
• Rua/Av
(Logradouro)
• Bairro
• Cidade
• Estado
• Titularidade
• Localização
• R-B
• B-C
• C-E
• ASPF
• ASPJ
40
• Titularidade (RG/CPF,....)
• Local (número/sala, ...)
• Rua (código/cep/ nome/prefixo)
• R-B - ?
• B-C - ?
• C-E - ?
• Bairro (nome/código)
• Cidade (nome/ddd)
• Estado (sigla/nome)
41
DER
PJ
Assinante
PF
Bairro
Rua
Telefone
1
N
N
1
N
1
1
1
1 N
etc
Numero*
pabx
numcontrato
Codrua*
nomerua
prefixo
Codbai*
nome
Datanasc
rg*
cpf
prenome
sexo
Codpj*
nomepj
Codass*
tipo
42
DER - fazendo em aula
• Nota Fiscal com numero, data, dados do
cliente e dados dos produtos comprados e
total da nota
• Cada produto vendido possui um fornecedor
43
DER - fazendo em aula
• Empréstimo de CD
• nome cliente, título, endereço, tel, valor,
desconto,data empréstimo, data devolução e
outros.
Outro: cliente/pedido/vendedor/produto
cinema/filme/ator
44
Resumindo...
• Modelo Relacional
• Método Peter Chen (4 etapas)
– Faltam duas etapas (já aprendemos as duas
primeiras)
• mapeamento
• estrutura dos registros
45
Mapeamento do DER para o
relacional
• Técnica que permite passar do modelo
conceitual para o modelo físico
• Facilita implementação do BD no SGBD
Mapear é GERAR TABELAS A PARTIR DE
ENTIDADES
E RELACIONAMENTOS
46
5 passos
• 1) Mapear todas as entidades
• 2) Mapear todos os relacionamentos de
cardinalidade 1:1
• 3) Mapear todos os relacionamentos de
cardinalidade 1:N
• 4) Mapear todos os relacionamentos de
cardinalidade N:M
• 5) Mapear todos os relacionamentos de
ordem maior que 2
Gera só tabelas !!!!! (a partir do DER)
47
5 passos
• Passo 1 - mapear entidades
– montar as tabelas com cada entidade com os
atributos virando campos.
– riscar do diagrama E-R
48
5 passos
• Passo 2 - mapear relacionamentos de
cardinalidade 1:1
– o relacionamento é absorvido pela entidade cuja
ocorrência deve participar sempre de 1 e só 1
ocorrência do relacionamento. Você decide!!!
– A Chave de uma entidade vai para outra
entidade como atributo simples
– Eventuais atributos do relacionamento são
também absorvidos pela entidade como
atributos simples.
– riscar o relacionamento do diagrama ER
49
5 passos
• Passo 3 - mapear os relacionamentos de
cardinalidade 1:N
– O relacionamento é absorvido pela entidade
cuja ocorrência deve participar sempre de 1 e só
1 ocorrência do relacionamento.
– A chave da entidade do lado 1 vai para a tabela
do lado N como atributo simples
– Eventuais atributos do relacionamento são
também absorvidos pela tabela como atributos
simples
– Riscar este relacionamento do diagrama E-R
50
5 passos
• Passo 4 - mapear os relacionamentos de
cardinalidade N:M
– Relacionamentos são implementados como
outra tabela com referência (chave externa)
para cada entidade participante.
– As chaves de ambas entidades vão para a tabela
entidade como chave composta (com as chaves
das duas entidades)
– Eventuais atributos dos relacionamentos são
absorvidos por esta nova tabela com atributos
simples.
– Riscar este relacionamento do diagrama E-R
51
5 passos
• Passo 5 - mapear os relacionamentos de
ordem maior que 2
– Sempre origina uma nova tabela com as chaves
das entidade envolvidas virando chaves nesta
nova tabela.Estas chaves são ditas chaves
externas.
– Eventuais atributos dos relacionamentos são
também migrados para esta nova tabela como
atributos simples.
– Riscar o relacionamento do diagrama E-R
52
Mapeamento do DER para o
relacional
• 1:N
Pai
Pai
1
N
Filhos
Filhos
P-F
N
Pai = { A1*, A2, A3} Filhos = { B1*, A1,B2, B3, data}
data
53
Mapeamento do DER para o
relacional
54
Mapeamento do DER para o
relacional
55
Mapeamento do DER para o
relacional
• Mais de 2 entidades
56
Curso Aluno
tem
1 N
Disciplina
faz
N M
cursoCodigo*
cursoNome
cursoCredito
alunoRg*
alunoNome
AlunoIdade
disciplinaCodigo*
disciplinaNome
disciplinaResponsável
faznota
tempreço
*Preço varia com o curso e idadealuno
Padronização de Nomes
FazalunoRg FazdisciplinaCodigo
57
Migrando...
58
Mapeamento do DER para o
relacional
59
Mapeamento do DER para o
relacional
60
Mapeamento do DER para o
relacional
61
Mapeamento do DER para o
relacional (X)
62
Curso curriculum
tem
1 N
elenco
discipl.
N
M
gere
depto
N
1
oferece
1 N
Mapeamento do DER para o
relacional(Y)
63
Mapeamento do DER para o
relacional(Y)
64
Mapeamento do DER para o
relacional(Z)
65
cur
sa
DICAS PARA PROVA (10 mandamentos)
1) No mapeamento 1:N ou 1:1 ao migrar o atributo chave e NÃO SERÁ CHAVE na
NOVA TABELA !!!!
2) No mapeamento N:M, ao migrar o atributo chave de ambas as entidades para a nova
tabela AMBOS OS ATRIBUTOS SÃO CHAVES !!!
3) Não esquecer de colocar a cardinalidade . SÓ COLOCAR (1:1 ou 1:N ou N:M) e
NADA MAIS !!!
4) No desenho colocar * na chave
5) Quando colocar os atributos no formato de chaves Aluno = {numusp, nome , tel}
sublinhar a chave.
6) A chave pode ser composta de um ou mais atributos
7) No mapeamento 1:1 ou 1:N ou N:M deve migrar os atributos do relacionamento
JUNTO COM A CHAVE QUE MIGROU.
8) Toda entidade têm nome , atributos e chave
9) Todo relacionamento têm nome e não precisa ter atributos e chave
10) O Método de Peter Chen consta de 4 etapas (entidade, relacionamentos, atributos,
diagrama E/R, mapeamento e (formatação de registros-NÃO ESQUEÇA DE
COLOCAR SE É CARACTER ,NUMERO OU DATA e seu tamanho. Por exemplo
caracter de 6 letras => C(6), Numérico de 2 digitos N(2) e Data => D)
Aluno = { numusp, nome, sexo}
Disciplina = {sigla, nome, responsável}
Aluno Disciplina
Numusp*
Nome
sexo
Sigla*
Nome
responsável
1 N
cursa
66
Método Peter Chen
1) Identificar Entidades
Identificar Relacionamentos
Identificar Atributos
2) Desenhar Diagrama E-R (com itens1,2,3)
3) Mapeamento do DER para o modelo
relacional
4) Estrutura dos registros (Só falta esta)
67
Estrutura dos Registros
última etapa
• Detalhar cada arquivo e seus campos
– Tipo (caracter/numérico/data/moeda)
– Máscara (como vai aparecer): numero NF. NN-N(não
armazena o traço, só número)
– valor padrão ou “default” (data pedido é a de hoje. Basta
colocar = data())
– Tamanho (30 , 40 ou 50 espaços para o nome)
– Regra de validação: faixa de valores aceitáveis (sexo: F ou
M).Domínio
– Padronização dos nomes (incluir nome da tabela e sem
acento e espaço entre os nomes). Campo nome da tabela
aluno: AlunoNome. Campo cgc da tabela empresa:
EmpresaCgc.
68
Final método de Peter Chen
• Até agora não usamos o SGBD (Access)
• Até agora só criamos a estrutura para receber os dados
• Até agora temos as tabelas e relacionamentos
• Só agora vamos usar o SGBD
• Agora estamos aptos a implementar o banco de dados no gerenciador
de banco de dados. Em nosso caso é o Access.
• Implementar é montar SÓ a estrutura no gerenciador e torná-lo apto
a receber os dados no formato previsto no modelo e com isto
possibilitar que a representação seja mais próxima da realidade. (É SÓ
O ALICERCE DA CASA)
• Após montar estrutura devemos montar as telas (formulários) e
relatórios para finalizar o projeto do sistema.SEM FORMULÁRIO E
RELATÓRIO NÃO DÁ PARA TERMINAR O PROJETO, uma vez
que qualquer sistema precisa ter telas de entrada (formulário) e saída
(relatório)
69
Exemplos
• Música (artista, álbum, música, gravadora)
• Cozinha (fornecedor, ingredientes, produto, receita)
• Vendas( cliente, transportadora, pedido, funcionário, produto,
fornecedor)
• Livro (autor, editora, livro)
• Pizza (produto, ingredientes, fornecedor)
• Turma, disciplina, curso, professor e aluno
• Curso, disciplina, depto e grade
• Palestra , eventos, expressão e participantes
• Veterinário, animais, medicamentos e laboratório
• Médico, paciente, doença, remédio e laboratório
• Outros
Faça o MER etapa por etapa

Mais conteúdo relacionado

Semelhante a Modelo conceitual, lógico e físico de banco de dados

Basesdedados aula copiada da internet
Basesdedados  aula copiada da internetBasesdedados  aula copiada da internet
Basesdedados aula copiada da internetVedi Pinto
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)Janynne Gomes
 
Modelagem
ModelagemModelagem
Modelagemprsimon
 
Apostila bancodedados (2)
Apostila bancodedados (2)Apostila bancodedados (2)
Apostila bancodedados (2)Reuel Lopes
 
1601PAPSUML-Cap12-destaqueDAO.ppt
1601PAPSUML-Cap12-destaqueDAO.ppt1601PAPSUML-Cap12-destaqueDAO.ppt
1601PAPSUML-Cap12-destaqueDAO.pptAlan5263
 
Aula3BD-Modelo-Entidade-Relacionamento1.pdf
Aula3BD-Modelo-Entidade-Relacionamento1.pdfAula3BD-Modelo-Entidade-Relacionamento1.pdf
Aula3BD-Modelo-Entidade-Relacionamento1.pdfDanielaJoaoGoularted
 
Base de Dados - Introdução
Base de Dados - IntroduçãoBase de Dados - Introdução
Base de Dados - IntroduçãoMariana Hiyori
 
Aula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfAula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfCelestino24
 
Introdução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoIntrodução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoDaniel Brandão
 
Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Miguel Aquino
 
bd_aula02-IPMY.pdf
bd_aula02-IPMY.pdfbd_aula02-IPMY.pdf
bd_aula02-IPMY.pdfssuser69006f
 
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. RefBD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. RefRodrigo Kiyoshi Saito
 
Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalDaniel Brandão
 
R: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livreR: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livreLuis Borges Gouveia
 
Pré-processamento [no R] e Análise Exploratória - Curso de Big Data
Pré-processamento [no R] e Análise Exploratória - Curso de Big DataPré-processamento [no R] e Análise Exploratória - Curso de Big Data
Pré-processamento [no R] e Análise Exploratória - Curso de Big DataFabrício Barth
 
Banco de Dados _ Modelagem Conceitual.pdf
Banco de Dados _ Modelagem Conceitual.pdfBanco de Dados _ Modelagem Conceitual.pdf
Banco de Dados _ Modelagem Conceitual.pdfPauloVictor415128
 

Semelhante a Modelo conceitual, lógico e físico de banco de dados (20)

Basesdedados aula copiada da internet
Basesdedados  aula copiada da internetBasesdedados  aula copiada da internet
Basesdedados aula copiada da internet
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
 
Modelagem
ModelagemModelagem
Modelagem
 
Apostila bancodedados (2)
Apostila bancodedados (2)Apostila bancodedados (2)
Apostila bancodedados (2)
 
1601PAPSUML-Cap12-destaqueDAO.ppt
1601PAPSUML-Cap12-destaqueDAO.ppt1601PAPSUML-Cap12-destaqueDAO.ppt
1601PAPSUML-Cap12-destaqueDAO.ppt
 
Aula02c mer
Aula02c merAula02c mer
Aula02c mer
 
Aula3BD-Modelo-Entidade-Relacionamento1.pdf
Aula3BD-Modelo-Entidade-Relacionamento1.pdfAula3BD-Modelo-Entidade-Relacionamento1.pdf
Aula3BD-Modelo-Entidade-Relacionamento1.pdf
 
Base de Dados - Introdução
Base de Dados - IntroduçãoBase de Dados - Introdução
Base de Dados - Introdução
 
Aula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfAula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdf
 
Aula 01 Revisão
Aula 01   RevisãoAula 01   Revisão
Aula 01 Revisão
 
Introdução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoIntrodução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel Brandão
 
Modelo E-R
Modelo E-RModelo E-R
Modelo E-R
 
Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]
 
bd_aula02-IPMY.pdf
bd_aula02-IPMY.pdfbd_aula02-IPMY.pdf
bd_aula02-IPMY.pdf
 
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. RefBD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
 
Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - Relacional
 
R: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livreR: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livre
 
Pré-processamento [no R] e Análise Exploratória - Curso de Big Data
Pré-processamento [no R] e Análise Exploratória - Curso de Big DataPré-processamento [no R] e Análise Exploratória - Curso de Big Data
Pré-processamento [no R] e Análise Exploratória - Curso de Big Data
 
Md7 banco dados
Md7 banco dadosMd7 banco dados
Md7 banco dados
 
Banco de Dados _ Modelagem Conceitual.pdf
Banco de Dados _ Modelagem Conceitual.pdfBanco de Dados _ Modelagem Conceitual.pdf
Banco de Dados _ Modelagem Conceitual.pdf
 

Modelo conceitual, lógico e físico de banco de dados

  • 2. 2 Voltando a modelagem de dados (projeto lógico e físico) Pontos de Interesse Projeto Lógico Projeto Físico VISÃO DO BD PELO USUÁRIO etapas
  • 3. 3 Projetos • Projeto Lógico - Mostra os tipos de entidade e seus relacionamentos, mas não mostra como é implementado. Independe do hardware/software e sim do empreendimento.(como o usuário vê). Se amanhã mudar o SGBD Access para Oracle, aproveitamos o projeto lógico (não precisa refazer). O lógico é simbólico. • Projeto Físico - Seleciona a estrutura física adequada para a estrutura lógica. Depende do software/hardware.(como está armazenado). Uma vez que escolheu o software SGBD (por exemplo access) voçê já está limitado as suas características. Se mudar não reaproveita !!! O físico é uma estrutura feita com auxílio de um SGBD escolhido (gera tabelas e relacionamento inicialmente). Não é reaproveitável se mudar o SGBD.
  • 6. 6 Projeto Lógico • Desafios – Limitações do SGBD – Considerações sobre acesso/atualização – Difícil/complexo mapear direto a realidade para o esquema do usuário – ALTERNATIVA ? MODELO CONCEITUAL - MÉTODO PETER CHEN
  • 7. 7 Modelo Conceitual • Sempre existiu a preocupação de procurar um modelo suportado por uma álgebra, com independência da implementação, mas seu objetivo final era implementação no computador. • Os novos modelos de representação conceituais têm alto poder de abstração, mas procurando sua implementação prática.
  • 8. 8 Database Systems, 8th Edition O modelo conceitual (continuação) • Permite um entendimento macro do ambiente de dados. • Independente do software e do hardware – Não depende do SGBD para implementar o modelo – Não depende do hardware usado na implementação do modelo – Mudanças no hardware e no software não eftam o projeto do modelo conceitual.
  • 12. 12 Database Systems, 8th Edition O Modelo Físico • Opera no nível mais baixo de abstração – Descreve como os dados são armazenados. • Requer definição de armazenamento físico e métodos de acesso aos dados. • Independência: Mudanças no modelo físico não afeta o modelo lógico.
  • 14. 14 Lógico, Físico e Conceitual
  • 15. 15 Projeto Projeto Lógico Projeto Físico Implementação Modelo Conceitual Modelo Físico Linguagem de acesso m a p e a m e n t o
  • 16. 16 Método de Peter Chen(MER) 1976 • Foi concebido para representar a semântica que os dados possuem no mundo real. Sua representação gráfica é facilitada através do diagrama entidade-relacionamento (DER) • O MER possui uma etapa com o desenho DER • O MER NÃO É DER !!!!!DER MER
  • 17. 17 Modelo Conceitual - Método de Peter Chen (não é só DER e sim as 4 etapas!!) • Etapas: – 1) Análise ambiente - Entidades/Relacionamentos/Atributos – 2) Diagrama E-R (DER) – 3) Mapeamento E-R (Transforma DER em tabelas) – 4) Estrutura dos Registros (define campos) NO FINAL GERA SÓ TABELAS !!!!!!!
  • 18. 18 Método Peter Chen(MER) 1) Identificar Entidades Identificar Relacionamentos Identificar Atributos 2) Desenhar Diagrama E-R (com dados do item 1) 3) Mapeamento do DER para o modelo relacional 4) Estrutura dos registros
  • 19. 19 Modelo Relacional • Fácil de usar • Rigor matemático na representação de dados • Estrutura de dados simplificada • Ausência de detalhe de desempenho e implementações • Informações são armazenadas em relações normalizadas
  • 20. 20 Elementos • Entidades - abstração representando uma classe de entidades similares, possuindo mesmas propriedades. Coisas, objetos, pessoas com mesma estrutura.(substantivo singular) • Relacionamentos - abstração representando associação entre entidades (verbo ou iniciais das entidades envolvidas) • Atributos - Propriedades das entidades/relacionamentos. Marcar chave com *. • Chave - É a identificação unívoca da entidade através de um ou mais atributos. Como identificar apenas uma linha da tabela ?
  • 21. 21 Representação do Modelo Real • Entidade – Coisa que pode ser distintamente identificada e ´possui significado próprio. Pode ser abstrato ou concreto.Possuem as mesmas propriedades que a caracterizam, porém com pelo menos um dos valores distinto. • Relacionamento – Associação entre entidades.
  • 22. 22 Entidade • Pessoa, lugar, coisa ou evento que desejamos armazenar. Ex: aluno • Cada característica ou qualidade desta entidade é denominada de ATRIBUTO. Ex para entidade aluno: nome, idade, cidade, telefone
  • 23. 23 Tabela Aluno Nome Idade Rg João 12 6.999.777 João 13 14.777.888 Pedro 12 13.222.333 Rui 23 12.667.999
  • 24. 24 Diagrama E-R(DER) (apenas 2 elementos) • Entidade(retângulo) • Relacionamento(losango) Aluno Recebe
  • 25. 25 Relacionamento entre entidades • Cardinalidade do relacionamento (n = vários) – 1:1 (um para um - uma linha de uma tabela têm apenas um relacionamento com outra linha de outra tabela. Um aluno mora atualmente em um único endereço) – 1:N (um para n - uma linha de uma tabela pode ter “n” relacionamentos com outra tabela - um pai pode ter “n’ filhos) – N:1 (idem anterior) – N:M (muitos para muitos) - 1 aluno cursa “n” disciplinas e uma disciplina pode conter “n” alunos) • Grau do relacionamento (número de entidades no relacionamento) – 2 entidades => binário – 3 entidades => ternário
  • 26. 26 Relacionamentos • 1-1 cada elemento está associado a um único elemento da outra entidade • 1-N cada elemento do primeiro conjunto está associado a “n” elementos do outro conjunto. Cada elemento deste último está associado apenas um elemento do primeiro. • N-M alguns elementos do primeiro estão associados a mais de um do outro. E alguns deste último estão associados a mais de um do primeiro.
  • 27. 27 Atributos • Entidades – Não existe entidade sem atributo. No mínimo 2 (sendo um chave) – Um(chave simples) ou mais atributos(chave composta) deve ser chave. • Relacionamento – Pode ou não ter atributos – Não tem chave • Como saber se atributo é da entidade ou relacionamento ?? Por exclusão. Colocar o atributo nas entidades e verificar se tem sentido. Ex: pessoa(Ent), matricula(Rel) e Disciplina (Entidade) com atributo nota (?)
  • 28. 28 Até agora você deveria saber • Entidade • Relacionamentos • Cardinalidade • Grau de relacionamento
  • 29. 29 Diagrama E-R • Atributos nome * endereço cidade valor
  • 31. 31 Relacionamento binário Turma Aluno N M Numero* sala horário nome número* sexo semestre Recebe
  • 32. 32 Relacionamento binário Disciplina tem Turma N 1 crédito código* nome Código* horário
  • 33. 33 Relacionamento binário N M Produto item Nota Fiscal Número* serie qtde desconto Código* nome preço lista Outros: homem casado com mulher mãe tem filho
  • 35. 35 Cardinalidade • Dado 1 aluno monitor e uma disciplina podem existir mais de um professor ? N -> 1? • Dado 1 aluno monitor e 1 professor responsável, pode haver mais de uma disciplina que ele monitora ? S-> n ? • Dado 1 professor e uma disciplina pode haver mais de 1 aluno monitor ? N ->1 ? Respostas dependem do contexto !!!!
  • 36. 36 Receita de bolo • 1) Grifar as palavras mais importantes do texto • 2) Separar as palavras e classificar inicialmente em: – substantivos (entidades, atributos, papéis e valores dos atributos) – verbos (relacionamentos ) • 3) Achar todos os atributos das entidades e seu valores • 4) Achar uma chave para cada entidade
  • 37. 37 Receita de bolo • 5) Vincular os relacionamentos entre as entidades. Colocar cardinalidade. • 6) Achar os atributos dos relacionamentos se existir
  • 38. 38 Lista de Telefone endereços Ribeirão Preto - SP Garibaldi - Rua Sumaré 30 Botafogo Futebol Clube 633-1245 45 Silva, João 633-1010 60 Vieira, Pedro 634-0188 Itatiaia - Av. Centro 10 Santos, José 623-5645 São Carlos - SP etc...
  • 39. 39 Entidades/Relacionamentos • Assinante • PF • PJ • Telefone • Rua/Av (Logradouro) • Bairro • Cidade • Estado • Titularidade • Localização • R-B • B-C • C-E • ASPF • ASPJ
  • 40. 40 • Titularidade (RG/CPF,....) • Local (número/sala, ...) • Rua (código/cep/ nome/prefixo) • R-B - ? • B-C - ? • C-E - ? • Bairro (nome/código) • Cidade (nome/ddd) • Estado (sigla/nome)
  • 42. 42 DER - fazendo em aula • Nota Fiscal com numero, data, dados do cliente e dados dos produtos comprados e total da nota • Cada produto vendido possui um fornecedor
  • 43. 43 DER - fazendo em aula • Empréstimo de CD • nome cliente, título, endereço, tel, valor, desconto,data empréstimo, data devolução e outros. Outro: cliente/pedido/vendedor/produto cinema/filme/ator
  • 44. 44 Resumindo... • Modelo Relacional • Método Peter Chen (4 etapas) – Faltam duas etapas (já aprendemos as duas primeiras) • mapeamento • estrutura dos registros
  • 45. 45 Mapeamento do DER para o relacional • Técnica que permite passar do modelo conceitual para o modelo físico • Facilita implementação do BD no SGBD Mapear é GERAR TABELAS A PARTIR DE ENTIDADES E RELACIONAMENTOS
  • 46. 46 5 passos • 1) Mapear todas as entidades • 2) Mapear todos os relacionamentos de cardinalidade 1:1 • 3) Mapear todos os relacionamentos de cardinalidade 1:N • 4) Mapear todos os relacionamentos de cardinalidade N:M • 5) Mapear todos os relacionamentos de ordem maior que 2 Gera só tabelas !!!!! (a partir do DER)
  • 47. 47 5 passos • Passo 1 - mapear entidades – montar as tabelas com cada entidade com os atributos virando campos. – riscar do diagrama E-R
  • 48. 48 5 passos • Passo 2 - mapear relacionamentos de cardinalidade 1:1 – o relacionamento é absorvido pela entidade cuja ocorrência deve participar sempre de 1 e só 1 ocorrência do relacionamento. Você decide!!! – A Chave de uma entidade vai para outra entidade como atributo simples – Eventuais atributos do relacionamento são também absorvidos pela entidade como atributos simples. – riscar o relacionamento do diagrama ER
  • 49. 49 5 passos • Passo 3 - mapear os relacionamentos de cardinalidade 1:N – O relacionamento é absorvido pela entidade cuja ocorrência deve participar sempre de 1 e só 1 ocorrência do relacionamento. – A chave da entidade do lado 1 vai para a tabela do lado N como atributo simples – Eventuais atributos do relacionamento são também absorvidos pela tabela como atributos simples – Riscar este relacionamento do diagrama E-R
  • 50. 50 5 passos • Passo 4 - mapear os relacionamentos de cardinalidade N:M – Relacionamentos são implementados como outra tabela com referência (chave externa) para cada entidade participante. – As chaves de ambas entidades vão para a tabela entidade como chave composta (com as chaves das duas entidades) – Eventuais atributos dos relacionamentos são absorvidos por esta nova tabela com atributos simples. – Riscar este relacionamento do diagrama E-R
  • 51. 51 5 passos • Passo 5 - mapear os relacionamentos de ordem maior que 2 – Sempre origina uma nova tabela com as chaves das entidade envolvidas virando chaves nesta nova tabela.Estas chaves são ditas chaves externas. – Eventuais atributos dos relacionamentos são também migrados para esta nova tabela como atributos simples. – Riscar o relacionamento do diagrama E-R
  • 52. 52 Mapeamento do DER para o relacional • 1:N Pai Pai 1 N Filhos Filhos P-F N Pai = { A1*, A2, A3} Filhos = { B1*, A1,B2, B3, data} data
  • 53. 53 Mapeamento do DER para o relacional
  • 54. 54 Mapeamento do DER para o relacional
  • 55. 55 Mapeamento do DER para o relacional • Mais de 2 entidades
  • 56. 56 Curso Aluno tem 1 N Disciplina faz N M cursoCodigo* cursoNome cursoCredito alunoRg* alunoNome AlunoIdade disciplinaCodigo* disciplinaNome disciplinaResponsável faznota tempreço *Preço varia com o curso e idadealuno Padronização de Nomes FazalunoRg FazdisciplinaCodigo
  • 58. 58 Mapeamento do DER para o relacional
  • 59. 59 Mapeamento do DER para o relacional
  • 60. 60 Mapeamento do DER para o relacional
  • 61. 61 Mapeamento do DER para o relacional (X)
  • 63. 63 Mapeamento do DER para o relacional(Y)
  • 64. 64 Mapeamento do DER para o relacional(Z)
  • 65. 65 cur sa DICAS PARA PROVA (10 mandamentos) 1) No mapeamento 1:N ou 1:1 ao migrar o atributo chave e NÃO SERÁ CHAVE na NOVA TABELA !!!! 2) No mapeamento N:M, ao migrar o atributo chave de ambas as entidades para a nova tabela AMBOS OS ATRIBUTOS SÃO CHAVES !!! 3) Não esquecer de colocar a cardinalidade . SÓ COLOCAR (1:1 ou 1:N ou N:M) e NADA MAIS !!! 4) No desenho colocar * na chave 5) Quando colocar os atributos no formato de chaves Aluno = {numusp, nome , tel} sublinhar a chave. 6) A chave pode ser composta de um ou mais atributos 7) No mapeamento 1:1 ou 1:N ou N:M deve migrar os atributos do relacionamento JUNTO COM A CHAVE QUE MIGROU. 8) Toda entidade têm nome , atributos e chave 9) Todo relacionamento têm nome e não precisa ter atributos e chave 10) O Método de Peter Chen consta de 4 etapas (entidade, relacionamentos, atributos, diagrama E/R, mapeamento e (formatação de registros-NÃO ESQUEÇA DE COLOCAR SE É CARACTER ,NUMERO OU DATA e seu tamanho. Por exemplo caracter de 6 letras => C(6), Numérico de 2 digitos N(2) e Data => D) Aluno = { numusp, nome, sexo} Disciplina = {sigla, nome, responsável} Aluno Disciplina Numusp* Nome sexo Sigla* Nome responsável 1 N cursa
  • 66. 66 Método Peter Chen 1) Identificar Entidades Identificar Relacionamentos Identificar Atributos 2) Desenhar Diagrama E-R (com itens1,2,3) 3) Mapeamento do DER para o modelo relacional 4) Estrutura dos registros (Só falta esta)
  • 67. 67 Estrutura dos Registros última etapa • Detalhar cada arquivo e seus campos – Tipo (caracter/numérico/data/moeda) – Máscara (como vai aparecer): numero NF. NN-N(não armazena o traço, só número) – valor padrão ou “default” (data pedido é a de hoje. Basta colocar = data()) – Tamanho (30 , 40 ou 50 espaços para o nome) – Regra de validação: faixa de valores aceitáveis (sexo: F ou M).Domínio – Padronização dos nomes (incluir nome da tabela e sem acento e espaço entre os nomes). Campo nome da tabela aluno: AlunoNome. Campo cgc da tabela empresa: EmpresaCgc.
  • 68. 68 Final método de Peter Chen • Até agora não usamos o SGBD (Access) • Até agora só criamos a estrutura para receber os dados • Até agora temos as tabelas e relacionamentos • Só agora vamos usar o SGBD • Agora estamos aptos a implementar o banco de dados no gerenciador de banco de dados. Em nosso caso é o Access. • Implementar é montar SÓ a estrutura no gerenciador e torná-lo apto a receber os dados no formato previsto no modelo e com isto possibilitar que a representação seja mais próxima da realidade. (É SÓ O ALICERCE DA CASA) • Após montar estrutura devemos montar as telas (formulários) e relatórios para finalizar o projeto do sistema.SEM FORMULÁRIO E RELATÓRIO NÃO DÁ PARA TERMINAR O PROJETO, uma vez que qualquer sistema precisa ter telas de entrada (formulário) e saída (relatório)
  • 69. 69 Exemplos • Música (artista, álbum, música, gravadora) • Cozinha (fornecedor, ingredientes, produto, receita) • Vendas( cliente, transportadora, pedido, funcionário, produto, fornecedor) • Livro (autor, editora, livro) • Pizza (produto, ingredientes, fornecedor) • Turma, disciplina, curso, professor e aluno • Curso, disciplina, depto e grade • Palestra , eventos, expressão e participantes • Veterinário, animais, medicamentos e laboratório • Médico, paciente, doença, remédio e laboratório • Outros Faça o MER etapa por etapa