fundamentos de banco de dados e modelagem de dados 2 - modelagem.pdf · visão materializada ......

78
Universidade Federal de Mato Grosso Instituto de Computação Pós Graduação Lato Sensu em Banco de Dados Fundamentos de Banco de Dados e Modelagem de Dados Prof. Dr. Josiel Maimone de Figueiredo [email protected] Abril - 2015

Upload: hathien

Post on 19-May-2018

222 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Universidade Federal de Mato GrossoInstituto de ComputaçãoPós Graduação Lato Sensu em Banco de Dados

Fundamentos de Banco de Dadose

Modelagem de Dados

Prof. Dr. Josiel Maimone de [email protected]

Abril - 2015

Page 2: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Pós Graduação Lato Sensu em Banco de DadosDisciplina: Fundamentos de Banco de Dados e

Modelagem de Dados

Aula 2 Modelagem de Dados

Abril – 2015

Page 3: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Tópicos

➔ Conceitos básicos➔ O que é Modelagem de Dados?

➔ Modelo Entidade Relacionamento➔ MER-Estendido➔ Exemplos➔ Exercícios

Page 4: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelagem ➔ Um modelo

➔ representação idealizada de um sistema a ser construído;

➔ simplificação da realidade que ajuda a entender um problema complexo;

➔ consiste ➔ de notações gráficas e textuais que representam

as partes essenciais de um sistema➔ considera diversas perspectivas diferentes e

complementares.➔ está inserida em diversos artefatos do

desenvolvimento de software

Page 5: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Artefatos

➔ IC - UFMT

[Amber2001]

Page 6: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

6

Engenharia de Software na prática

Page 7: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelagem ➔ No contexto de Banco de Dados uma

modelagem é a representação dos dados que serão armazenados.

➔ não envolve a manipulação➔ não envolve o processamento➔ não envolve a forma de visualização

Page 8: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

O que é Modelagem➔ Arquitetura de Banco de Dados

SGBD

Conexão

Aplicação

Visão

Várias visões

Page 9: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

O que é Modelagem➔ Arquitetura de Banco de Dados

SGBD

Conexão

Aplicação

Visão

Conceitual

Física

Lógica

Page 10: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

O que é Modelagem➔ Arquitetura de Banco de Dados

SGBD

Conexão

Aplicação

Visão

Conceitual

Física

Lógica● Próxima do Usuário Final● Longe de Tecnologia● Representação por Diagramas

Page 11: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

O que é Modelagem➔ Arquitetura de Banco de Dados

SGBD

Conexão

Aplicação

Visão

Conceitual

Física

Lógica

● Próxima da Programação● Depende da Tecnologia● Representação por Modelo do SGBD

● relações (tabelas)● cursores

Page 12: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

O que é Modelagem➔ Arquitetura de Banco de Dados

SGBD

Conexão

Aplicação

Visão

Conceitual

Física

Lógica

● Próxima do DBA● Próxima do Armazenamento● Representação por estrutura de dados

● listas, ● registros, ● blocos, ● setores, ● trilhas

Page 13: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

O que é Modelagem➔ Arquitetura de Banco de Dados

SGBD

Conexão

Aplicação

Visão

Conceitual

Física

Lógica

Page 14: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelagem Física➔ O Projeto Físico envolve

➔ definir os locais de armazenamento dos dados

➔ Disk array➔ RAID

➔ Tamanho e organização de arquivos➔ Tablespaces➔ Segmentos➔ Extensões➔ Blocos

➔ Arquivos de recuperação (redo log)➔ Organização e local

Page 15: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelagem Física➔ O Projeto Físico envolve (cont.)

➔ Métodos de Acesso➔ B-Tree➔ Bitmap➔ Hash

➔ Organização de Armazenamento➔ Visão➔ Visão Materializada➔ Cluster

Page 16: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelagem Física➔ O Projeto Físico envolve (cont.)

➔ Tamanho de memória➔ SGA➔ Cache/Buffer➔ Área de Programa➔ Área de dados➔ Pool compartilhado➔ ...

Page 17: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelagem Física➔ O Projeto Físico envolve (cont.)

