Você está na página 1de 47

Banco de Dados

Modelagem Conceitual
por: Mrio Sergio da Silva

Banco de Dados
Modelagem Conceitual
Prof. Mrio Sergio da Silva
mariosergio30@gmail.com
Lattes: http://lattes.cnpq.br/1161794053211014

Este material uma adaptao didtica que utiliza ilustraes e textos retirados de uma seleo criteriosa de publicaes
disponveis livremente na internet, juntamente com contedo indito. (bibliografia disponvel no final dos slides)

Atualizado em Maio/2016

Contedo

Modelagem Conceitual:

Entidade, Atributos, Relacionamento

Atributos de relacionamento e identificadores

Cardinalidades: Mxima e Mnima

Graus de um Relacionamento

Tipos de Entidade: Forte, Fraca e Associativa

Exerccios

Modelagem de Dados
Definies:

Modelo Entidade Relacionamento (ER)

a tcnica mais conhecida


Tem como objetivo auxiliar na especificao geral do
sistema
O modelo de dados representado graficamente atravs
de um Diagrama de Entidade-Relacionamento (DER).
Principais conceitos do Modelo ER so:

Entidades
Atributos e
Relacionamentos

Notao: Criada por Peter Chen em 1976

Prof. Mrio Sergio

Modelagem de Dados
Notaes DER

Entidade Associativa

Atributo Derivado
Prof. Mrio Sergio

Modelagem de Dados
Entidade

um conjunto de objetos do mundo real sobre os quais se


deseja manter informaes no banco de dados
distinguvel de outros objetos
Representada atravs de um retngulo
Pussui existncia prpria, pode representar:
objetos concretos (uma pessoa)
objetos abstratos (um departamento)
Departamento

Empregado
Joo
Pedro
Paulo
Maria

Contabilidade
Financeiro
Jurdico
Pessoal

Possui propriedades
Atributos e Relacionamentos
6

Modelagem de Dados
Atributo

um dado que associado a cada ocorrncia


de uma entidade ou de um relacionamento
Exemplos de atributos de entidades:
Empregado

Departamento

Nome
Endereo
Salrio

Descrio
nmeroDeFuncionrios

Modelagem de Dados
Exerccio

Considerando um sistema acadmico, envolvendo


entidades que todos conhecemos, defina pelo
menos 3 atributos para cada uma das entidades
Aluno

Professor

Disciplina

Turma

Modelagem de Dados
Relacionamento

Como expressamos que Joo trabalha no


Departamento de Contabilidade?
Empregado

Joo
Pedro
Paulo
Maria

Lotao

Departamento

Diagrama de Ocorrncias (instncias)

Contabilidade
Financeiro
Jurdico
Pessoal
9

Modelagem de Dados
Relacionamento

uma associao entre entidades


Representado atravs de um losngulo e
linhas que ligam as entidades relacionadas

nomeDoRelacionamento

10

Modelagem de Dados
Relacionamento

Exemplos de Relacionamentos
Medico

Cliente

Consulta

ContaCliente

Paciente

Conta

Residncia
Cidade
11

Modelagem de Dados
Relacionamento

Relacionamentos tambm possuem Atributos. Exemplo 1:

esquema

Consulta

Mdico
nome

celular

dataDaConsulta

Paciente
nome endereo

instncias

Dr. Paulo
Dr. Flora

22/10/2007
05/02/2009
20/03/2009

Vania
Jos
12

Modelagem de Dados
Relacionamento

Relacionamentos tambm possuem Atributos. Exemplo 2:

esquema

Empregado
nome

salario

Atuao
funo

Projeto
sigla

instncias

Vania
Pedro
Gabriel

coordenador
pesquisador
bolsista

AATOM
Sinpli

13

Modelagem de Dados
Atributos Identificadores

Cada entidade deve ter um identificador


Identificador (tambm conhecido como chave):

o conjunto de um ou mais atributos ou


relacionamentos cujos valores servem para distinguir
uma ocorrncia da entidade das demais ocorrncias da
mesma entidade

Exemplos:

os atributos CPF ou Carteira de Identidade identificam UNICAMENTE um


cidado brasileiro

O CRM identifica um mdico dentro do conselho regional.

Atributo Identificador Simples


CPF
Nome
Endereco

Cliente

Mdico
CRM

nome

celular
14

Modelagem de Dados
Atributos Identificadores (Composto)
NumeroCorredor
NumeroPrateleira
Capacidade

Prateleira
Identificadores Compostos
Suponha que temos um edifcio de 4 andares
(1,2,3,4) e cada andar possua 4 apartamentos
(1,2,3,4). Neste caso, como os nmeros dos
apartamentos so iguais em todos os andares,
fica impossvel dizer qual ocorrncia de
apartamento se deseja acessar. Para
solucionar o problema voc deve informar
alm do nmero do apartamento, o numero
do andar
15

Modelagem de Dados
Atributos Identificadores

Quando parte da chave um relacionamento

Cpf
Nome
Endereco

Empregado

possui

Entidade Fraca: entidade sem chave

Exemplo: CPF do Empregado e numero sequencial na entidade


