banco de dados parte 2 profa. ana karina barbosa fevereiro/2008

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

Upload: luisa-da-silva

Post on 07-Apr-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

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

Banco de DadosParte 2

Profa. Ana Karina Barbosa

fevereiro/2008

Page 2: Banco de Dados Parte 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.

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

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

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

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

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

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.

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

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

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

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

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

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)

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

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.

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

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

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

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.

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

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.

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

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

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

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

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

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

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

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

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

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

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

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.

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

O Modelo Entidade-RelacionamentoDiagrama E-R gerado:

DEPARTAMENTO FUNCIONÁRIOALOCA

ESCRITÓRIO

TEM

1

1

N

N

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

O Modelo Entidade-RelacionamentoEXERCÍCIO 1

Utilizar o modelo Entidade-Relacionamento para modelar um banco de dados de suporte a uma rede hospitalar.

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

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.

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

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)

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

O Modelo Entidade-RelacionamentoTipos de relacionamento

Dois ou mais relacionamentos entre duas mesmas entidades.

PROJETOENGENHEIROtrabalhaN N

coordena1 1

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

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

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

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

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

O Modelo Entidade-RelacionamentoExercício 2

Utilizar o modelo Entidade-Relacionamento para modelar um banco de dados de suporte a uma Biblioteca Escolar.

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

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.

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

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

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

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

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

O Modelo Entidade-RelacionamentoDe um relacionamento ternário para dois binários

CLIENTE

AGÊNCIACONTA CORRENTE

tem

1N

N

pertenceN

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

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.

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

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

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

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

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

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

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

O Modelo Entidade-RelacionamentoAgregação ou Entidade Associativa

MEDICOPACIENTE consultaN N

prescrição

MEDICAMENTO

N

N

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

O Modelo Entidade-RelacionamentoExercício 3

Utilizar o modelo Entidade-Relacionamento para modelar um banco de dados de suporte a uma empresa de engenharia.

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

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.

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

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

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

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

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

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

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

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.

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

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

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.