banco de dados parte 2 profa. ana karina barbosa fevereiro/2008
TRANSCRIPT
Banco de DadosParte 2
Profa. Ana Karina Barbosa
fevereiro/2008
Modelagem Conceitual - O Modelo E-RRegistro da realidade é feito através da criação de um modeloO 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-RelacionamentoEntidade: conceito fundamental
Conjunto de objetos da realidade modelada sobre as quais deseja-se manter informações no Banco de DadosEm 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-RelacionamentoAtributo 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
FUNCIONÁRIOmatricula
nomedata admissão
O Modelo Entidade-RelacionamentoCaso 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-RelacionamentoIdentificadores 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:
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”.FUNCIONÁRIO
matrícula
nomedata admissão
O Modelo Entidade-RelacionamentoAtributos 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:
ALUNO
nome
(0,1)e-mail
O Modelo Entidade-RelacionamentoAtributos multivalorados
Quando um único atributo possui mais de um valor para a mesma entidade. Ex: telefonesRepresentação Gráfica:
Atributos nulo e multivalorados
FUNCIONÁRIO telefones (1,N)
FUNCIONÁRIO dependentes (0,N)
O Modelo Entidade-RelacionamentoRelacionamento
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 inter-relações.
O Modelo Entidade-RelacionamentoRelacionamento
Em um diagrama E-R, um relacionamento é representado através de um losango, ligado por linhas às entidades que participam do relacionamento.Ex:
FUNCIONÁRIODEPARTAMENTO Lotação
O Modelo Entidade-RelacionamentoRelacionamento
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-RelacionamentoCardinalidade/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-RelacionamentoCardinalidade/Grau de Relacionamento
Relacionamento Um-para-Um (1:1): cada elemento de uma entidade relaciona-se com um e somente um elemento de outra entidade
PRONTUÁRIOPACIENTE Tem1 1
O Modelo Entidade-RelacionamentoCardinalidade/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.
ENGENHEIRODEPARTAMENTO Lotação1 N
O Modelo Entidade-RelacionamentoCardinalidade/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.
DISCIPLINAALUNO CursaN N
O Modelo Entidade-RelacionamentoCardinalidade/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”.
FUNDO APLICAÇÂOCORRENTISTA Tem1 0:N
O Modelo Entidade-RelacionamentoModelagem 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 PROJETOALOCADON 1
FUNCIONÁRIO PROJETOALOCADON N
O Modelo Entidade-RelacionamentoComo 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-RelacionamentoDiagrama E-R gerado:
DEPARTAMENTO FUNCIONÁRIOALOCA
ESCRITÓRIO
TEM
1
1
N
N
O Modelo Entidade-RelacionamentoEXERCÍCIO 1
Utilizar o modelo Entidade-Relacionamento para modelar um banco de dados de suporte a uma rede hospitalar.
O Modelo Entidade-RelacionamentoImportante
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-RelacionamentoAtributo de Relacionamento
É utilizado na caracterização de relacionamentos.
PROJETOENGENHEIRO trabalhaN N
Função
LOJA vende PRODUTO
Tipo Qtd. parcelas
N1
(0,1)
O Modelo Entidade-RelacionamentoTipos de relacionamento
Dois ou mais relacionamentos entre duas mesmas entidades.
PROJETOENGENHEIROtrabalhaN N
coordena1 1
O Modelo Entidade-RelacionamentoTipos de relacionamento
Auto-relacionamento: um relacionamento entre ocorrências de uma mesma entidade. Papéis devem ser definidos.
EMPREGADO supervisão
supervisor
supervisionado
1
N
O Modelo Entidade-RelacionamentoTipos 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.
EMPREGADO DEPENDENTEtem1 N
código
nome
NumeroSeqüência
nome
O Modelo Entidade-RelacionamentoExercício 2
Utilizar o modelo Entidade-Relacionamento para modelar um banco de dados de suporte a uma Biblioteca Escolar.
O Modelo Entidade-RelacionamentoTipos 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-RelacionamentoTipos de relacionamento - Rel.Ternário
• 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.
CIDADE
DISTRIBUIDOR PRODUTO
distribuição
1
N
N
O Modelo Entidade-RelacionamentoDe 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
AGÊNCIA CONTA CORRENTE
tem
1
N
N
O Modelo Entidade-RelacionamentoDe um relacionamento ternário para dois binários
CLIENTE
AGÊNCIACONTA CORRENTE
tem
1N
N
pertenceN
O Modelo Entidade-RelacionamentoGeneralizaçã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-RelacionamentoGeneralização/Especialização
Visão Top-DownVisão Bottom-UpPode haver vários níveis hierárquicos de generalização/especialização
CLIENTE
PESSOAFÍSICA
PESSOAJURÍDICA
código nome
CPF CGCsexo
Tipo organização
O Modelo Entidade-RelacionamentoGeneralizaçã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-RelacionamentoAgregação ou Entidade Associativa
Este conceito é utilizado em algumas situações onde existe a necessidade de associar uma entidade a um relacionamentoEx:
• Como associar uma nova entidade MEDICAMENTO ao relacionamento CONSULTA?
MEDICOPACIENTE consultaN N
O Modelo Entidade-RelacionamentoAgregação ou Entidade Associativa
MEDICOPACIENTE consultaN N
prescrição
MEDICAMENTO
N
N
O Modelo Entidade-RelacionamentoExercício 3
Utilizar o modelo Entidade-Relacionamento para modelar um banco de dados de suporte a uma empresa de engenharia.
O Modelo Entidade-RelacionamentoExercício 4
Utilizar o modelo Entidade-Relacionamento para modelar um banco de dados de suporte a realização de Congressos Científicos.
Identificando construçõesEntidade versus Atributo: quando modelar um objeto como Entidade ou Atributo?
Depende da visão que o analista tiver daquele objeto.EX:
CLIENTE
código
nome
endereço
CLIENTE
ENDEREÇO
código
nome
Tem1
1Codigo
Rua
Bairro
Identificando construçõesEntidade 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.
AUTOMÓVEL
Num. do chassi
cor
AUTOMÓVEL
COR
Tem
FORNECEDORTem1
N
NN
Num. do chassi
nome
tipo
Identificando construçõesAtributo versus generalização/especialização
Uma especialização deve ser usada quando sabe-se que as classes especializadas possuem propriedades particulares.
EMPREGADO
código
nome
CategoriaFuncional
EMPREGADO
código nome
MOTORISTA ENGENHEIRO
Num. Carteirahabilitação CREA
t
Verificação do ModeloModelo 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 ModeloModelo 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
DEPARTAMENTO
lotação
1
N
EMPREGADO
DEPARTAMENTO
lotação
N
N
data
Verificação do ModeloConsultas 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 ModeloPlanejar 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ísticasEm alguns casos, informações antigas são necessárias apenas para tomada de decisão. Muitas vezes deseja-se apenas dados resultante de cálculos ou estatísticas.Pode ser conveniente manter no BD apenas as informações compiladas.
Uso de ferramentas de modelagemA 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 ModelagemO 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 ModelagemPartindo 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 ModelagemPartindo 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.