Você está na página 1de 21

Tabelas de Factos

sem Factos

Sistemas de Apoio à Decisão


Tabelas de Factos sem Factos
• Sumário
• Introdução
• Tabelas de Registo de Eventos
• Tabelas de Cobertura

Sistemas de Apoio à Decisão 2


Introdução
• Tabelas de Factos com Factos
• Até agora, as tabelas de factos eram
constituídas por chaves estrangeiras e
por factos ou medidas numéricas
• Os factos podem ser vistos como o
resultado da intersecção das chaves
• Os factos são a justificação para a
existência da tabela de factos
• As chaves são apenas uma estrutura
administrativa para identificar os factos

Sistemas de Apoio à Decisão 3


Introdução
• Tabelas de Factos sem Factos
• Existem alguns processos de negócio,
suscetíveis de serem modelados, para os
quais não existem factos associados
• Nestas situações utilizam-se tabelas de
factos sem factos
• Duas variações deste tipo de tabelas
• Tabelas de registo de eventos
• Tabelas de cobertura

Sistemas de Apoio à Decisão 4


Tabelas de Factos sem Factos
• Sumário
• Introdução
• Tabelas de Registo de Eventos
• Tabelas de Cobertura

Sistemas de Apoio à Decisão 5


Tabelas de Registo de Eventos
• Conceito
• Existem muitas situações em que é
necessário registar um grande conjunto
de eventos que envolvem algumas
entidades (dimensões)
• Exemplos
• Registo da presença de estudantes nas
aulas
• Registo de procedimentos sobre pacientes
num hospital
• …
Sistemas de Apoio à Decisão 6
Tabelas de Registo de Eventos
• Presença de Estudantes nas Aulas
• Cada registo representa a presença de
um estudante numa aula

Tempo Presenças
chave_tempo
Docente
chave_disciplina
Unidade Curricular chave_docente
chave_estudante
chave_sala
Estudante Sala

Sistemas de Apoio à Decisão 7


Tabelas de Registo de Eventos
• Presença de Estudantes nas Aulas
• Exemplos de consultas
• Quais as UCs mais frequentadas?
• Que UCs sofreram maior decréscimo de
presenças ao longo do tempo?
• Que salas tiveram uma maior taxa de
ocupação?
• Que salas foram mais utilizadas por
estudantes de outros departamentos?
• Qual a taxa de ocupação média das salas
em cada um dos períodos do dia?

Sistemas de Apoio à Decisão 8


Tabelas de Registo de Eventos
• Presença de Estudantes nas Aulas
• Nestas situações as consultas são
sobretudo de contagem
• Número de presenças por docente
Select Docente, Count(chave_tempo)
...
Group By Docente
• Número de dias de aulas dadas por docente
Select Docente, Count(Distinct chave_tempo)
...
Group by Docente

Sistemas de Apoio à Decisão 9


Tabelas de Registo de Eventos
• Presença de Estudantes nas Aulas
• Por vezes, acrescenta-se um facto
artificial (e. g., presença), cujo valor é
sempre 1, de modo a tornar as consultas
mais elegantes

Tempo Presenças
chave_tempo
Docente
chave_disciplina
Unidade Curricular chave_docente
chave_estudante
chave_sala
Estudante Sala
presença ( = 1)

Sistemas de Apoio à Decisão 10


Tabelas de Registo de Eventos
• Presença de Estudantes nas Aulas
• Número de presenças por docente

Select Docente,
Sum(presença)
...
Group By Docente

Sistemas de Apoio à Decisão 11


Tabelas de Registo de Eventos
• Procedimentos sobre Pacientes
• Se for necessário, podem adicionar-se
factos à tabela de factos, desde que a
sua granularidade seja compatível com a
granularidade da tabela de factos
Tempo Procedimentos
chave_tempo
Paciente
chave_hospital
Hospital
chave_paciente
chave_médico
Assistente
Médico chave_assistente
chave_diagnóstico
chave_procedimento
Diagnóstico Procedimento

Sistemas de Apoio à Decisão 12


Tabelas de Factos sem Factos
• Sumário
• Introdução
• Tabelas de Registo de Eventos
• Tabelas de Cobertura

Sistemas de Apoio à Decisão 13


Tabelas de Cobertura
• Conceito
• As tabelas de factos sem factos podem
também ser utilizadas para ajudar a
perceber que eventos não ocorreram
• Questão: no modelo das vendas de uma
cadeia de lojas, como se pode saber
quais os produtos em promoção que não
foram vendidos?

Sistemas de Apoio à Decisão 14


Tabelas de Cobertura
• Tentativa 1
• Colocar na dimensão Produto informação
sobre quais os produtos em promoção

Tempo Vendas
Produto
chave_tempo
chave_produto
chave_loja
chave_promoção
Loja
Promoção
...

Sistemas de Apoio à Decisão 15


Tabelas de Cobertura
• Tentativa 1
• Colocar na dimensão Produto informação
sobre quais os produtos em promoção

Os produtos não têm necessariamente


que estar em promoção em todas as lojas
ao mesmo tempo!!

Sistemas de Apoio à Decisão 16


Tabelas de Cobertura
• Produtos em Promoção
• Solução: Criar uma tabela de cobertura
que registe quais os produtos em
promoção, em cada loja, num
determinado dia
• Geralmente, as tabelas de cobertura não
têm factos ou medidas numéricas
associadas

Sistemas de Apoio à Decisão 17


Tabelas de Cobertura
• Produtos em Promoção
• Tabela de cobertura

Tempo Produtos em promoção


Produto
chave_tempo
chave_produto
chave_loja
chave_promoção
Loja
Promoção

Sistemas de Apoio à Decisão 18


Tabelas de Cobertura
• Produtos em Promoção
• A tabela de cobertura pode ser bastante
densa (muitos registos)
• Deve-se ter cuidado para que esta tabela
não se torne demasiado grande:
• Se as promoções tiverem uma duração
semanal a granularidade pode ser
semanal
• Os registos podem corresponder apenas
a produtos em promoção

Sistemas de Apoio à Decisão 19


Tabelas de Cobertura
• Produtos em Promoção
• Que produtos em promoção não foram
vendidos?
• Conjunto 1: a partir da tabela de factos de
vendas obtém-se o conjunto de produtos
em promoção que foram vendidos
• Conjunto 2: a partir da tabela de cobertura
obtém-se o conjunto de produtos em
promoção
• Resposta: Conjunto 2 – Conjunto 1

Sistemas de Apoio à Decisão 20


Tabelas de Factos sem Factos
• Referências
• The Data Warehouse Toolkit, R. Kimball,
John Wiley & Sons, 2013 (3ª edição)
• Capítulo 13

Sistemas de Apoio à Decisão 21

Você também pode gostar