Logo Passei Direto
Buscar

Modelagem Conceitual de Banco de Dados

User badge image

Enviado por Magno Biét em

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Modelagem Conceitual de 
Banco de Dados 
Banco de Dados I
Projeto de Banco de Dados
• Modelo 
Conceitual
• Independente de 
modelo de dados
• Independente de 
SGBD
• Independente de 
plataforma de 
hardware ou sistema 
operacional
• Ex.: Diagrama 
entidade-
relacionamento (E-R) 
e diagrama de classes
• Modelo 
Lógico
• Independente de 
SGBD dentro do 
modelo de dados
• Independente de 
plataforma de 
hardware ou sistema 
operacional
• Específico para cada 
modelo de dados.
• Ex.: Modelo relaciona, 
XML e orientado a 
objetos
2
• Modelo 
Físico
• Scripts de geração do 
BD.
• Específico para cada 
SGBD
• Algumas 
dependências em 
função de sistema 
operacional e de 
hardware (centralizado 
x distribuido, cluster, 
grid, etc.)
• Ex.: SQL
Modelagem conceitual
• Primeira etapa do projeto de banco de dados
• Objetivo: Representar os elementos do mundo real que 
são do interesse da aplicação para a qual o banco de 
dados está sendo gerado, com suas características e 
seus relacionamentos.
• Não considera nenhum aspecto de implementação.
– Mais fácil de uma pessoa não técnica entender;
– Mais fácil de dar manutenção (acrescentar elementos ou corrigir erros);
– Não depende de modelo de dados (se hoje eu uso BD relacional e 
amanhã resolvo usar BD XML, o modelo conceitual é o mesmo)
3
Diagrama Entidade-Relacionamento (ER)
• Proposto por Peter Chen
• Mais popular forma de modelagem 
conceitual
• Construtores (componentes)
– Entidades
– Atributos
– Relacionamentos
4
Diagrama E-R: Entidades
• Construtor principal do E-R: 
– Representa qualquer conjunto de elementos 
semelhantes do mundo real que deve ter 
suas informações armazenadas para serem 
manipuladas pela aplicação. 
• Notação gráfica:
5
Nome
• Exemplo: Para uma loja, temos: 
Diagrama E-R: Entidades
6
Produto
Vendedor
CamisaCamisa CalçaCalça
CamisetaCamiseta
PedroPedro
LuizaLuiza
instâncias
instâncias
Diagrama E-R: Atributos
• Construtor auxiliar do E-R
– Representa uma característica da entidade (ou 
relacionamento) de interesse da aplicação sendo 
desenvolvida.
– É um dado que é associado a cada ocorrência 
(instância) de uma entidade (ou relacionamento)
– Somente existe se associado a uma entidade (ou 
relacionamento)
• Notação gráfica: 
7
• Exemplo: Para os produtos da loja, temos: 
Diagrama E-R: Atributos
8
Camisa
29,90
Azul
Camisa
29,90
Azul
Calça
39,50
Preto
Calça
39,50
Preto
Camiseta
15.90
Amarelo
Camiseta
15.90
Amarelo
instâncias
item preco
Produto
cor
Diagrama E-R: Atributos
• Atributo identificador
– Identifica unicamente cada indivíduo (instância) de uma entidade.
– Não pode ter seus valores repetidos
• CPF de uma entidade pessoa
• Matricula de uma entidade aluno
• Código de uma entidade produto
• Atributo identificador composto
– Ocorre quando o identificador de uma entidade é compostos de mais de 
um atributo.
– Neste caso, o que não pode se repetir é a combinação dos valores dos 
atributos que compõem o identificador.
• Importante: Cada entidade tem somente 1 identificador, que 
pode ser simples (1 atributo) ou composto (mais de 1 atributo) 9
• Exemplos de atributos identificadores
Diagrama E-R: Atributos
item preco
Produto
codigo
Codigo Item Preco
Prod1 Camiseta 15,90
Prod2 Camisa 29,90
Prod3 Camisa 15,90
Prod3 Bermuda 25,90
Errado, pois repete o valor de código, que é identificador
RG orgao
Cliente
nome
RG Orgao Nome
123 SJS João
123 SSP Maria
357 SJS Pedro
123 SJS Carlos
468 SSP Maria
Errado, pois repete o valor 
do par (RG,orgao), que é o 
identificador de cliente
Diagrama E-R: Atributos
• Atributo composto
11
Nome
Cliente
CPF
email
CEP
endereco
codigo
bairro
rua
Não possuem equivalentes no modelo relacional  deverão virar 
entidades
Nome
Cliente
CPF
email
endereco
rua
Bairro
CEP
Diagrama E-R: Atributos
• Atributo multivalorado
12
Nome
Cliente
CPF
Email (N)
Telefone (0..N)
Não possuem equivalentes no modelo relacional  deverão virar entidades
Nome
Cliente
CPF
Email (N)
codigo
numero
Telefone
1
n
Diagrama E-R: Relacionamentos
• Construtor auxiliar do E-R
– Representa uma associação, ou relação, entre 
entidades.
• Venda TEM cliente
• Vendedor FAZ venda
• Notação gráfica: 
13
nome
Diagrama E-R: Relacionamentos
• Relacionamento binário
– Tipo mais comum de relacionamento, e único 
implementado no modelo relacional
– Tem sempre duas extremidades, cada uma ligada a 
uma (ocorrência de) entidade
• Exemplos
14
Cliente
CPF
codigo
possui endereco
Cliente
codigo
NF Venda
Diagrama E-R: Relacionamentos
• Auto relacionamento
– Caso particular de relacionamento binário
– As duas extremidades estão ligadas à mesma 
entidade
• Exemplo
CPF
gerenciaFuncionário
Diagrama E-R: Cardinalidades
• Quantificam os relacionamentos
– Para cada instância da entidade A, quantas 
instâncias da entidade B podem estar associadas e 
vice-versa
temA B
1..1 0..N
mínimo máximo
Diagrama E-R: Cardinalidades
• Mínimo
– Número mínimo de 
ocorrências de instâncias 
da entidade para cada 
ocorrência de instâncias da 
entidade associada
– 0  Opcional
– 1  Obrigatório
• Máximo
– Número máximo de 
ocorrências de instâncias 
da entidade para cada 
ocorrência de instâncias da 
entidade associada
– 1  Único
– N  Múltiplo (vários)
Diagrama E-R: Cardinalidades
• Nome das cardinalidades
– Somente considerar cardinalidades máximas de cada lado
temA B
1 1
temA B
1 N
temA B
N N
Um-para-um
Um-para-N
N-para-N
Diagrama E-R: Relacionamento 
Identificador
• Ocorre somente em relacionamentos de 
cardinalidade 1-para-N
– Usado quando, para identificar unicamente um 
indivíduo da entidade do lado N, somente seu 
identificador não basta 
– Nem todo 1-para-N é identificador
• Exemplo
temPredio Sala
1 N
codPredio numSala
Diagrama E-R: Equivalência de 
relacionamentos
EQUIVALE A
Funcionario FuncProj
1 N
CPF
codProj
participaFuncionario Projeto
N N
CPF
Projeto
CodProj
N 1
Diagrama E-R: Atributos em 
relacionamentos
• Ocorre, em geral, em relacionamentos de 
cardinalidade N-para-N
– Pode ocorrer em 1-para-N, mas não é usual
• Serve para caracterizar uma ocorrência de uma 
associação entre as entidades relacionadas
– Muito usado para armazenar históricos
Diagrama E-R: Atributos em 
relacionamentos
• Exemplo
– Como saber a nota que um determinado aluno tirou 
em uma determinada disciplina?
– Como fazer para que um aluno possa cursar uma 
disciplina mais de uma vez (por exemplo, se for 
reprovado?)
temAluno Disciplina
N N
Matricula codDisciplina
nomeDisciplinacreditos
nome
Diagrama E-R: Atributos em 
relacionamentos
• Exemplo
– O atributo do relacionamento pode ser 
identificador ou não identificador
temAluno Disciplina
N N
Matricula codDisciplina
nomeDisciplinasemestre
nome nota
Exercício 1
• Um aeroporto deve modernizar seu sistema de controle de partidas 
e chegadas e aeronaves. Devem estar cadastradas as companhias 
aéreas que nele operam, contendo as informações de nome da 
companhia, telefone de contato e nome do contato. Cada vôo 
pertence a uma companhia aérea, e possui um número de vôo, 
horário (chegada se o aeroporto for o destino, ou partida se o 
aeroporto for a origem) e a cidade/aeroporto de onde ele vem ou 
para onde ele vai. Para tanto, um simples campo na tabela vôo 
chamado “tipo” é suficiente. As cidades/aeroportos de 
destino/origem dos vôos devem
estar cadastradas. Cada uma 
possui um nome e telefone de contato. Não esqueça que um vôo 
pode ter escalas. Para cada escala, é suficiente saber a 
cidade/aeroporto.
24
Relacionamentos de grau maior que 2
• Como ler as cardinalidades?
– Sempre fixa-se uma entidade e confronta-se ela 
contra todas as outras
– Vale para relacionamentos de qualquer grau
25
temProduto Distribuidor
N 1
codProd codDistribuidor
nome
descricao
Cidade
N
codCidade
nome
Relacionamentos de grau maior que 2
• Para cada par (cidade, produto), tem-se 1 distribuidor
• Para cada par (distribuidor, cidade), tem-se vários (N) 
produtos
• Para cada par (distribuidor, produto) tem-se várias (N) 
cidades 26
temProduto Distribuidor
N 1
codProd codDistribuidor
nome
descricao
Cidade
N
codCidade
nome
Relacionamentos de grau maior que 2
• Não representado no modelo relacional
• Equivalente (+/-)
27
Produto Distribuidor
1codProd
codDistribuidor
nomedescricao
Cidade
N
codCidade
nome
venda
N
N
N
Entidade Associativa
• Sistema funciona OK, mas agora é preciso guardar os 
medicamentos prescritos em uma consulta
28
consultaMedico Paciente
N
CREMERS CPF
nome
nome
N
Medicamento
codAnvisa
nome
prescreve?
Entidade Associativa
• Só fazer isso em caso de manutenção!
29
consultaMedico Paciente
N
CREMERS CPF
nome
nome
N
Medicamento
codAnvisa
nome
prescreve
N
N Entidade associativa
Entidade Associativa
• Equivalente
30
atendeMedico Paciente
N
CREMERS
CPF
nome
nome
N
Medicamento
codAnvisa
nome
prescreve
N
N
fazconsulta1 1
Generalização / especialização
• Útil quando 
– (a) Há 1 ou mais entidades que possuem 
todos os atributos e relacionamentos de uma 
outra entidade e, adicionalmente, alguns 
atributos e/ou relacionamentos próprios
– (b) Há 2 ou mais entidades que têm grande 
parte dos atributos e relacionamentos iguais, 
e alguns diferentes 
31
Generalização / Especialização
Funcionario
matricula
nome
Professor
horas
titulacao
(a)
Setor
email telefone
trabalha
N 1
codSetor
nome
nivel
disciplinaleciona
N N
nome
codDisc
creditos
especializaçã
o
Entidade 
especializada
Entidade 
genérica
Generalização / Especialização
Pessoa
matricula
nome
Professor
horas
titulacao
(b)
email telefone
nivel
disciplina
leciona
N
N
nome
codDisc
creditos
especializaçã
o
Entidades 
especializada
s
Entidade 
genérica
Aluno
anoIngresso
curso
Generalização / especialização
• Uma entidade especializada HERDA 
todos os atributos e relacionamentos da 
entidade genérica
• Uma entidade especializada NÃO tem 
atributo identificador próprio. É o mesmo 
da entidade genérica
34
Generalização / Especialização
Pessoa
Professor
Qual a diferença?
Aluno
Pessoa
JurídicaFísica
Especialização não-exclusiva Especialização exclusiva
Exercício 2
36
Deseja-se criar um banco de dados para uma pet shop.
Cada animal recebe um código. Além disso, de cada animal é necessário 
saber seu nome, espécie, idade, dono e telefone. Cada espécie tem um 
código, um nome, informação de porte e temperamento (dócil, agressivo, 
etc.)
Cada vez que um animal vai à pet shop ele faz um atendimento, do qual 
deve-se saber a data, hora e preço. No caso do atendimento ser estético, 
deve-se saber o shampoo a ser utilizado, o tipo de tosa (se for o caso) e 
alguma observação. Se o atendimento for veterinário, é necessário saber 
o motivo (descrição) e o encaminhamento (se houver), além do 
veterinário responsável.
De cada veterinário é deve-se saber o nome e o CRV (número no 
conselho regional de veterinária).
Exercício 3
37
Deseja-se controlar as avaliações de disciplinas. Uma disciplina possui um código 
que a identifica unicamente, um nome, e o número de créditos. Uma disciplina faz 
parte de pelo menos um curso, assim como um curso possui várias disciplinas. 
Cada curso possui um identificador único, um nome e número de semestres. Uma 
disciplina possui ao menos uma turma, a qual é identificada por um código. Cada 
turma de uma disciplina é dada por um único professor em um determinado 
semestre. Adicionalmente, possui informações de capacidade de alunos. O 
professor que ministra uma turma de uma disciplina (pode ministrar várias) possui 
um número de matrícula, o qual é único por professor, um nome, uma titulação e 
um endereço de e-mail. A cada turma corresponde uma ou mais avaliações, 
identificadas pela turma da qual é parte e pela data na qual ocorre. Uma avaliação 
consiste em um número de questões, cada qual com um número seqüencial, um 
enunciado e um peso (pontuação). Finalmente, uma avaliação pode ser teórica ou 
prática. No caso de ser prática, deve ocorrer em um laboratório, o qual possui 
informações de número da sala e número do prédio, capacidade e uma descrição 
sobre sua utilidade (por exemplo, física, química, eletrônica, etc.).
	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

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Mais conteúdos dessa disciplina