You are on page 1of 38

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
entidaderelacionamento (E-R) e
diagrama de classes

Modelo

Lgico

Independente de SGBD
dentro do modelo de
dados
Independente de
plataforma de hardware
ou sistema operacional
Especfico para cada
modelo de dados.
Ex.: Modelo relacional,
XML, orientado a
objetos, NoSQL

Modelo
Fsico

Scripts de gerao do
BD.
Especfico para cada
SGBD
Algumas
dependncias em
funo de sistema
operacional e de
hardware (centralizado
x distribuido, cluster,
grid, etc.)
Ex.: SQL
2

Modelagem conceitual
Primeira etapa do projeto de banco de dados
Objetivo: Representar os elementos do mundo real que
so do interesse da aplicao para a qual o banco de
dados est sendo gerado, com suas caractersticas e
seus relacionamentos.
No considera nenhum aspecto de implementao.
Mais fcil de uma pessoa no tcnica entender;
Mais fcil de dar manuteno (acrescentar elementos ou corrigir erros);
No 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 informaes armazenadas para serem
manipuladas pela aplicao.

Notao grfica:

Nome

Diagrama E-R: Entidades


Exemplo: Para uma loja, temos:
Produto

instncias

Pedro
instncias

Camisa
Camiseta

Luiza

Cala

Vendedor
6

Diagrama E-R: Atributos


Construtor auxiliar do E-R
Representa uma caracterstica da entidade (ou
relacionamento) de interesse da aplicao sendo
desenvolvida.
um dado que associado a cada ocorrncia
(instncia) de uma entidade (ou relacionamento)
Somente existe se associado a uma entidade (ou
relacionamento)

Notao grfica:
7

Diagrama E-R: Atributos


Exemplo: Para os produtos da loja, temos:
instncias

item

preco

Produto
cor

Camiseta
15.90
Amarelo

Camisa
29,90
Azul
Cala
39,50
Preto

Diagrama E-R: Atributos


Atributo identificador
Identifica unicamente cada indivduo (instncia) de uma entidade.
No pode ter seus valores repetidos
CPF de uma entidade pessoa
Matricula de uma entidade aluno
Cdigo de uma entidade produto

Atributo identificador composto


Ocorre quando o identificador de uma entidade compostos de mais de um
atributo.
Neste caso, o que no pode se repetir a combinao dos valores dos atributos
que compem o identificador.

Importante: Cada entidade tem somente 1 identificador, que pode ser


simples (1 atributo) ou composto (mais de 1 atributo)
9

Diagrama E-R: Atributos


Exemplos de atributos identificadores
item

RG

preco

Errado, pois repete o valor


do par (RG,orgao), que o
identificador de cliente

Cliente

Produto
codigo

orgao

RG

Orgao

Nome

123

SJS

Joo

123

SSP

Maria

Codigo

Item

Preco

Prod1

Camiseta

15,90

Prod2

Camisa

29,90

357

SJS

Pedro

Prod3

Camisa

15,90

123

SJS

Carlos

Prod3

Bermuda

25,90

468

SSP

Maria

nome

Errado, pois repete o valor de cdigo, que identificador

Diagrama E-R: Atributos


Atributo composto
Nome

email

Cliente
CPF

endereco

Nome

email

Cliente
rua
Bairro

CEP

bairro

endereco
codigo

CPF

rua

CEP

No possuem equivalentes no modelo relacional devero virar entidades


11

Diagrama E-R: Atributos


CPF

Nome

Email (N)

Cliente

Atributo multivalorado
Email (N)

Nome

Cliente

Telefone
codigo

CPF
Telefone (0..N)

numero

No possuem equivalentes no modelo relacional devero virar entidades


12

Diagrama E-R: Relacionamentos


Construtor auxiliar do E-R
Representa uma associao, ou relao, entre
entidades.
Venda TEM cliente
Vendedor FAZ venda

Notao grfica:
nome

13

Diagrama E-R: Relacionamentos


Relacionamento binrio
Tipo mais comum de relacionamento, e nico
implementado no modelo relacional
Tem sempre duas extremidades, cada uma ligada a
uma (ocorrncia de) entidade
Cliente

Exemplos
Cliente

possui

codigo
CPF

codigo

endereco
NF

Venda

14

Diagrama E-R: Relacionamentos