➔ Métodos de Acesso➔ B-Tree➔ Bitmap➔ Hash➔ GIST (PostgreSQL)➔ Cartuchos (Oracle)

➔ Organização de Armazenamento➔ Cluster

➔ Backup

Page 18: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelagem Lógica➔ O Projeto Lógico envolve

➔ Definição de tabelas➔ Inserção dos dados (previsão)➔ Definição das Consultas e Relatórios

➔ Quais➔ Quantidade e freqüência (previsão)

➔ Procedimentos Armazenados➔ Tipos de Conexão➔ Direitos de Acesso

➔ Direitos e Papéis

Page 19: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelagem Conceitual➔ O Projeto Conceitual

➔ ????????

Page 20: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

20

Modelagem Conceitual

➔ Normalmente parte-se de um documento que descreve o mundo real

➔ Levantamento de requisitos➔ Metáforas

➔ remetem a experiências já conhecidas pelos usuários

➔ Metodologias como Extremme Programming colocam a metáfora como obrigatória.

➔ Priorizado o que tem valor para o cliente e para o negócio

Page 21: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

21

Levantamento de Requisitos➔ Descrição detalhada da organização e

seu ambiente computacional➔ Questões organizacionais

➔ objetivos➔ estrutura➔ operações➔ problemas

➔ Ambiente/sistema Computacional➔ objetivos➔ escopo e fronteiras➔ origem das informações e usuários➔ necessidades do usuário final

Page 22: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

22

Modelagem Conceitual

➔ Modelos Conceituais ou Semânticos➔ Modelo Entidade-Relacionamento➔ Modelos semânticos recaem sobre o conceito

de Abstrações: os construtores Semânticos do modelo são organizados como ocorrências de abstrações.

➔ Abstrair consiste em desconsiderar detalhes da informação disponível para ter-se uma visão mais geral (mais abstrata).

Page 23: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

23

Modelagem Conceitual

➔ A conceituação do modelo apoia-se no processo de modelagem tal como é desenvolvido pelos analistas

OS TRÊS REINOS

ReinoReal

Reino da Representação

Reino Imaginário

Percepção

Modelagem Implementação

Page 24: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

24

Modelagem Conceitual

➔ No processo de Percepção da aplicação, o projetista não entende determinados detalhes do mundo real. Esses detalhes não são sequer imaginados.

ReinoReal

Reino da Representação

Reino Imaginário

Percepção

Modelagem Implementação

Page 25: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

25

Modelagem Conceitual

➔ No processo de Modelagem da aplicação, o projetista desconsidera outros detalhes do mundo real, por não ser de interesse modelá-los.

ReinoReal

Reino da Representação

Reino Imaginário

Percepção

Modelagem Implementação

Page 26: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

26

Modelagem Conceitual

➔ Tanto na Percepção quanto na modelagem, os detalhes descartados não são colocados no sistema implementado.

➔ A Abstração coloca os detalhes, bem como os dados abstratos no sistema implementado. Assim, o sistema pode “ver” os dados com mais ou menos detalhe, conforme o interesse.

ReinoReal

Reino da Representação

Reino Imaginário

Percepção

Modelagem Implementação

Page 27: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

27

Modelagem Conceitual

➔ A conceituação do modelo apoia-se no processo de modelagem tal como é desenvolvido pelos analistas

➔ OS TRÊS REINOS

ReinoReal

Reino da Representação

Reino Imaginário

Percepção

Modelagem Implementação

Modela-se o que é percebido (entendido).

Do entendido: Modela-se (ou representa-se) somente aquilo

que é de interesse para o sistema que

está sendo estudado.

Page 28: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelagem de Dados

➔ Modelo Entidade Relacionamento

➔ Proposto em 1976

P. Chen, ''The Entity-Relationship Model - Toward a Unified View of Data,'' ACM Trans. on Database Systems, Vol. 1, No. 1, March 1976.

Page 29: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelagem de Dados

➔ O Modelo Entidade Relacionamento possui apenas 2 abstrações (construtores semânticos).

➔ Qualquer informação do Mundo Real pode ser representada escolhendo-se apenas entre:

