O documento apresenta um resumo sobre modelagem conceitual de banco de dados. Aborda conceitos como entidade, atributos, relacionamentos, cardinalidades e tipos de entidades. Fornece exemplos para ilustrar cada tópico e exercícios para fixação dos conceitos.
2. Banco de Dados
Modelagem Conceitual
Prof. Mário Sergio da Silva
mariosergio30@gmail.com
Lattes: http://lattes.cnpq.br/1161794053211014
Atualizado em Maio/2016
Este material é uma adaptação didática que utiliza ilustrações e textos retirados de uma seleção criteriosa de publicações
disponíveis livremente na internet, juntamente com conteúdo inédito. (bibliografia disponível no final dos slides)
3. Conteúdo
Modelagem Conceitual:
Entidade, Atributos, Relacionamento
Atributos de relacionamento e identificadores
Cardinalidades: Máxima e Mínima
Graus de um Relacionamento
Tipos de Entidade: Forte, Fraca e Associativa
Exercícios
4. 44
Prof. Mário Sergio
4
Modelagem de Dados
Definições:
Modelo Entidade Relacionamento (ER)
É a técnica mais conhecida
Tem como objetivo auxiliar na especificação geral do
sistema
O modelo de dados é representado graficamente através
de um Diagrama de Entidade-Relacionamento (DER).
Principais conceitos do Modelo ER são:
Entidades
Atributos e
Relacionamentos
Notação: Criada por Peter Chen em 1976
6. 666
Modelagem de Dados
Entidade
É um conjunto de objetos do mundo real sobre os quais se
deseja manter informações no banco de dados
É distinguível de outros objetos
Representada através de um retângulo
Pussui existência própria, pode representar:
objetos concretos (uma pessoa)
objetos abstratos (um departamento) Departamento
Contabilidade
Financeiro
Jurídico
Pessoal
Empregado
João
Pedro
Paulo
Maria
Possui propriedades
Atributos e Relacionamentos
7. 777
Modelagem de Dados
Atributo
É um dado que é associado a cada ocorrência
de uma entidade ou de um relacionamento
Exemplos de atributos de entidades:
Empregado
Nome
Endereço
Salário
Departamento
Descrição
númeroDeFuncionários
8. 888
Modelagem de Dados
Exercício
Considerando um sistema acadêmico, envolvendo
entidades que todos conhecemos, defina pelo
menos 3 atributos para cada uma das entidades
Aluno
Disciplina
Professor
Turma
9. 999
Modelagem de Dados
Relacionamento
Como expressamos que João trabalha no
Departamento de Contabilidade?
Empregado DepartamentoLotação
João
Pedro
Paulo
Maria
Contabilidade
Financeiro
Jurídico
Pessoal
Diagrama de Ocorrências (instâncias)
10. 101010
Modelagem de Dados
Relacionamento
É uma associação entre entidades
Representado através de um losângulo e
linhas que ligam as entidades relacionadas
nomeDoRelacionamentoA B
12. 121212
Modelagem de Dados
Relacionamento
Relacionamentos também possuem Atributos. Exemplo 1:
Médico PacienteConsulta
dataDaConsultanome celular nome endereço
Dr. Paulo
Dr. Flora
Vania
José
22/10/2007
05/02/2009
20/03/2009
instâncias
esquema
13. 131313
Modelagem de Dados
Relacionamento
Empregado ProjetoAtuação
funçãonome salario sigla
Vania
Pedro
Gabriel
AATOM
Sinpli
coordenador
pesquisador
bolsista
Relacionamentos também possuem Atributos. Exemplo 2:
instâncias
esquema
14. 141414
Modelagem de Dados
Atributos Identificadores
Cada entidade deve ter um identificador
Identificador (também conhecido como chave):
É o conjunto de um ou mais atributos ou
relacionamentos cujos valores servem para distinguir
uma ocorrência da entidade das demais ocorrências da
mesma entidade
Exemplos:
os atributos CPF ou Carteira de Identidade identificam UNICAMENTE um
cidadão brasileiro
O CRM identifica um médico dentro do conselho regional.
Cliente
CPF
Nome
Endereco
Atributo Identificador Simples
Médico
CRM nome celular
15. 151515
Modelagem de Dados
Atributos Identificadores (Composto)
Prateleira
NumeroCorredor
NumeroPrateleira
Capacidade
Suponha que temos um edifício de 4 andares
(1,2,3,4) e cada andar possua 4 apartamentos
(1,2,3,4). Neste caso, como os números dos
apartamentos são iguais em todos os andares,
fica impossível dizer qual ocorrência de
apartamento se deseja acessar. Para
solucionar o problema você deve informar
além do número do apartamento, o numero
do andar
Identificadores Compostos
16. 161616
Modelagem de Dados
Atributos Identificadores
Quando parte da chave é um relacionamento
Exemplo: CPF do Empregado e numero sequencial na entidade
Dependente
Entidade Fraca: entidade sem chave
A entidade é identificada por algum atributo da entidade +
algum relacionamento
Entidade Forte: entidade com chave
A entidade é identificada por atributos da própria entidade
Empregado Dependente
Numero
Nome
Cpf
Nome
Endereco
Chave=CPF +
numero
possui
17. 171717
Modelagem de Dados
Exercício
Considerando o sistema acadêmico do exercício
anterior, já com os atributos, agora defina os
relacionamentos entre as entidades:
Aluno
Disciplina
Professor
Turma
nomeDoRelacionamentoA B
18. 181818
Modelagem de Dados
Problema
A cooperativa de pesca PescaFácil possui 280 pescadores
associados, mas nem todos trabalham todos os dias. Você foi
contratado pelo diretor da PescaFácil para desenvolver um
programa que lhe permite fazer o controle da produção de peixes.
Ele disse: “A medida que cada pescador chega na cooperativa eu
preciso registrar o nome dele, assim como a espécie e o peso de
cada peixe que ele pescou no dia”.
Cada espécie possui um preço por Kg, e eu pago o valor total no
ato. Mas eu não quero toda vez digitar o nome por extenso da
espécie, para isso usamos a seguinte codificação:
1 – Serra (R$ 12,5)
2 - Dourado (R$ 8,0)
3 - Atum (R$ 13,8)
4 - Robalo (R$ 15,0)
5 - Sardinha (R$ 7,8)
Ah, e ainda tem mais, no futuro podem aparecer outras espécies.
Exercício:
Realize o levantamento de requisitos do
problema e elabore um DER, por
enquanto apenas com Entidades,
Relacionamentos e Atributos
19. 191919
Modelagem de Dados
Cardinalidade
Uma propriedade importante dos relacionamentos é a especificação
de quantas ocorrências de uma entidade podem estar associadas a
uma determinada ocorrência de outra entidade.
Cardinalidades:
1:1 (um-para-um)
1:N (um-para-muitos)
N:N (muitos-para-muitos)
Exemplo de notação 1:N
Representação
20. 20
Modelagem de Dados
Cardinalidade 1 : 1 (Um Para Um)
Uma ocorrência de A está associada a no máximo uma ocorrência
de B, e uma ocorrência em B está associada a no máximo uma
ocorrência em A.
João
Pedro
Paulo
Maria
Jurídico
Contabilidade
Financeiro
Conjunto A
(Empregado)
Conjunto B
(Departamento)
Empregado DepartamentoGerencia 11
cada
cada
22. 222222
Modelagem de Dados
Cardinalidade 1 : N (Um Para Muitos)
Uma ocorrência de A está associada a várias ocorrências de B, porém
uma ocorrência de B deve estar associada a no máximo uma
ocorrência em A
Conjunto A
(Departamento)
EmpregadoDepartamento Lotação
N1
Contabilidade
Financeiro
Ana
Pedro
João
Sandro
Conjunto B
(Empregado)
cada
cada
24. 24
Modelagem de Dados
Cardinalidade M:N ou N:N (Muitos Para Muitos)
Uma ocorrência de A está associada a qualquer número de ocorrências
de B, e uma ocorrência em B está associada a qualquer número de
ocorrências em A
Sigmoda
MM-TOM
Sinpli
AATOM
Conjunto A
(Empregado)
Conjunto B
(Projeto)
Empregado ProjetoAtua NN
João
Pedro
Paulo
Maria
cada
cada
29. 292929
Modelagem de Dados
Cardinalidades (Mínima, Máxima)
O modelo ER permite tambem expressar cardinalidades
mínimas. Que é o número mínimo de ocorrências de uma
entidade A com relação a uma outra entidade B
Representação separada por vírgula:
(cardinalidade mínima, cardinalidade máxima)
Cardinalidades Possíveis:
(0,1) (1,1) (0,N) (1,N)
Cardinalidade mínima = 1 (relacionamento obrigatório)
Cardinalidade mínima = 0 (relacionamento opcional)
32. 323232
Modelagem de Dados
Cardinalidades (Mínima, Máxima)
Cliente ContaContaCliente(1,1) (1,N)
Exemplo de Relacionamento Obrigatório:
Exemplo de Relacionamento Opcional:
Empregado DepartamentoGerencia(1,1) (0,1)
cada
cada
cada
cada
33. 333333
Modelagem de Dados
Cardinalidade (Mínima, Máxima)
Exemplo “Projeto Engenharia”:
Explicativo cardinalidades do DER acima:
Cada Engenheiro pode estar atuando em 0 projetos (em nenhum projeto), ou
seja, é opcional. Mas também pode estar atuando em vários (N) projetos.
Enquanto que, Cada projeto precisa da atuação de pelo menos 1 engenheiro,
ou seja, é obrigatório ter um engenheiro responsável. Assim como, podem
haver mais de um (N) engenheiros atuando no projeto.
34. 343434
Agora e a sua vez, descreva em detalhes as cardinalidades do DER ilustrado a seguir.
Modelagem de Dados
Exercícios
35. 35
Defina as cardinalidades dos DER:
“Cooperativa de pesca PescaFácil“
“Sistema Acadêmico”.
Modelagem de Dados
Exercícios
36. 36
Modelagem de Dados
Grau de um Relacionamento
É Dado pelo Total de Entidades envolvidas em um Relacionamento:
A grande maioria dos relacionamentos são de grau 2 :
Observe que, nos DER ao lado,
só há relacionamentos de GRAU 2,
Pois, cada um dos relacionamentos
possui apenas duas entidades
relacionadas.
Os relacionamentos são classificados
quanto ao seu GRAU, em:
Unário - Grau 1
Binário - Grau 2
Ternário - Grau 3
37. 37
Modelagem de Dados
Grau de um Relacionamento: Unário (auto relacionamento)
Relacionamentos de Grau 1
Empregado
(0,N)
supervisiona
supervisor
(1,1)
supervisionado
Pessoa
(0,1)(0,1)
casadoCom
EsposaMarido
38. 38
Modelagem de Dados
Grau de um Relacionamento: Ternário (grau 3)
Exemplo:
Cidade Distribuidor
Produto
distribuição
(1,1)(1,N)
(1,N)
40. 40
Modelagem de Dados
Entidade Associativa
Tem o objetivo de eliminar relacionamentos com grau maior que 2
Assim, este DER que
possui relacionamento grau 3
que, na verdade,
quer dizer o seguinte:
Relacionamento de
Relacionamento
41. 41
Modelagem de Dados
Entidade Associativa
Assim, com o uso de uma Entidade Associativa, o DER passa a ser de
Grau 2:
Entidade
Associativa
42. 42
Modelagem de Dados
Ferramentas CASE
As ferramentas CASE permitem
a criação de diagramas de forma
simples em um ambiente de fácil
utilização e com recursos para
incluir as principais regras de
composição dos diagramas.
Exemplos comuns de ferramentas
profissionais: Star UML e
DBDesigner. O BrModelo é uma
ferramentas para fins
educacionais
Do inglês Computer-Aided Software Engineering, as
chamadas ferramentas CASE são aquelas baseadas em computadores
(softwares) utilizadas na Engenharia de Software para auxílio nas
atividades desde análise de requisitos até modelagem de dados.
43. 434343
1. Construa um diagrama E-R para um hospital, com um conjunto de
pacientes e um conjunto de médicos. Registros de diversos exames e
avaliações realizados são associados a cada paciente.
2. Construa um diagrama E-R para uma companhia de seguros de
automóveis com um conjunto de clientes, onde cada um possui certo número
de carros. Cada carro tem um número de acidentes associados a ele.
3 Mostre como o projeto de banco de dados do diagrama abaixo pode ser
representado apenas por relacionamentos binários, expressando as mesmas
restrições.
Além disso,
defina os possíveis
atributos
Modelagem de Dados
Exercícios (nível médio)
44. 444444
Um estabelecimento comercial contratou seus serviços para
modelar o banco de dados de VENDAS da empresa. Segundo o
gerente comercial, a empresa precisa ter um cadastro de clientes,
e armazenar cpf, nome, data de nascimento e cidade onde ele
mora. Os cliente podem fazer pedidos, inclusive mais de um por
dia. Os pedidos são numerados sequencialmente e devem ser
classificados em ATACADO ou a VAREJO, e podemos oferecer
descontos de acordo com a quantidade comprada. Além disso,
cada pedido pode ter mais de um produto e cada produto possui
uma marca, peso unitário e um preço padrão pré-cadastrado.
Ah, os vendedores conquistam novos clientes e acompanham os
cliente atuais, e por isso eles ganham comissão sobre os pedidos.
Modelagem de Dados
Problema Proposto (nível médio)
45. 454545
A companhia discográfica PimbaParaTodos decidiu criar uma base de dados com
informação sobre os seus músicos bem como outra informação da companhia. A
informação dada ao desenhador foi a seguinte:
Cada músico tem um nro. de BI, um nome, uma morada e um número de telefone. Os
músicos em início de carreira muitas vezes partilham um endereço e além disso assume-se que
cada endereço só tem um telefone.
Cada instrumento usado nos estúdios tem um nome (ex. guitarra, bateria, etc.) e um código
interno.
Cada disco gravado na companhia tem um título, uma data, um formato (ex. CD, MC, K7), e
um identificador do disco.
Cada música gravada na companhia tem um título e um autor.
Cada músico pode tocar vários instrumentos, e cada instrumento pode ser tocado por vários
músicos.
Cada disco tem um certo número de músicas, mas cada música só pode aparecer num disco.
Cada música pode ter a participação de vários músicos, e cada músico pode participar em
várias músicas.
Cada disco tem um músico que é o seu produtor. Os músicos podem produzir vários discos.
Modelagem de Dados
Problema Proposto (nível avançado)
46. 46
Bibliografia
Elmasri & Navathe – Fundamentos de Bancos de
Dados
Carlos Alberto Heuser – Projeto de Banco de
Dados
Korth e Silberchatz – Sistema de Bancos de
Dados
Baseado nos Slides de Vania Bogorny – UFSC
Universidade de Santa Catarina