Auto relacionamento
Caso particular de relacionamento binrio
As duas extremidades esto ligadas mesma
entidade

Exemplo

Funcionrio

CPF

gerencia

Diagrama E-R: Cardinalidades


Quantificam os relacionamentos
Para cada instncia da entidade A, quantas
instncias da entidade B podem estar associadas e
vice-versa
A

mnimo

1..1

tem

0..N

mximo

Diagrama E-R: Cardinalidades


Mnimo
Nmero mnimo de
ocorrncias de instncias
da entidade para cada
ocorrncia de instncias da
entidade associada
0 Opcional
1 Obrigatrio

Mximo
Nmero mximo de
ocorrncias de instncias
da entidade para cada
ocorrncia de instncias da
entidade associada
1 nico
N Mltiplo (vrios)

Diagrama E-R: Cardinalidades


Nome das cardinalidades
Somente considerar cardinalidades mximas de cada lado

A
A
A

tem

tem

tem

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
indivduo da entidade do lado N, somente seu
identificador no basta
Nem todo 1-para-N identificador

Exemplo
Predio
codPredio

tem

Sala

numSala

Diagrama E-R: Equivalncia de


relacionamentos
CPF

Funcionario

participa

Projeto

codProj

EQUIVALE A
Funcionario
CPF

FuncProj

Projeto
CodProj

Diagrama E-R: Atributos em


relacionamentos
Ocorre, em geral, em relacionamentos de
cardinalidade N-para-N
Pode ocorrer em 1-para-N, mas no usual

Serve para caracterizar uma ocorrncia de uma


associao entre as entidades relacionadas
Muito usado para armazenar histricos

Diagrama E-R: Atributos em


relacionamentos
Exemplo

creditos

Aluno
Matricula

tem

Disciplina

nomeDisciplina
codDisciplina

nome

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?)

Diagrama E-R: Atributos em


relacionamentos
Exemplo

Aluno
Matricula

nome

tem

semestre
N

nomeDisciplina

Disciplina

codDisciplina

nota

O atributo do relacionamento pode ser


identificador ou no identificador

Exerccio 1

Um aeroporto deve modernizar seu sistema de controle de partidas


e chegadas e aeronaves. Devem estar cadastradas as companhias
areas que nele operam, contendo as informaes de nome da
companhia, telefone de contato e nome do contato. Cada vo
pertence a uma companhia area, e possui um nmero de vo,
horrio (chegada se o aeroporto for o destino, ou partida se o
aeroporto for a origem) e a cidade de onde ele vem ou para onde
ele vai. Para tanto, um simples campo na tabela vo chamado tipo
suficiente. As cidades de destino/origem dos vos devem estar
cadastradas. Cada uma possui um nome e telefone de contato. No
esquea que um vo pode ter escalas. Para cada escala,
suficiente saber a cidade.
24

Exerccio 2

Um professor deseja criar um sistema para registro das notas dos


seus alunos, nas diferentes disciplinas que ele ministra. Para isso,
pediu que voc modele o banco de dados. Os alunos deste
professor devem ser cadastrados, com numero de matricula, nome,
email e curso que ele faz. Os alunos se matriculam em turmas de
disciplinas. Cada turma identificada pelo semestre em que ocorre,
o turno (2N, 4T, 7M, etc.) e a disciplina a qual pertence. Uma
disciplina possui um cdigo, um nome e um nmero de crditos. No
final do semestre, o professor registra a note que o aluno tirou na
turma em que ele se matriculou.

25

Relacionamentos de grau maior que 2


nome

Produto
codProd

tem

Distribuidor

codDistribuidor

descricao
nome

Cidade

codCidade

Como ler as cardinalidades?


Sempre fixa-se uma entidade e confronta-se ela contra todas
as outras
Vale para relacionamentos de qualquer grau
26

Relacionamentos de grau maior que 2


nome

Produto
codProd

tem

Distribuidor

codDistribuidor

descricao
nome

Cidade

codCidade

Para cada par (cidade, produto), tem-se 1 distribuidor


Para cada par (distribuidor, cidade), tem-se vrios (N) produtos
Para cada par (distribuidor, produto) tem-se vrias (N) cidades
27

Relacionamentos de grau maior que 2


No representado no modelo relacional
Equivalente (+/-)
Produto
codProd
descricao