➔ Entidades;

➔ Relacionamentos;

Page 30: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER

➔ Entidades

➔ Representa algo do Mundo Real;➔ Alguns autores denominam

➔ entidade e➔ conjunto de entidades

➔ Usaremos a denominação➔ instância de entidade e ➔ entidade

Page 31: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER

➔ Entidades

➔ Composta de Atributos➔ Representam as propriedades da Entidade quando

isolada.➔ Representação:

NomeEntidade

atributo1

atributo2atributo2

atributo5

atributo3

atributo6

atributo4

Page 32: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER - Entidade

➔ Exemplo:

Paciente

cpf

atributo2telefone

rua

idade

bairro

endereço

dataNascimento

nome

cidadeestado

Page 33: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER - Entidade

➔ Tipos de Atributos

➔ Monovalorado➔ armazena apenas 1 valor.

➔ Multivalorado➔ armazena vários valores.

➔ Ex:

Pacienteatributo2telefone

nome

Page 34: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER - Entidade

➔ Tipos de Atributos

➔ Chave➔ Identifica uma instância da entidade.

➔ Ex:

Paciente cpf

Page 35: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER - Entidade

➔ Tipos de Atributos (cont.)

➔ Composto➔ possui subatributos

➔ Ex:

Paciente

rua

bairro

endereço

cidade

estado

Page 36: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER - Entidade

➔ Tipos de Atributos (cont.)

➔ Derivado➔ Seu valor é obtido a partir de outro(s) atributo

➔ Ex:

Pacienteidade

dataNascimento

Page 37: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER

➔ Relacionamentos

➔ Representam as interações entre as Entidades➔ Representação:

NomeEntidade2NomeEntidade1 Ação

Page 38: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER - Relacionamento

➔ Exemplo

MédicoPaciente possui

Page 39: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER - Relacionamento

➔ Cardinalidade

➔ Representa a forma como cada instância da entidade participa no relacionamento.

➔ Tipos:➔ 1:1 – cada instância da entidade pode se relacionar

com apenas um instância da outra entidade.➔ 1:N – cada instância da entidade pode se relacionar

com várias instâncias da outra entidade.➔ N:M – cada instância da entidade pode se relacionar

com várias instâncias da outra entidade e vice-versa.

Page 40: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER - Relacionamento

➔ Cardinalidade

➔ Representação:

NomeEntidade2NomeEntidade1 AçãoN1

NomeEntidade2NomeEntidade1 AçãoMN

NomeEntidade2NomeEntidade1 Ação

Page 41: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER - Relacionamento

➔ Multiplicidade

➔ Representa a forma como cada instância da entidade participa no relacionamento.

➔ Expressa a participação mínima e máxima➔ Tipos:

➔ n..m – n é o valor mínimo e m o máximo;➔ * – zero ou mais;➔ + – um ou mais

➔ Obs: seu posicionamento é o inverso da cardinalidade.

Page 42: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER - Relacionamento

➔ Multiplicidade

➔ Representação:

NomeEntidade2NomeEntidade1 Ação*

NomeEntidade2NomeEntidade1 Ação(1..5)

Page 43: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER - Relacionamento

➔ Atributo

➔ Representa a informação que surge somente quando as entidades se relacionam.

➔ Representação:

NomeEntidade2NomeEntidade1 Ação*

atributo

Page 44: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER - Relacionamento

➔ Atributo

➔ Exemplo

DisciplinaAluno CursouMN

nota

Page 45: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER - Relacionamento

➔ Participação Total

➔ Representa que a instância da entidade é obrigada a participar no relacionamento.

➔ Exemplo:➔ Toda peça cadastrada deve estar relacionada com o

motor.

PeçaMotor possui

Page 46: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER - Relacionamento

➔ Cardinalidade

➔ Representação:

NomeEntidade2NomeEntidade1 Ação*

NomeEntidade2NomeEntidade1 Ação(1..5)

Page 47: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER - Relacionamento

➔ Grau de um Conjunto Relacionamento➔ número de entidades que participam no

