Banco de Dados
Parte 2
Profa. Ana Karina Barbosa
fevereiro/2008
Modelagem Conceitual - O Modelo E-R
Registro da realidade é feito através da criação de
um modelo
O Modelo Entidade-Relacionamento
Objetivo: obter uma descrição abstrata dos dados que
serão armazenados no banco de dados, independente de
implementação em computador.
Definido por Peter Chen em 1976. Até hoje é considerado
um padrão para modelagem conceitual. Técnicas de
modelagem orientadas a objeto baseiam-se nos conceitos
da abordagem E-R.
O Modelo Entidade-Relacionamento
Entidade: conceito fundamental
Conjunto de objetos da realidade
modelada sobre as quais deseja-se manter
informações no Banco de Dados
Em um diagrama E-R, uma entidade é
representada através de um retângulo que
contém o nome da entidade.
Ex:
FUNCIONÁRIO
DEPARTAMENTO
O Modelo Entidade-Relacionamento
Atributo de Entidade
Todo objeto para ser uma entidade possui
propriedades que são descritas por atributos e
valores. Por exemplo, entidade funcionário
possui os atributos matrícula, nome, data de
admissão.
Representação do atributo no diagrama E-R
matricula
FUNCIONÁRIO
nome
data admissão
O Modelo Entidade-Relacionamento
Caso seja necessário referir um objeto
particular (uma determinada pessoa ou
um determinado departamento) fala-se
em ocorrência ou instância de entidade.
O Modelo Entidade-Relacionamento
Identificadores de entidades:
Um atributo ou um conjunto de atributos cujos valores
distinguem uma ocorrência da entidade das demais.
O identificador deve ser mínimo.
Ex:
matrícula
FUNCIONÁRIO data admissão
nome
OBS: Em algumas ocasiões, caso não haja
explicitamente um identificador, é necessário a
inserção de um identificador como “código” ou “ID”.
O Modelo Entidade-Relacionamento
Atributos nulos
É usado quando uma entidade não possui valor
para determinado atributo. Ex: para a entidade
ALUNO o atributo e-mail pode vir nulo em alguns
casos.
Representação Gráfica:
nome
ALUNO
e-mail
(0,1)
O Modelo Entidade-Relacionamento
Atributos multivalorados
Quando um único atributo possui mais de um
valor para a mesma entidade. Ex: telefones
Representação Gráfica:
FUNCIONÁRIO
telefones
(1,N)
Atributos nulo e multivalorados
FUNCIONÁRIO
dependentes
(0,N)
O Modelo Entidade-Relacionamento
Relacionamento
Fato/acontecimento que liga dois objetos
existentes no mundo real.
São os elementos que nos dão o sentido
da existência dos objetos e suas interrelações.
O Modelo Entidade-Relacionamento
Relacionamento
Em um diagrama E-R, um relacionamento
é representado através de um losango,
ligado por linhas às entidades que
participam do relacionamento.
Ex:
DEPARTAMENTO
Lotação
FUNCIONÁRIO
O Modelo Entidade-Relacionamento
Relacionamento
Da mesma forma que ocorre com a
entidade, quando se quer referir a
associações particulares refere-se a
ocorrência ou instância de relacionamento.
O Modelo Entidade-Relacionamento
Cardinalidade/Grau de Relacionamento
Quando se tem um relacionamento entre
duas entidades, o número de ocorrências
de uma entidade que está associado com
ocorrências de outra entidade, determina o
Grau do Relacionamento ou Cardinalidade
deste fato.
O Modelo Entidade-Relacionamento
Cardinalidade/Grau de Relacionamento
Relacionamento Um-para-Um (1:1):
cada elemento de uma entidade relacionase com um e somente um elemento de
outra entidade
PACIENTE
1
Tem
1
PRONTUÁRIO
O Modelo Entidade-Relacionamento
Cardinalidade/Grau de Relacionamento
Relacionamento Um-para-Muitos (1:N): este
grau de relacionamento é o mais comum no mundo
real. Um elemento de uma entidade A relaciona-se
com muitos elementos de outra entidade B, mas
cada elemento da unidade B só pode estar
relacionado a um elemento da unidade A.
DEPARTAMENTO
1
Lotação
N
ENGENHEIRO
O Modelo Entidade-Relacionamento
Cardinalidade/Grau de Relacionamento
Relacionamento Muitos-para-Muitos (N:N):
cada elemento de uma entidade A relaciona-se com
vários elemento de outra entidade B, e os elementos
da outra entidade B relaciona-se também com vários
elementos da entidade A.
ALUNO
N
Cursa
N
DISCIPLINA
O Modelo Entidade-Relacionamento
Cardinalidade/Grau de Relacionamento
Relacionamento Obrigatório e Opcional:
a cardinalidade 1 também recebe a
denominação de “associação obrigatória”
enquanto a cardinalidade 0 recebe a
denominação de “associação opcional”.
CORRENTISTA
1
Tem
0:N
FUNDO
APLICAÇÂO
O Modelo Entidade-Relacionamento
Modelagem de relacionamento não é trivial
O correto entendimento de uma informação depende
muito da condição de interpretação dos fatos e da
determinação da inerência dos dados pelo analista de
sistemas.
FUNCIONÁRIO N
FUNCIONÁRIO N
ALOCADO
ALOCADO
1
N
PROJETO
PROJETO
O Modelo Entidade-Relacionamento
Como enxergar entidades e relacionamentos:
Através da descrição dos objetos do negócio.
Entidades normalmente são obtidas dos
substantivos e os relacionamentos dos verbos
significativos.
EX: Uma instituição é composta por um conjunto
de departamentos. Cada departamento aloca um
ou mais funcionários. Cada funcionário está locado
em um e somente um departamento. Um
departamento possui um ou mais escritórios. Cada
escritório está vinculado a um único
departamento.
O Modelo Entidade-Relacionamento
Diagrama E-R gerado:
1
DEPARTAMENTO
1
TEM
N
ESCRITÓRIO
ALOCA
N
FUNCIONÁRIO
O Modelo Entidade-Relacionamento
EXERCÍCIO 1
Utilizar o modelo Entidade-Relacionamento
para modelar um banco de dados de
suporte a uma rede hospitalar.
O Modelo Entidade-Relacionamento
Importante
Não se deve preocupar na modelagem,
com operações como deleção, inserção,
manutenção de dados.
Quando se modela, deve-se preocupar com
os dados e sua recuperação. Ou seja, obter
o entendimento de um negócio ou
problema, estruturando seus dados.
O Modelo Entidade-Relacionamento
Atributo de Relacionamento
É utilizado na caracterização de relacionamentos.
ENGENHEIRO N
N PROJETO
trabalha
Função
LOJA
1
Tipo
vende
N
Qtd. parcelas
PRODUTO
(0,1)
O Modelo Entidade-Relacionamento
Tipos de relacionamento
Dois ou mais relacionamentos entre duas
mesmas entidades.
N
trabalha
N
ENGENHEIRO
PROJETO
1
coordena
1
O Modelo Entidade-Relacionamento
Tipos de relacionamento
Auto-relacionamento: um relacionamento
entre ocorrências de uma mesma entidade.
Papéis devem ser definidos.
supervisor
1
supervisão
EMPREGADO
N
supervisionado
O Modelo Entidade-Relacionamento
Tipos de relacionamento
Relacionamento Fraco: restrição de
existência, a entidade (chamada entidade
fraca), não pode ser identificada através de
seus próprios atributos.
Numero
Seqüência
código
EMPREGADO
1
tem
N
DEPENDENTE
nome
nome
O Modelo Entidade-Relacionamento
Exercício 2
Utilizar o modelo Entidade-Relacionamento
para modelar um banco de dados de
suporte a uma Biblioteca Escolar.
O Modelo Entidade-Relacionamento
Tipos de relacionamento
A abordagem E-R permite que sejam
definidos relacionamentos de grau maior
que dois. Um dos mais comuns é o
relacionamento ternário que associa
três entidades diferentes em um único
relacionamento.
No caso de um relacionamento ternário, a
cardinalidade refere-se a pares de
entidades.
O Modelo Entidade-Relacionamento
Tipos de relacionamento - Rel.Ternário
CIDADE
N
distribuição
DISTRIBUIDOR
1
N
PRODUTO
• A um par (cidade, distribuidor) podem estar associados
muitos produtos.
• A um par (produto, distribuidor) podem estar associados
muitas cidades.
• A um par (cidade, produto) está associado um único
distribuidor, garantido-lhe exclusividade.
O Modelo Entidade-Relacionamento
De um relacionamento ternário para dois
binários
É possível transformar um relacionamento ternário
em dois binários. Este artifício é utilizado muitas
vezes a fim de diminuir a complexidade
CLIENTE
N
tem
AGÊNCIA
1
N
CONTA CORRENTE
O Modelo Entidade-Relacionamento
De um relacionamento ternário para
dois binários
CLIENTE
N
tem
N
CONTA CORRENTE
N
1
pertence
AGÊNCIA
O Modelo Entidade-Relacionamento
Generalização/Especialização
Através deste conceito é possível atribuir
propriedades particulares a um
subconjunto das ocorrências de uma
entidade genérica.
Idéia de herança de propriedades.
O Modelo Entidade-Relacionamento
Generalização/Especialização
código
CLIENTE
nome
Tipo organização
CPF
sexo
PESSOA
FÍSICA
CGC
PESSOA
JURÍDICA
Visão Top-Down
Visão Bottom-Up
Pode haver vários níveis hierárquicos de generalização/especialização
O Modelo Entidade-Relacionamento
Generalização/Especialização
A generalização/especialização pode ser
classificada em total ou parcial, de acordo
com a obrigatoriedade ou não da ocorrência
da entidade genérica corresponder a uma
ocorrência da entidade especializada.
t
p
O Modelo Entidade-Relacionamento
Agregação ou Entidade Associativa
Este conceito é utilizado em algumas
situações onde existe a necessidade de
associar uma entidade a um relacionamento
Ex:
PACIENTE
N
consulta
N
MEDICO
• Como associar uma nova entidade MEDICAMENTO
ao relacionamento CONSULTA?
O Modelo Entidade-Relacionamento
Agregação ou Entidade Associativa
PACIENTE
N
consulta
N
prescrição
N
MEDICAMENTO
N
MEDICO
O Modelo Entidade-Relacionamento
Exercício 3
Utilizar o modelo Entidade-Relacionamento
para modelar um banco de dados de
suporte a uma empresa de engenharia.
O Modelo Entidade-Relacionamento
Exercício 4
Utilizar o modelo Entidade-Relacionamento
para modelar um banco de dados de
suporte a realização de Congressos
Científicos.
Identificando construções
Entidade versus Atributo: quando modelar um
objeto como Entidade ou Atributo?
Depende da visão que o analista tiver
daquele objeto.
código
EX:
CLIENTE
nome
código
nome
CLIENTE
1
Tem
1
Codigo
Rua
ENDEREÇO
endereço
Bairro
Identificando construções
Entidade versus Atributo: quando modelar um
objeto como Entidade ou Atributo?
Dica: um atributo não pode ter atributos, nem
estar relacionado a outros, nem ser generalizado
ou especializado.
Num. do chassi
AUTOMÓVEL
N
nome
Num. do chassi
Tem
cor
AUTOMÓVEL
tipo
1
COR
N
Tem
N
FORNECEDOR
Identificando construções
Atributo versus generalização/especialização
Uma especialização deve ser usada quando sabe-se
que as classes especializadas possuem propriedades
nome
particulares.
código
código
nome
Categoria
Funcional
EMPREGADO
EMPREGADO
Num. Carteira
habilitação
MOTORISTA
t
CREA
ENGENHEIRO
Verificação do Modelo
Modelo deve refletir o aspecto temporal
Certas aplicações exigem que o BD guarde
o histórico de alterações de informações.
Atributos cujos valores modificam ao longo
do tempo.
• Ex: quando o cliente muda de endereço ou
quando o salário do funcionário é alterado.
• Nesses casos pode ser importante ter um
registro das informações que vão sendo
alteradas. Por isso, tanto endereço quanto
salário deixam de ser atributos para virar
entidades.
Verificação do Modelo
Modelo deve refletir o aspecto temporal
Relacionamentos que modificam ao longo do tempo
• Instâncias de relacionamento podem ser adicionadas e
removidas ao longo do tempo e também neste caso pode-se
querer manter um registro histórico das alterações.
EMPREGADO
EMPREGADO
N
lotação
1
DEPARTAMENTO
N
data
lotação
N
DEPARTAMENTO
Verificação do Modelo
Consultas a dados referentes ao passado
Informações antigas podem ser eliminadas para
evitar o crescimento desmedido do BD.
Informações antigas podem ser necessárias no
futuro, por exemplo, por motivos legais, para
realização de auditorias ou para tomadas de
decisão.
É necessário planejar desde a modelagem por
quanto tempo as informações ficarão armazenadas
no BD.
Podem ser necessários atributos para indicar o
status da informação, se atual ou antiga.
Verificação do Modelo
Planejar o arquivamento de informações antigas
É necessário fazer um planejamento de como dados
antigos, retirados do banco e armazenados em arquivos
convencionais serão acessados no futuro.
Uma solução seria a reinclusão dos dados no banco
quando estes se fizerem necessários.
Planejar informações estatísticas
Em alguns casos, informações antigas são necessárias
apenas para tomada de decisão. Muitas vezes desejase apenas dados resultante de cálculos ou estatísticas.
Pode ser conveniente manter no BD apenas as
informações compiladas.
Uso de ferramentas de modelagem
A criação de diagramas é muito
trabalhosa, revisões e processos de
atualização são freqüentes.
Uso de uma ferramenta CASE -
Computer Aided Software Engineering.
Uso de programas de propósito geral.
Estratégias de Modelagem
O processo de construção de um modelo é
incremental.
Gradativamente, o modelo vai sendo enriquecido
como novos conceitos e estes vão sendo ligados
aos existentes ou os existentes vão sendo
aperfeiçoados.
É necessário identificar qual a fonte de
informação principal para o processo de
modelagem.
Descrições de dados existentes.
Conhecimento de pessoas.
Estratégias de Modelagem
Partindo de descrições de dados existentes
Em sistemas não automatizados, observa-se dados
contidos em documentos (pastas, fichas, documentos
fiscais, etc.).
Em sistemas já existentes, obtém-se os dados a partir
das descrições dos arquivos utilizados pelo sistema.
Este processo chama-se Engenharia Reversa.
A construção de um modelo partindo das descrições
de dados já existentes dá-se de acordo com a
estratégia bottom-up.
Estratégias de Modelagem
Partindo do conhecimento de pessoas
Este é o caso quando não existe descrições de
dados.
Para este caso pode ser aplicados duas
estratégias: top-down e inside-out.
Download

Um Modelo de Aplicação Distribuída baseada em