Dependente

Dependente

Numero
Nome

Chave=CPF +
numero

A entidade identificada por algum atributo da entidade +


algum relacionamento

Entidade Forte: entidade com chave

A entidade identificada por atributos da prpria entidade


16

Modelagem de Dados
Exerccio

Considerando o sistema acadmico do exerccio


anterior, j com os atributos, agora defina os
relacionamentos entre as entidades:

Aluno

Professor

Disciplina

Turma

nomeDoRelacionamento

B
17

Modelagem de Dados
Problema
A cooperativa de pesca PescaFcil possui 280 pescadores
associados, mas nem todos trabalham todos os dias. Voc foi
contratado pelo diretor da PescaFcil para desenvolver um
programa que lhe permite fazer o controle da produo de peixes.
Ele disse: A medida que cada pescador chega na cooperativa eu
preciso registrar o nome dele, assim como a espcie e o peso de
cada peixe que ele pescou no dia.
Cada espcie possui um preo por Kg, e eu pago o valor total no
ato. Mas eu no quero toda vez digitar o nome por extenso da
espcie, para isso usamos a seguinte codificao:
1
2
3
4
5

Serra
(R$ 12,5)
- Dourado (R$ 8,0)
- Atum
(R$ 13,8)
- Robalo (R$ 15,0)
- Sardinha (R$ 7,8)

Exerccio:
Realize o levantamento de requisitos do
problema e elabore um DER, por
enquanto apenas com Entidades,
Relacionamentos e Atributos

Ah, e ainda tem mais, no futuro podem aparecer outras espcies.

18

Modelagem de Dados
Cardinalidade
Uma propriedade importante dos relacionamentos a especificao
de quantas ocorrncias de uma entidade podem estar associadas a
uma determinada ocorrncia de outra entidade.
Cardinalidades:

Representao

1:1 (um-para-um)
1:N (um-para-muitos)
N:N (muitos-para-muitos)
Exemplo de notao 1:N

19

Modelagem de Dados
Cardinalidade 1 : 1

(Um Para Um)

Uma ocorrncia de A est associada a no mximo uma ocorrncia


de B, e uma ocorrncia em B est associada a no mximo uma
ocorrncia em A.

Conjunto A
(Empregado)

Joo

Contabilidade

Pedro

Financeiro
Jurdico

Paulo
Maria

Conjunto B
(Departamento)

cada

Empregado

Gerencia

Departamento
cada

20

Modelagem de Dados
Cardinalidade 1 : 1

(Um Para Um)

Outros Exemplos:

Auto Relacionamento

Modelagem de Dados
Cardinalidade 1 : N

(Um Para Muitos)

Uma ocorrncia de A est associada a vrias ocorrncias de B, porm


uma ocorrncia de B deve estar associada a no mximo uma
ocorrncia em A
Joo
Contabilidade

Sandro

Financeiro

Pedro

Conjunto A
(Departamento)

Ana

Conjunto B
(Empregado)

cada

Departamento

Lotao

Empregado
cada
22

Modelagem de Dados
Cardinalidade 1 : N

(Um Para Muitos)

Outro Exemplo:
cada

N
cada

Modelagem de Dados
Cardinalidade M:N ou N:N (Muitos Para Muitos)
Uma ocorrncia de A est associada a qualquer nmero de ocorrncias
de B, e uma ocorrncia em B est associada a qualquer nmero de
ocorrncias em A
Joo
Conjunto A
(Empregado)

Sinpli

Pedro

AATOM Conjunto B
(Projeto)
MM-TOM

Paulo

Sigmoda

Maria
cada

Empregado

Atua

Projeto
cada

24

Modelagem de Dados
Cardinalidade M:N ou N:N (Muitos Para Muitos)

Auto Relacionamento
25

Modelagem de Dados
Cardinalidade: Exemplos

26

Modelagem de Dados
Cardinalidade: Exemplos

27

Modelagem de Dados
Cardinalidade: Exemplos

28

Modelagem de Dados
Cardinalidades (Mnima, Mxima)

O modelo ER permite tambem expressar cardinalidades


mnimas. Que o nmero mnimo de ocorrncias de uma
entidade A com relao a uma outra entidade B

Representao separada por vrgula:


(cardinalidade mnima, cardinalidade mxima)

Cardinalidades Possveis:
(0,1)
(1,1) (0,N) (1,N)

Cardinalidade mnima = 1 (relacionamento obrigatrio)


Cardinalidade mnima = 0 (relacionamento opcional)
29

Modelagem de Dados
Cardinalidades (Mnima, Mxima)
Exemplos de Relacionamentos:
cada

cada

cada

30

Modelagem de Dados
Cardinalidades (Mnima, Mxima)
Exemplos de Relacionamentos:
cada

cada

cada

31

Modelagem de Dados
Cardinalidades (Mnima, Mxima)
Exemplo de Relacionamento Obrigatrio:
cada

Cliente

(1,1)

ContaCliente

Conta

(1,N)

cada

Exemplo de Relacionamento Opcional:


cada

Empregado

(1,1)

Gerencia

(0,1) Departamento
cada
32