relacionamento.➔ Tipos

➔ Unário – envolve 1 entidade (autorrelacionamento)

➔ Binário – envolve 2 entidades➔ Ternário – 3 entidades➔ . . .

Page 48: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER - Relacionamento

➔ Relacionamento Ternário

FuncionárioCliente compra

Produto

Page 49: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER - Relacionamento

➔ Papéis

➔ Representa o papel da entidade no relacionamento.

➔ Obrigatórios em autorrelacionamentos➔ Exemplo:

Empregado gerencia

é_gerenciado

gerencia

Page 50: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER - Relacionamento

➔ Entidade Fraca

➔ Sua instância existe somente se ligada à uma instância da entidade forte.

➔ Exemplo:➔ Turma só existe se ligado à uma disciplina.

TurmaDisciplina possui Turmapossui

Page 51: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

51

Exercício

➔ Apresentar o Diagrama Entidade Relacionamento (DER) da seguinte mini-especificação(10 minutos):

”Uma clínica médica deseja informatizar seu sistema. Para isso sabe-se que é preciso armazenar informações dos pacientes e médicos. Cada paciente é atendido por apenas um médico. Em cada atendimento é preciso armazenar a data e hora, bem como um diagnóstico e a descrição do atendimento. É necessário armazenar os dados pessoais dos médicos e dos pacientes. Para os médicos é preciso incluir as especialidades que possuem.Deseja-se obter relatórios mensais envolvendo os pacientes que desenvolveram determinada doença e o remédio utilizado.”

Page 52: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelagem de Dados

➔ Modelagem Conceitual:

O que são entidades na organização?

Como essas entidades interagem?

Quais informações são importantes para tratamento?

Quais são as restrições de integridade e as regras de negócio?

Page 53: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER

➔ Dicas➔ entidade ou atributo?

➔ Se controle maior então deve ser entidade

➔ entidade ou relacionamento?

➔ Se é ação então é relacionamento

➔ relacionamento binário ou n-ário?

➔ Usar sempre que possível relacionamento binários.

Page 54: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

E-R Estendido: Especialização

➔ Proposto inicialmente por: J. Smith and D. Smith, ''Database Abstractions: Aggregation and Generalization,'' ACM Trans. on Database Systems, Vol. 2, No. 2, June 1977.

➔ Abstrações➔ Especialização / Generalização➔ Agregação

Page 55: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

E-R Estendido: Especialização

➔ Especialização/Generalização➔ Especialização

➔ instâncias de uma mesma entidade são distingüiveis de outras instâncias do conjunto.

➔ têm atributos ou relacionamentos que não se aplicam ao conjunto todo.

➔ Generalização é o inverso.➔ É estabelecido um relacionamento do tipo É_UM (IS_A)

entre as especializações e a generalização.➔ Herança de propriedades

➔ uma especialização herda todas as propriedades➔ atributos e ➔ relacionamentos

Page 56: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

E-R Estendido: Especialização

FuncionárioCliente

Pessoa

➔ ExemploE

speci alizaç ão

Gen

eral

izaç

ão

É_U

M

Page 57: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

E-R Estendido: Especialização

➔ Especialização/Generalização➔ Cobertura

➔ restrições sobre o relacionamento➔ Tipos:

➔ Parcial / Total➔ Indica se existe instância da generalização ou

somente das especializações.➔ Exclusivo / Sobreposição

➔ Indica se a instância da especialização pertence ao conjunto de somente uma entidade ou de várias entidades

Page 58: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

E-R Estendido: Especialização

T, E

FuncionárioCliente

Pessoa

➔ Exemplo

cpf

nome

salário

depto

preferência

endereço

Page 59: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

E-R Estendido: Especialização

T, E

FuncionárioCliente

Pessoa

➔ Exemplo

cpf

nome

salário

depto

preferência

endereço

Atributos genéricos

Atributos específicos

Atributos específicos

Page 60: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Exemplo de especialização

Page 61: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

E-R Estendido

➔ Abstração de Agregação➔ corresponde à idéia de que elementos de modelagem

