Você está na página 1de 99

Banco de Dados I

Banco de Dados I
2
2

Modelagem de Dados
Modelagem de Dados
Conceitual
Conceitual
Grinaldo Grinaldo Lopes de Oliveira ( Lopes de Oliveira (grinaldo grinaldo@ @gmail gmail.com) .com)
Curso Superior de Tecnologia em Curso Superior de Tecnologia em
An An lise e Desenvolvimento de Sistemas lise e Desenvolvimento de Sistemas
* Material com crditos de colaborao dos professores Mrcio Soussa, Leandro Coelho e Pablo Florentino
Agenda
Aprendendo
Modelagem de Dados
Projeto de Banco de Dados
DER Entidades e Atributos
DER Relacionamentos
DER - Extenses
Modelagem de Dados
Questionamentos:
O que significa modelagem de dados ?
realmente necessrio modelar ?
Como devemos modelar ?
Abstrao
Modelagem de Dados
a representao abstrata e simplificada de um sistema
real, com a qual se pode explicar ou testar o seu
comportamento, em seu todo ou em partes.
Ex.: Planta Baixa, manequim, desenho, etc
Na rea de banco de Dados
a descrio dos tipos de informaes que esto armazenadas
em um banco de dados
Ex: Um modelo de dados acadmico informa que h informaes
sobre alunos (Matricula, CPF, Nome), mas no informa os dados de
cada aluno.
a representao das entidades e seus relacionamentos
Modelagem de Dados - Modelo
Mtodo de abstrao dos elementos do ambiente
representando-os em um modelo de dados (Entidades e
relacionamentos)
uma representao abstrata dos dados sobre entidades,
juntamente com suas associaes
Tcnica aplicada para modelar os dados da empresa,
visando formar uma base estvel para suportar o negcio e
as necessidades de informaes decorrentes.
Modelagem de Dados - Conceitos
A Sociedade est cada vez mais orientada para
a informao
Dado (informao) um dos bens mais valiosos de
uma empresa. Faz necessrio gerenci-lo de forma
eficaz.
Como organizar os dados para maximizar sua
utilidade e obter informaes necessrias para a
conduo do negcio?
Modelagem de Dados Por que modelar?
Quando fazemos uma modelagem, estamos
modelando obviamente alguma coisa, isto , no
nosso caso o ambiente observado.
Ao observamos os objetos:
O que percebemos ?
Como eles nos so apresentados ?
O que deveremos buscar ?
Modelagem de Dados Como devemos modelar?
Debate em Sala de Aula
Digamos que voc foi convidado
para descrever um conjunto de
lojas de departamentos associadas
s suas reas de atuao e
fornecedores. O que poderia
resultar como produto deste
trabalho?
Poderia resultar um modelo descritivo
Poderia resultar um modelo esquemtico
Poderia resultar um modelo de dados
O observado X O representado.
Cada ambiente a ser modelado ter suas prprias
caractersticas.
Mudanas no modelo ao longo do processo de
modelagem.
A viso obtida dos objetos fortemente
dependente de quem nos apresenta.
Modelagem de Dados Como devemos modelar
Execuo da Modelagem do Dados
Observao dos objetos
Entrevistas, reunies, questionrios
Entendimento dos Conceitos
Entendimento (caractersticas, relacionamentos)
Representao dos objetos
DER (Diagrama de Entidade e Relacionamento)
Verificao de fidelidade e coerncia
Validao do modelo
Modelagem de Dados Processo de Modelagem

N
N

o ame seu modelo


o ame seu modelo

Se voc
Se voc

acha que seu modelo est


acha que seu modelo est

bom,
bom,

porque talvez ainda n


porque talvez ainda n

o tenha olhado
o tenha olhado
direito
direito

Em modelagem de Dados s
Em modelagem de Dados s

podemos ter
podemos ter
uma certeza: a de que nosso modelo
uma certeza: a de que nosso modelo
nunca estar
nunca estar

completamente acabado
completamente acabado

Modelagem de Dados Grandes Verdades


