Banco de Dados Parte 2 Profa. Ana Karina Barbosa fevereiro/2008.

Post on 07-Apr-2016

214 views 0 download

Transcript of Banco de Dados Parte 2 Profa. Ana Karina Barbosa fevereiro/2008.

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.