podem associar-se, formando outros objetos que representam essa ssociação.

➔ A Abstração de Agregação corresponde à idéia de que associações entre entidades também correspondem a entidades.

MédicoPaciente atende

Consulta

data

Page 62: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

E-R Estendido: Agregação

➔ Abstração de Agregação➔ Uma agregação ocorre em duas situações:

➔ Quando é necessário identificar-se cada relacionamento (o relacionamento tem chave);

➔ Quando é necessário mais de um relacionamento envolvendo as mesmas entidades.

Page 63: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

E-R Estendido: Agregação

➔ Abstração de Agregação➔ 1o. Caso: O relacionamento tem um identificador

próprio:➔ Nesse caso, embora seja possível identificar a

entidade agregação por um identificador próprio, ela também pode ser identificada também pelo relacionamento entre as entidades que participam do relacionamento:

AlunoProfessor orienta

título

Page 64: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

E-R Estendido: Agregação

➔ Abstração de Agregação➔ 1º. Caso: O relacionamento tem um identificador

próprio:➔ Nesse caso, embora seja possível identificar a

entidade agregação por um identificador próprio, ela também pode ser identificada também pelo relacionamento entre as entidades que participam do relacionamento:

AlunoProfessor orienta

título

Projeto

Page 65: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

E-R Estendido: Agregação

➔ Abstração de Agregação➔ 2º. Caso: Pode haver mais de um relacionamento

envolvendo as mesmas entidades:➔ Nesse caso, para identificar a entidade agragação,

deve-se identificar as entidades que participam do relacionamento, além de ser necessário complementar esse identificador com atributos próprios da entidade agregação.

MédicoPaciente atende

data

Paciente não pode ser atendido mais

de uma vez!

Page 66: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

E-R Estendido: Agregação

➔ Abstração de Agregação➔ 2º. Caso: Pode haver mais de um relacionamento

envolvendo as mesmas entidades:➔ Nesse caso, para identificar a entidade agragação,

deve-se identificar as entidades que participam do relacionamento, além de ser necessário complementar esse identificador com atributos próprios da entidade agregação.

MédicoPaciente atende

data

Consulta

Page 67: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER

➔ Exercício 2➔ Descreva a situação representada pelo DER abaixo:

Planta

Ornamental Frutífera

nome

altura

tipo_ambiente

flor

nome

peso

AduborecebeN M

quantidade

Adubagem

data

Funcionário

faz

N

1

código

nome

data_admissão

cargo

possui1 1

nome

composição

Fruta

época

tempo_maturação

P, S

Page 68: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Modelo ER

➔ Exercício 3“Um vendedor de frutas decidiu criar um sistema que manipule as informações relacionadas com seu negócio. As informações desejadas para armazenamento estão relacionadas com as frutas e verduras disponibilizadas aos clientes. Para cada fruta deseja-se armazenar seu nome, peso, época de venda, calorias, custo e preço. Para as verduras deseja-se saber seu nome, durabilidade, validade, preço, peso. Sabe-se que os tipos de fruta são: bocaiúva, jambo e carambola. As bocaiúvas são vendidas em sacos, cujo valor é adicionado ao custo dessa fruta. Para melhor atender os clientes, um cadastro é mantido com os dados pessoais (nome, endereço, telefone, etc) e as frutas preferidas. Além disso, deseja-se saber de cada cliente quais são os membros de sua família para identificar qual fruta da época é mais adequada para ser oferecida. Deseja-se gerar no final de cada mês um relatório de vendas. Outro relatório importante é o de frutas da época para saber no mês anterior quais frutas serão encomendadas e vendidas no mês seguinte.”

Page 69: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Algoritmo básico para Modelagem

➔ Partindo de um texto que descreve/especifica um sistema, devem ser utilizados os seguintes passos como um guia para determinar qual deve ser a ação mais significativa a ser tomada num determinado instante, para obter uma modelagem que represente o mais fielmente possível o sistema especificado.

Page 70: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Algoritmo básico para Modelagem (15 Passos)

1.Grifar palavras importantes para a compreensão do sistema;

