Professional Documents
Culture Documents
Banco de Dados
Banco de Dados I
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
Notao grfica:
Nome
instncias
Pedro
instncias
Camisa
Camiseta
Luiza
Cala
Vendedor
6
Notao grfica:
7
item
preco
Produto
cor
Camiseta
15.90
Amarelo
Camisa
29,90
Azul
Cala
39,50
Preto
RG
preco
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
Cliente
CPF
endereco
Nome
Cliente
rua
Bairro
CEP
bairro
endereco
codigo
CPF
rua
CEP
Nome
Email (N)
Cliente
Atributo multivalorado
Email (N)
Nome
Cliente
Telefone
codigo
CPF
Telefone (0..N)
numero
Notao grfica:
nome
13
Exemplos
Cliente
possui
codigo
CPF
codigo
endereco
NF
Venda
14
Exemplo
Funcionrio
CPF
gerencia
mnimo
1..1
tem
0..N
mximo
Mximo
Nmero mximo de
ocorrncias de instncias
da entidade para cada
ocorrncia de instncias da
entidade associada
1 nico
N Mltiplo (vrios)
A
A
A
tem
tem
tem
Um-para-um
Um-para-N
N-para-N
Exemplo
Predio
codPredio
tem
Sala
numSala
Funcionario
participa
Projeto
codProj
EQUIVALE A
Funcionario
CPF
FuncProj
Projeto
CodProj
creditos
Aluno
Matricula
tem
Disciplina
nomeDisciplina
codDisciplina
nome
Aluno
Matricula
nome
tem
semestre
N
nomeDisciplina
Disciplina
codDisciplina
nota
Exerccio 1
Exerccio 2
25
Produto
codProd
tem
Distribuidor
codDistribuidor
descricao
nome
Cidade
codCidade
Produto
codProd
tem
Distribuidor
codDistribuidor
descricao
nome
Cidade
codCidade
codDistribuidor
Distribuidor
1
N
N
venda
nome
nome
Cidade
codCidade
28
Entidade Associativa
nome
Medico
CREMERS
nome
consulta
Paciente
CPF
prescreve
nome
Medicamento
codAnvisa
Entidade Associativa
nome
Medico
CREMERS
nome
consulta
Paciente
CPF
prescreve
nome
Medicamento
Entidade associativa
codAnvisa
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
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