Modelagem de Dados
Cardinalidade (Mnima, Mxima)
Exemplo Projeto Engenharia:

Explicativo cardinalidades do DER acima:


Cada Engenheiro pode estar atuando em 0 projetos (em nenhum projeto), ou
seja, opcional. Mas tambm pode estar atuando em vrios (N) projetos.
Enquanto que, Cada projeto precisa da atuao de pelo menos 1 engenheiro,
ou seja, obrigatrio ter um engenheiro responsvel. Assim como, podem
haver mais de um (N) engenheiros atuando no projeto.
33

Modelagem de Dados
Exerccios
Agora e a sua vez, descreva em detalhes as cardinalidades do DER ilustrado a seguir.

34

Modelagem de Dados
Exerccios
Defina as cardinalidades dos DER:
Cooperativa de pesca PescaFcil
Sistema Acadmico.

35

Modelagem de Dados
Grau de um Relacionamento
Dado pelo Total de Entidades envolvidas em um Relacionamento:
A grande maioria dos relacionamentos so 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 so classificados
quanto ao seu GRAU, em:
Unrio - Grau 1
Binrio - Grau 2
Ternrio - Grau 3

36

Modelagem de Dados
Grau de um Relacionamento: Unrio (auto relacionamento)
Relacionamentos de Grau 1

Pessoa

Empregado
supervisionado
(0,N)

supervisor

supervisiona

(1,1)

Marido
(0,1)

Esposa

casadoCom

(0,1)

37

Modelagem de Dados
Grau de um Relacionamento: Ternrio (grau 3)
Exemplo:

Cidade
(1,N)

Distribuidor

distribuio

(1,1)

(1,N)

Produto

38

Modelagem de Dados
Grau de um Relacionamento: Ternrio (grau 3)
Mais
Exemplos:

39

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
40

Modelagem de Dados
Entidade Associativa
Assim, com o uso de uma Entidade Associativa, o DER passa a ser de
Grau 2:

Entidade
Associativa

41

Modelagem de Dados
Ferramentas CASE
Do ingls Computer-Aided Software Engineering, as
chamadas ferramentas CASE so aquelas baseadas em computadores
(softwares) utilizadas na Engenharia de Software para auxlio nas
atividades desde anlise de requisitos at modelagem de dados.

As ferramentas CASE permitem


a criao de diagramas de forma
simples em um ambiente de fcil
utilizao e com recursos para
incluir as principais regras de
composio dos diagramas.
Exemplos comuns de ferramentas
profissionais: Star UML e
DBDesigner. O BrModelo uma
ferramentas para fins
educacionais

42

Modelagem de Dados
Exerccios (nvel mdio)
1.

Construa um diagrama E-R para um hospital, com um conjunto de


pacientes e um conjunto de mdicos. Registros de diversos exames e
avaliaes realizados so associados a cada paciente.

2.

Construa um diagrama E-R para uma companhia de seguros de


automveis com um conjunto de clientes, onde cada um possui certo nmero
de carros. Cada carro tem um nmero de acidentes associados a ele.

Mostre como o projeto de banco de dados do diagrama abaixo pode ser


representado apenas por relacionamentos binrios, expressando as mesmas
restries.

Alm

disso,
defina os possveis
atributos

43

Modelagem de Dados
Problema Proposto (nvel mdio)
Um estabelecimento comercial contratou seus servios 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 so numerados sequencialmente e devem ser
classificados em ATACADO ou a VAREJO, e podemos oferecer
descontos de acordo com a quantidade comprada. Alm disso,
cada pedido pode ter mais de um produto e cada produto possui
uma marca, peso unitrio e um preo padro pr-cadastrado.
Ah, os vendedores conquistam novos clientes e acompanham os
cliente atuais, e por isso eles ganham comisso sobre os pedidos.

44

Modelagem de Dados
Problema Proposto (nvel avanado)
A

companhia discogrfica PimbaParaTodos decidiu criar uma base de dados com


informao sobre os seus msicos bem como outra informao da companhia. A
informao dada ao desenhador foi a seguinte:

Cada

msico tem um nro. de BI, um nome, uma morada e um nmero de telefone. Os


msicos em incio de carreira muitas vezes partilham um endereo e alm disso assume-se que
cada endereo s tem um telefone.

Cada

instrumento usado nos estdios tem um nome (ex. guitarra, bateria, etc.) e um cdigo
interno.
Cada

disco gravado na companhia tem um ttulo, uma data, um formato (ex. CD, MC, K7), e
um identificador do disco.
Cada

msica gravada na companhia tem um ttulo e um autor.

Cada

msico pode tocar vrios instrumentos, e cada instrumento pode ser tocado por vrios
msicos.
Cada

disco tem um certo nmero de msicas, mas cada msica s pode aparecer num disco.

Cada

msica pode ter a participao de vrios msicos, e cada msico pode participar em
vrias msicas.
Cada

disco tem um msico que o seu produtor. Os msicos podem produzir vrios discos.
45

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

46

Links sobre Linguagens/Banco de Dados

http://www.dialetodigital.com/blog/conteudos-programacao/

47