2.Separar as palavras grifadas em duas colunas, uma para substantivos, e uma para verbos;

3.Classificar, “a princípio”,

➔ os substantivos como sendo:➔ Conjunto de entidades, Atributos, Papéis,

Valores de Atributos, Definições da Base;➔ E os verbos como sendo:

➔ Relacionamentos, Ações (Procedimentos), Regras

Page 71: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Algoritmo básico para Modelagem (15 Passos)

4.Vincular uma chave para cada Conjunto de Entidade;

a)Avaliar cada atributo, verificando se ele poderia ser chave de alguma entidade.

5.Vincular cada Conjunto de Entidades os seus atributos;

6.Vincular a cada Atributo seus valores:

a)Verificar se cada Atributo não pode ser promovido a Conjunto de Entidade;

b)Verificar se cada Conjunto de Entidades não pode ser rebaixado para Atributo ou Valor;

Repetir os passos de 4 a 6 até estabilizar

Page 72: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Algoritmo básico para Modelagem (15 Passos)

7.Vincular cada conjunto de Relacionamentos as entidades que assumem cada papel do relacionamento;

8.Colocar os papéis nos respectivos Conjuntos de Relacionamentos;

a)Veririficar os papéis que não existam em nenhum conjunto de relacionamento, e criar o conjunto de relacionamento adequado;

b)Verificar as palavras marcadas como conjuntos de relacionamentos que são apenas papéis de outros conjuntos de relacionamentos;

9.Vincular a cada conjunto de relacionamento os seus atributos.

Page 73: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Algoritmo básico para Modelagem (15 Passos)

10. Redistirbuir os atributos restantes entre os conjunto e entidades e de relacionamentos ou papéis;

Repetir os passos 3 a 10 até estabilizar

11. Verificar as ações e Regras. Se elas sempre se refererem a dados que já estão modelados, desconsiderá-las; senão identificar quais são esses dados e repetir os passos 2 a 11;

Page 74: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Algoritmo básico para Modelagem (15 Passos)

12.As definições da base são descartadas;

a)Verificar se existem conjuntos de entidades que têm apenas uma instância. Se houver, verificar se todos os seus relacionamentos são de cardinalidades 1:1 ou 1:N. Nesse caso, descartar cada conjunto de entidade nessa situação e seus conjuntos de Relacionamentos.

13.Verificar cada conjunto de relacionamento para confirmar que apenas os papéis indicados são necessários, senão criar os que faltam e vincular os conjuntos de entidades adequados.

Page 75: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Algoritmo básico para Modelagem (15 Passos)

14.Verificar se cada conjunto de relacionamentos de ordem N > 2 não pode ser “desmembrado” em 2 ou mais conjuntos de Relacionamentos de ordem menor.

15.Verificar todos os Conjuntos de Entidades que são fracos para algum conjunto de Relacionamentos.

Page 76: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

76

Modelagem Conceitual

➔ Modelagem de Regras de Negócio e Restrições

➔ O MER facilita representação dos dados contudo não aborda a manipulação desses dados

➔ Regras de negócio devem ser colocadas no Dicionário de Dados

➔ Arquitetura N-camadas as regras de negócio devem ser distribuídas nas diversas camadas.

Page 77: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Dever de Casa

➔ Trazer DER do Projeto com no mínimo ➔ 10 Entidades.➔ 2 Especializações➔ 1 Agregação

➔ Fazer representação equivalente em UML.

Page 78: Fundamentos de Banco de Dados e Modelagem de Dados 2 - Modelagem.pdf · Visão Materializada ... (Oracle) Organização de ... Modelos semânticos recaem sobre o conceito de Abstrações:

Referências➔ Rob; Coronel; Database Systems: Design, Implementation, and Management, Fifth Edition.

➔ Database Architecture and Implementation www.cs.ust.hk/~dimitris/COMP530/530.html

➔ Silberschatz, A.; Korth, H.F.; Sudarshan,S.; ”Database System Concepts”; Fifth Edition; 2008.

➔ Traina, C. ; Apostila de Modelagem de Dados; ICMC-USP; www.gbdi.icmc.usp.br; 2000;