codDistribuidor

Distribuidor
1

N
N

venda

nome

nome

Cidade

codCidade

28

Entidade Associativa
nome

Medico
CREMERS

nome

consulta

Paciente

CPF

prescreve

nome

Medicamento

codAnvisa

Sistema funciona OK, mas agora preciso guardar os


medicamentos prescritos em uma consulta
29

Entidade Associativa
nome

Medico
CREMERS

nome

consulta

Paciente

CPF

prescreve

nome

Medicamento

Entidade associativa
codAnvisa

S fazer isso em caso de manuteno!


30

Entidade Associativa

CREMERS

nome

Medico

atende

consulta

nome

faz

Paciente
CPF

prescreve

nome

Medicamento

codAnvisa

Equivalente
31

Generalizao / especializao
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 prprios
(b) H 2 ou mais entidades que tm grande
parte dos atributos e relacionamentos iguais,
e alguns diferentes
32

Generalizao / Especializao
email

nome

(a)

matricula

telefone

Funcionario

nome

1
trabalha

Entidade
genrica

codSetor
nome

especializao

Professor

horas
nivel

Setor

N
leciona

titulacao
Entidade
especializada

creditos

disciplina
codDisc

Generalizao / Especializao
(b)

nome

matricula

email

telefone

Pessoa

Entidade
genrica

nome

disciplina

especializao

anoIngresso

creditos
codDisc

Professor

Aluno
horas
curso

nivel
Entidades
especializada
s

titulacao

N
leciona

Generalizao / especializao
Uma entidade especializada HERDA
todos os atributos e relacionamentos da
entidade genrica
Uma entidade especializada NO tem
atributo identificador prprio. o mesmo
da entidade genrica
35

Generalizao / Especializao
Qual a diferena?
Pessoa

Aluno

Professor

Especializao no-exclusiva

Pessoa

Fsica

Jurdica

Especializao exclusiva

Exerccio 3
Deseja-se criar um banco de dados para uma pet shop.
Cada animal recebe um cdigo. Alm disso, de cada animal necessrio
saber seu nome, espcie, idade, dono e telefone. Cada espcie tem um
cdigo, um nome, informao de porte e temperamento (dcil, agressivo,
etc.)
Cada vez que um animal vai pet shop ele faz um atendimento, do qual
deve-se saber a data, hora e preo. No caso do atendimento ser esttico,
deve-se saber o shampoo a ser utilizado, o tipo de tosa (se for o caso) e
alguma observao. Se o atendimento for veterinrio, necessrio saber
o motivo (descrio) e o encaminhamento (se houver), alm do
veterinrio responsvel.
De cada veterinrio deve-se saber o nome e o CRV (nmero no
conselho regional de veterinria).
37

Exerccio 4
Uma academia de musculao est criando um programa para controlar os exerccios e a
evoluo dos seus alunos. Desta forma, deve-se criar um banco de dados que armazene as
informaes a seguir:
De cada aluno matriculado necessrio saber seu CPF, nome, data de nascimento, altura e sexo.
Periodicamente, deve ser realizada uma avaliao nele para saber seu peso, percentual de
massa magra e percentual de gordura. Obviamente, necessrio saber quando este exame foi
realizado.
Cada exame supervisionado por um instrutor, do qual deseja-se saber o nome. Se o instrutor for
um professor, ento necessrio guardar seu nmero de registro no conselho regional de
educao fsica e sua especialidade (se tiver). Se o instrutor for um estagirio, necessrio saber
seu curso e em qual semestre est. No caso de um estagirio, importante saber qual professor
seu supervisor. Um mesmo professor pode supervisionar diversos estagirios.
Cada aluno faz um conjunto de exerccios em seu treino, e para cada um deles deve-se saber
quantas sries e quantas repeties ele faz (por exemplo, 3 sries de 100 para abdominais, 3
sries de 15 para elevao lateral, etc.). Obviamente, um mesmo exerccio realizado por
diversos alunos, e cada um possui sua prpria srie e nmero de repeties. De cada exerccio
necessrio guardar seu nome, o grupo muscular que ele trabalha e equipamento usado para
realiz-lo. De cada equipamento necessrio saber seu nome e tipo (fixo, mvel). Um
equipamento pode ser usado para mais de um exerccio.
38

You might also like