Projeto de Banco de Dados
Requisitos de Dados
Projeto Conceitual
Projeto Lgico
Projeto Fsico
Modelo Conceitual
Modelo Fsico
Modelo Lgico
Coleta e Anlise
de Requisitos
Mini-Mundo
Independente
de SGBD
Especfico para
um SGBD
Foco: dados
Projeto de anco de Dados
Na dcada de 70, Peter P. Chen criou o
modelo E-R que se divide em trs:
Modelo Conceitual de Dados (MCD)
Modelo Lgico de Dados (MLD)
Modelo Fsico de Dados (MFD)
Projeto de anco de Dados
o ponto de partida para a modelagem de
dados
Deve-se buscar a construo de um modelo
conceitual antes de partir para a elaborao
de um projeto lgico
Modelo mais prximo do nvel do usurio
Modelagem de Dados no serve apenas para
elaborar um projeto de BD
Modelo Conceitual de Dados
Aquele em que os objetos, suas
caractersticas e relacionamentos tm
representao fiel ao ambiente observado,
independentemente de limitaes
impostas por tecnologias, tcnicas de
implementao ou dispositivos fsicos.
Devemos nos preocupar apenas com o
aspecto conceitual.
Modelo Conceitual de Dados
O modelo conceitual de dados informa os
dados (atributos) que esto presentes no
banco de dados, mas no informa como
estes dados so armazenados pelo
SGBD.
Descreve a estrutura de um banco de
dados de forma independente de um
SGBD particular e trata-se de um modelo
simples, de fcil compreenso pelo
usurio final.
Modelo Conceitual de Dados
Aquele em que os objetos, suas
caractersticas e relacionamentos tm a
representao de acordo com as regras de
implementao impostos por algum tipo
de tecnologia com chaves de acesso,
normalizao, integridade referencial, etc.
Modelo !"gico de Dados
Um modelo lgico de dados uma descrio
de um banco de dados no nvel de
abstrao visto pelo usurio do SGBD.
Essa representao, por sua vez, independe
dos meios de armazenamento fsico das
estruturas de dados.
Detalhes de armazenamento interno, como
ponteiros, ndices, etc no fazem parte do
modelo lgico.
Modelo !"gico de Dados
Aquele em que a representao dos
objetos feita sob o foco do nvel fsico de
implementao das ocorrncias e seus
relacionamentos.
Descreve informaes relacionadas com a
estrutura fsica de armazenamento e o
desempenho de banco de dados
Modelo #$sico de Dados
Grande parte da dificuldade encontrada
por quem inicia na atividade de
modelagem de dados resultante da
excessiva nfase dada aos aspectos
tecnolgicos, dificultando que enxerguem
o mundo que modelam sua frente
preciso dar a devida importncia
modelagem conceitual !!!!
%bserva&'es Pertinentes
Partindo-se de um mundo observado,
composto por seus objetos e
relacionamentos, podemos definir um
modelo independente de tecnologia. Esse
modelo ser derivado para um modelo lgico
que por sua vez ser dependente de
modelos fsicos de implementao.
Para cada nvel (modelo) usaremos tcnicas
de representao apropriadas.
Metodologia de Projeto de anco de Dados
Debate em Sala de Aula
No dia-a-dia profissional, em sua
opinio, qual o risco que se pode
incorrer na atualizao de um
modelo especfico sem reflexo em
outro? Exemplo: Altera-se o modelo
fsico, mas no se atualiza
o conceitual.
DER Entidades e Atributos
Em Maro de 1976, Peter P. Chen Publicou
um trabalho intitulado The Entity-
Relationship Model
O modelo passou a ser um referencial
definitivo no processo de modelagem de
dados at os dias atuais
MER : Modelo Entidade-Relacionamento
DER : Diagrama Entidade-Relacionamento
Modelo (-) *+ntrodu&,o-
Formalizao do bvio:
O mundo est cheio de coisas que
possuem Caractersticas Prprias e se
relacionam entre si
Modelo (-)
Ambiente
observado
Abordagem
ER
Abordagem
OO
Elementos
individualizados
Instncias ou
Ocorrncias
Objetos
Conjunto de
elementos
individualizados
Entidades Classes
Caractersticas Atributos Atributos
Relacionamento
entre elementos
Relacionamentos Associaes
Modelo (-)
Entidades/Objetos
Relacionamentos
Atributos
Retngulo
Losango
Crculo
Modelo (-) . (lementos */ota&,o de Peter C0en-
Fornecedor Fornece
Razo Social
Produto
CNPJ
Cdigo
Descrio
Modelo (-) . (lementos *Peter C0en-
O Conceito fundamental da abordagem ER a Entidade
Uma Entidade um conjunto de objetos sobre os quais se deseja
manter informaes no banco de dados
Entidades podem ser:
Coisas tangveis
Veculo, bebida, etc.
Funes exercidas por elementos
Funo exercida por um elemento.
Ex: mdico cardiologista, mdico dermatologista, superviso de marketing,
etc
Eventos ou ocorrncias
Relacionados a alguma ao.
Ex: Festa na escola, palestra, jogo de futebol.
Modelo (-) . (ntidades
(ntidades 1ang$veis
(ntidades 1ang$veis
(ntidades de #un&'es
(ntidades de #un&'es
(ntidades de (ventos
(ntidades de (ventos De2end3ncia
de dados com outras entidades
No caso de um Evento de Apresentao de um Produto:
Interaes
Pode ser substitudo por
Relacionamentos ou Associaes.
%utros 1i2os de (ntidades
Especificaes
Definem caractersticas de outros objetos.
Normalmente, esto associados ao processo
de modelagem lgica;
%utros 1i2os de (ntidades
Tangvel
Especificao
As entidade so representadas atravs de
retngulos.
Entidades Fracas
Critrio de Classificao:
Dependncia de existncia /Identificador
Entidades Fortes
Modelo (-) . (ntidades #ortes e #racas
Modelo (-) . (ntidades #ortes e #racas
Atributo um dado que associado a
cada objeto (ocorrncia) de uma entidade
ou de um relacionamento.
So os atributos que nos fazem diferenciar
objetos distintos.
Na notao original de Peter Chen, os
atributos eram representados atravs de
bales.
No usaremos em demasiado esta prtica durante as
aulas para no poluir o modelo de dados.
Modelo (-) . Atributos
Atributos - )e2resenta&,o no modelo
ATRIBUTOS OPCIONAIS
Atributos opcionais so aqueles que se aplicam apenas a
determinadas ocorrncias de uma entidade, e no a outras.
Exemplo: FUNCIONRIO e os registrosprofissionais em
diferentes entidades de classe: CRM, CREA, OAB, etc.
Atributos opcionais muitas vezes indicam subconjuntos da
entidade que devem ser modelados atravs de especializao.
Atributos - )e2resenta&,o no modelo
ATRIBUTOS COMPOSTOS
Chamamos de atributos compostos queles nos quais o
contedo formado por vrios itens menores. Exemplo:
ENDEREO composto por: nome do logradouro, nmero,
complemento (exemplo: apartamento), bairro, cidade, estado,
etc.
Atributos - )e2resenta&,o no modelo
ATRIBUTOS MULTIVALORADOS
Denominamos atributos multivalorados queles nos quais o
contedo formado por mais de um valor. Exemplo:
FUNCIONRIO e DEPENDENTE, este ltimo como atributo.
Para atributos multivalorados recomenda-se a soluo
apresentada na figura a seguir:
Classi4ica&,o dos Atributos
Atributos Descritivos
So aqueles que, sob o enfoque funcional, aplicam-se
representao das caractersticas intrnsecas dos objetos.
Atributos /ominativos
So aqueles que, alm de cumprirem a funo de
descritivos, tambm servem como definidores de nomes
ou rtulos de identificao aos objetos aos quais
pertencem.
Atributos )e4erenciais
So aqueles que no pertencem propriamente ao objeto
ao qual esto alocados, mas fazem algum tipo de citao
ou ligao deste objeto com outro objeto.
Por qu ?
A simples representao de um modelo de
dados no suficiente, em geral, para
expressar todos os conceitos necessrios ao
bom entendimento do sistema
Ambigidades: Acontece quando duas ou
mais interpretaes so possveis para um
mesmo elemento. Significa falta de clareza.
Modelo (-) . Dicionrio de Dados
Regras para o bom entendimento
Todo modelo deve ter seu dicionrio de dados
Cuidado com conceitos triviais
Definies completas e inequvocas
Regras onde se encaixam, Excees s regras
Exemplos ilustrativos
Qualquer contribuio que melhore a compreenso
Toda informao til deve ser agregada, mas
nem toda informao til.
Modelo (-) . Dicionrio de Dados
Dicionarizao dos atributos
Complementar dicionarizao dos objetos
Erro comum: simplificao de conceitos
Ex.: Contm o centro de custo do empregado
No estamos dicionarizando somente ns
mesmos.
Domnios.
Modelo (-) . Atributos
Dicas para Dicionarizao:
Deve-se descrever:
O que o elemento ?
Para que serve o elemento ?
O que engloba a sua categoria ?
O que est includo ou excludo de sua categoria ?
Quando algum passa a ser, ou deixa de ser, um
elemento deste tipo?
Sua permanncia na categoria imutvel?
Modelo (-) . Dicionrio de Dados
Debate em Sala de Aula
Como voc descreveria a figura de
um atleta na empresa em que
trabalha?
% que 5 um atleta?
Modelo E-R / Relacionamentos
a forma como os objetos de comportam em
relao aos demais objetos.
Conjunto de associaes entre entidades.
Ao observarmos os objetos, estaremos
quase que imediatamente, reconhecendo as
relaes existentes entre eles.
expresso atravs de uma construo
verbal.
Modelo E-R / Relacionamentos
PESSOA
IMVEL
Aluga
Alugado
PESSOA representa um conjunto de objetos classificados como pessoas
IMOVEL representa um conjunto de objetos classificados como imveis
ALUGA/ ALUGADO representa a relao entre as pessoa e os imveis
Ex: Maria aluga o imvel de No 134.
Modelo E-R / Relacionamentos
Diagrama de ocorrncias
Pessoas Imveis Pessoas alugam
Imveis
Modelo E-R / Relacionamentos
Grupos:
Entre objetos de diferentes tipos
Ex.: Produto Fornecedor
Professor - Disciplina
Entre objetos de um mesmo tipo
Ex.: Enfermeira Chefe de Enfermagem
Modelo E-R / Relacionamentos
Denominao dos relacionamentos
Preocupao para denominar corretamente
os relacionamentos
Duas formas: Ativa e Passiva
Ex.: Ativa : Fornecedor fornece produto
Ex.: Passiva : Produto fornecido pelo Fornecedor
Leitura: Cima-baixo e esquerda-direita
Modelo E-R / Relacionamentos
Grau ou Cardinalidade
1:1 (Um para um)
1:N (Um para Muitos)
M:N (Muitos para Muitos)
Nmero de elementos
Binrio, ternrio (auto-relacionamento)
Presena de elementos
Mnimos e Mximos
Relacionamentos com ou sem atributos
Modelo E-R / Relacionamentos
Grau ou Cardinalidade
Nmero de ocorrncias entre um elemento de uma
entidade com elementos de outra entidade
Com quantos elementos do tipo Y se relaciona cada um dos
elementos do tipo X ?
Dado um elemento do tipo Y, com quantos elementos do tipo X se
relaciona ?
X
Y
R
Modelo E-R / Relacionamentos
Grau ou Cardinalidade
ALUNO
PROJETO
Participa
Objetivo: Expressar a semntica de associao entre os elementos
Modelo E-R / Relacionamentos
Cardinalidade (1:1)
PESSOA
CERTIDAO NASCIMENTO
Possui
1
1
Um elemento de Pessoa s pode se relacionar
com um elemento de Certido e um elemento
de Certido s pode se relacionar com um
elemento de Pessoa
Modelo E-R / Relacionamentos
Cardinalidade (1:1)
No exigido a associao de todos os
elementos
Modelo E-R / Relacionamentos
Cardinalidade (1:N )
PROJETO
ALUNO
composto
1
N
Um elemento de Projeto pode se relacionar
com (N) elementos de Aluno, mas um
elemento de Aluno s pode se relacionar
com um elemento de Projeto
Modelo E-R / Relacionamentos
Cardinalidade (1:N)
No exigida a associao de todos os
elementos
Modelo E-R / Relacionamentos
Cardinalidade (M:N)
FABRICA
REPRESENTANTE
Possui
M
N
Um elemento de Fbrica pode se relacionar com (N)
elementos de Representante, e um elemento de
Representante pode se relacionar com (N)
elementos de Fbrica
Modelo E-R / Relacionamentos
Cardinalidade (M:N)
No exigida a associao de todos os
elementos
Modelo E-R / Relacionamentos
Nmero de elementos que participam do
relacionamento
Binrio ( Mais comum )
Ternrio
Quaternrio, Etc.
Relacionamentos ternrios, quaternrios, etc,
podem, mas no necessariamente,
representar uma falha na modelagem
Modelo E-R / Relacionamentos
Auto-relacionamento
VIGIA
Supervisiona
1
N
Auto-relacionamentos podem ser
1:1, 1:N ou M:N
Modelo E-R / Relacionamentos
Relacionamento ternrio
EMPREGADO
EMPRESA
Trabalha
M
N
CARGO
M
No pode ser transformado em 2
relacionamentos binrios
Modelo E-R / Relacionamentos
Presena de elementos no relacionamento
Grau Mnimo:
Qual o menor valor possvel de participao do
elementos?
Grau Mximo
Qual o maior valor possvel de participao do
elementos?
Modelo E-R / Relacionamentos
Presena de elementos no relacionamento
ALUNO
PROJETO
Participa
0:1
1:N
Podemos valorar os graus com valores fixos
para dar mais semntica ao modelo
Modelo E-R / Relacionamentos
Existncia simultnea de
Relacionamentos
Relacionamentos Independentes (maioria)
Relacionamentos Contigentes
Impem o estabelecimento simultneo de
associaes entre os vrios elementos
envolvidos.
Relacionamentos mutuamente exclusivos
Exemplos: Obra financiada por orgo estadual ou
municipal ou federal (exclusivamente)
Modelo E-R / Relacionamentos
Relacionamentos Independentes
PROGRAMA
CANAL DE TV
exibido
ESTADO
patrocinado
Modelo E-R / Relacionamentos
Existncia simultnea de Relacionamentos
Relacionamentos Contingentes
PROJETO
ENGENHEIRO
alocado
REGIO
atende
Modelo E-R / Relacionamentos
Existncia simultnea de Relacionamentos
Relacionamentos Mutuamente Exclusivos
OBRA
MUNICIPIO
Financiada
ESTADO
Financiada
Modelo E-R / Relacionamentos
EMPREGADO
CENTRO DE CUSTO
lotado
Data da lotao
Nmero da portaria
Modelo E-R / Relacionamentos
Presena de Atributos
Relacionamentos sem atributos;
Relacionamentos com atributos
Possuem dados a serem armazenados.
Os relacionamentos devem ser dicionarizados tambm.
Hora de Exerccio
Faa a Lista 2 de Exerccios de
Modelagem.
DER - Extenses
Agregao
Denota a existncia de uma juno de
elementos atravs de um relacionamento, e
que permite que essa juno seja percebida
como um novo elemento a ser, por sua vez,
relacionado a outro elemento
Modelo (-) . (struturas Adicionais
Agregao
EMPREGADO
EMPRESA
Trabalha
M
N
CARGO
M
Modelo (-) . (struturas Adicionais
Interpretao do grau prejudicada
Agregao (entidade Associativa)
EMPREGADO
EMPRESA
Trabalha
M
N
CARGO
1
ocupa
Modelo (-) . (struturas Adicionais
Generalizao Especializao (Gen-Esp)
O conceito de Gen-Esp est associado ao
conceito de herana de caractersticas.
A estrutura composta por uma entidade
generalizada (pai) e um ou mais entidades
especializadas (filhas).
Os elementos da entidade especializada herdam
propriedades da entidade generalizada, alm de
possurem suas caractersticas prprias.
Pode ser Parcial ou Total.
Modelo (-) . (struturas Adicionais
Generalizao-Especializao (Gen-Esp)
CLIENTE
PESSOA FISICA
CLIENTE
PESSOA JURIDICA
CLIENTE
Modelo (-) . (struturas Adicionais
Especializaes mutuamente exclusivas
(Categorias)
CARRO AVIO
MEIO DE TRANSPORTE
c
Modelo (-) . (struturas Adicionais
Especializaes no mutuamente exclusivas
(Papis)
PROFESSOR
COORDENADOR CURSO
FUNCIONARIO
p
Modelo (-) . (struturas Adicionais
Nveis de especializao
AVE
RPTIL
ANIMAL
c
GUIA
PAPAGAIO
c
CROCODILO
JACAR
c
Modelo (-) . (struturas Adicionais
Nveis de especializao (Expanso
Horizontal)
GUIA
CROCODILO
ANIMAL
c
PAPAGAIO JACAR
Repetimos atributos e relacionamentos
Modelo (-) . (struturas Adicionais
Relacionamentos
PASSEIO
NIBUS
CARRO
c
UTILITRIO CAMINHO
FBRICA
Fabricado
N
1
Modelo (-) . (struturas Adicionais
Auto-relacionamento em Gen-Esp
PESSOA FSICA
PESSOA JURDICA
PESSOA
c
Representa
N
1
Modelo (-) . (struturas Adicionais
Quando utilizar Gen-Esp:
Regra 1: Existe algum atributo que seja aplicado
a somente um subconjunto de elementos e no a
todos?
Regra 2: Existe algum relacionamento que seja
aplicvel a somente um subconjunto de
elementos e no a todos?
Regra 3: No estaremos poluindo o modelo
inserindo detalhes desnecessrios?
Regra 4: Estaremos inserindo mais semntica ao
nosso modelo?
Modelo (-) . (struturas Adicionais
Tarefa Extra-Classe
Recupere os exerccios de DER e
faa-os todos.
Banco de Dados I
Banco de Dados I
2
2

Modelagem de Dados
Modelagem de Dados
Conceitual
Conceitual
Grinaldo Grinaldo Lopes de Oliveira ( Lopes de Oliveira (grinaldo grinaldo@ @gmail gmail.com) .com)
Curso Superior de Tecnologia em Curso Superior de Tecnologia em
An An lise e Desenvolvimento de Sistemas lise e Desenvolvimento de Sistemas

Você também pode gostar