Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

Bases de Dados II

Exerccios de Reviso

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa
Exerccio 1

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa
Exerccio 1

Based on the following grocery store star schema


answer all questions below.
Notes:
A product can have different UnitPrice on different
days and in different stores
GrossSales = QuantitySold * UnitPrice
Example queries:
List quantity of sold products by day and by store
List unit price of products by product category and by
store name
List total sales in every store over every month, in the
ascending order of month

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 3
Original Model
DimDate
IDData
DataDescription
DayOfMonth DimStore
DayOfYear
StoreID
DayOfWeek StoreName
WeekOfMonth
City
MonthNumber State
QuarterNumber
YearNumber

FactSales
QuantitySold
UnitPrice
GrossSales

DimProduct
ProductID
ProductCode
ProductName
CategoryName

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 4
New Model
DimCategory
CategoryID
FactCategorySales CategoryName

DimDate QuantitySold
GrossSales
IDData
DataDescription
DayOfMonth
DayOfYear
DayOfWeek
WeekOfMonth
MonthNumber
QuarterNumber
YearNumber DimStore
StoreID
StoreName
FactSales City
State
QuantitySold
UnitPrice
GrossSales

DimProduct
ProductID
ProductCode
ProductName
CategoryName

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 5
Questions

1. The new model changes the initial scheme to


incorporate aggregations of metrics (quantity
sold and gross sales) by product category. Discuss
the trade-offs of fact aggregation introduced by
the new model

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 6
1

Trade-offs of aggregation are:


Pre-computed aggregated facts will increase query
performance
Additional space needed to hold aggregated tables.
Extra computation time for the derivation of aggregated
facts.

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 7
Questions

2. Given the following relation from an OLTP system


and an OLAP query for the target data
warehouse, please add the fact and dimension
table(s) required to the original schema.

INVENTORY( ProductID, StoreID, StockOnHand, StockOnOrder)


OLAP Query: List Stock on hand by store, product and day

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 8
2
FactCategorySales DimCategory
QuantitySold CategoryID
GrossSales CategoryName

DimDate
IDData
DataDescription
DimStore
DayOfMonth FactSales
DayOfYear StoreID
QuantitySold
DayOfWeek StoreName
UnitPrice
WeekOfMonth City
GrossSales
MonthNumber State
QuarterNumber
YearNumber

DimProduct
ProductID
ProductCode
ProductName
CategoryName

FactInventory
StockOnHand
StockOnOrder
Instituto Superior de Estatstica e Gesto de Informao
Universidade Nova de Lisboa 9
Questions

3. ABC Company has a legacy sales system with the


following ER model Customers
CustomerCode
CustomerName
City
State

Orders
OrderCode
OrderDate

Products OrderLine Payments


ProductCode OrderLineCode PaymentCode
ProductName Quantity PaymentType
Price

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 10
Questions

The company has developed a DW with star schema


listed below. From the DW, managers of ABC want to
know:
In any year, how much of sales ($) are paid by Check?
In any month, what is the total amount of sales ($) for
product A?
DIMCustomer
DIMProduct
IDCustomer FactSales
ProductID
CustomerCode ProductCode
ProductCode
CustomerName Quantity
ProductName
City Price
OrderDate
State

What are the errors in the DW design?

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 11
3

Error 1:
Non-fact attribute ProductCode (it is not a degenerate dimension)
in fact table FactSales
Delete attribute ProductCode from table FactSales
Error 2:
Time dimension OrderDate should be a table and not an attribute.
Create a date dimension table to replace attribute OrderDate in
table DIMProduct.
Error 3:
Missing DIMPayment dimension.
Add a DIMPayment dimension table.
Error 4:
Need an additive derived attribute to improve query performance.:
TotalSales (i.e., TotalSales = Quantity*Price)
Add that attribute in table FactSales.

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 12
Exerccio 2

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa
Exerccio 2

Fitness Club (FC) uma empresa de centros de Fitness com


um conjunto variado de programas e pacotes de opes. A FC
mantm uma base de dados operacional que regista as
vendas de servios e de merchandizing.
No ERD disponibilizado na pgina seguinte poder analisar o
modelo de dados da base de dados operacional sendo de
destacar as seguintes caractersticas:
Uma venda de merchandizing contm um cabealho (Vendas) com a
data de venda e vrias linhas de venda (LinhasVenda) com a
quantidade de cada artigo de merchandizing vendido
As compras de servios (e.g. aulas, aulas PT, utilizao de
equipamentos especiais, eventos sociais) so guardadas na tabela
ComprasServios com relaes M-1 com as tabelas
CategoriasServios e Membros.
O tipo de membro opcional para permitir que no membros
adquiram servios e merchandizing.

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 14
Modelo Conceptual

TiposMembros
CodTipoMembro Integer <M>
NomeTipoMembro Variable characters (50)
Mensalidade Money

Membros
Franchisados
CodMembro Integer <M> Vendas
CodFranchisado Integer <M>
NomeMembro Variable multibyte (50) CodVenda Integer <M>
Distrito Variable characters (50)
CodPostal Variable characters (8) DataVenda Date
CodPostal Variable characters (8)
EmailMembro Variable characters (30)
TipodeFranchisado Variable characters (30)
DataAdmisso Date

LinhasVenda
Quantidade Integer

ComprasServios
CodCompraServios Integer <M>
DataCompra Date

Merchandizing
CodMerchandizing Integer <M>
NomeMerchandizing Variable characters (50)
PreoMerchandizing Money
TipoMerchandizing Variable characters (30)
CategoriasServios
CodCategoriaServio Integer <M>
NomeCategoriaServio Variable characters (50)
PreoCategoriaServio Money

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 15
Exemplos

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 16
Os franchisados podem vender eventos especiais a
empresas. Como estes eventos no so standard entre
franchisados so utilizadas folhas de Excel para guardar
esta informao.

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 17
Estimativas para clculo de granularidade

Franchisados:
450; 200 CP distintos; 10 tipos
Merchandising:
500; 30 tipos
Servios:
20 Categorias
Membros:
50.000; 500 CP distintos
Vendas de Merchandising:
150.000 por ano; 450.000 linhas de venda por ano;
Vendas de Servios
100.000 por ano
Eventos Especiais:
300 registos por ano e por franchisado; 200 franchisados a realizarem
eventos.
N de Clientes (distintos) por folha de clculo: 150
Instituto Superior de Estatstica e Gesto de Informao
Universidade Nova de Lisboa 18
Necessidades de Negcio

Suporte de anlises de vendas de merchandising e de


servios por franchisado, merchandising ou tipo de
servio, por cliente, ao longo do tempo.
Para o merchandising a quantia calculada como
quantidade * preo. Para compras de servios cada
servio vendido guardado separadamente logo apenas
o preo do servio na altura da aquisio armazenado.
Para cada cliente as vendas devem ser analisadas por
cdigo postal, data de admisso e tipo de membro.
Para cada franchisado as vendas devem ser analisadas
por distrito, cdigo postal e tipo de franchisado

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 19
Necessidades de Negcio

pretendida uma elevada flexibilidade na anlise das


vendas. Devido necessidade de vir a fazer data mining
sobre esta informao necessrio garantir a anlise por
cliente individual, por produto (merchandising) ou
servio, por franchisado e por data.
As aplicaes de reporting j no so to exigentes em
termos de granularidade. Neste caso necessrio
efectuar anlises por cdigo postal do cliente e dos
franchisados, por tipo de produto/servio e por semana

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 20
Questes

1. Identifique as dimenses, fontes e hierarquias


2. Especifique as mtricas, fontes e aditividade
3. Estime a granularidade (F e S)
4. Desenhe o modelo final escolhendo o tipo de modelo
que mais se adequa a esta situao (star, snowflake ou
star constelation)
5. Identifique problemas com os dados nomeadamente
problemas de agregao da informao e indique como
os resolveria

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 21
Solues Exerccio 2

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa
1. Dimenses, fontes* e hierarquias
DIMClientes
CodCliente: CodMembro | CodClienteCorporate (Excel) ,
NomeCliente: NomeMembro | NomeCliente (Excel), Localizao (Excel),
CodPostal, TipoMembro, TipoCliente (Membro | Corporate)
Hierarquias: CodPostal Localizao (Distrito)
DIMFranchisados
CodFranchisado, Distrito, CodPostal, TipoFranchisado
Hierarquias: CodPostal Distrito
DIMProdutos
CodMerchandising, NomeMerchandising, TipoMerchandising
Hierarquias: NomeMerchandising TipoMerchandising
DIMData
DataVenda, DataEvento (Excel), DataCompra, DataAdmisso
Hierarquias: Ano Ms Dia
DIMServios
CodServio: CodCategoriaServios | CodTipoEvento (Excel),
NomeServio: NomeCategoriaServios | NomeEvento (Excel)

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa *Sempre que nada for dito a fonte o ERD 23
2. Mtricas, fontes* e aditividade
FACTVendas_M
Quantia = quantidade * preo merchandising (aditiva)
Preo Unitrio (no aditiva)
FACTVendas_S
Preo: PreoCategoriaServio | Custo (Excel) - (aditiva)

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa *Sempre que nada for dito a fonte o ERD 24
4. Modelo
DIMProdutos
IDProduto Serial <M>
CodMerchandizing Integer
NomeMerchandizing Variable characters (50)
TipoMerchandizing Variable characters (30)
FACTVendas_M
Quantidade Short integer
PreoUnitrio Money
Quantia Money
CodVenda Integer

DIMClientes
IDCliente Serial <M>
DIMFranchisados CodCliente Integer DIMData
IDFranchisado Serial <M> NomeCliente Variable characters (50)
CodFranchisado Integer IDData Integer <M>
CodPostal Variable characters (8)
Distrito Variable characters (40) Dia Short integer
DataAdmisso Date
CodPostal Variable characters (8) Mes Short integer
TipoMembro Variable characters (30)
TipoFranchisado Variable characters (30) Ano Short integer
TipoCliente Variable characters (30)
Data Date
Distrito Variable characters (40)

FACTVendas_S
Preo Money

DIMServios
IDServio Serial <M>
CodServio Integer
NomeServio Variable characters (50)
Instituto Superior de Estatstica e Gesto de Informao
Universidade Nova de Lisboa 25
3. Granularidade (maior nvel de detalhe)
FACT_Vendas_M:
Dimenses (D): 450 * 500 * 365 * (50.000 + 150*200)
Factos (F): 450.000
S = 1 F/D = %
FACT_Vendas_S:
Dimenses (D): 450 * 20 * 365 * (50.000 + 150*200)
Factos (F): 100.000 + 300*200
S = 1 F/D = %

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 26
4. Modelo com menor detalhe

DIMTipoProduto

FACTVendas_MR

DIMSemanas DIMCodPostais

FACTVendas_SR

DIMTipoServio

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 27
5. Problemas
Existem cdigos postais sem distritos Soluo: enriquecer o
modelo com a informao proveniente da tabela de cdigos
postais dos CTT
Existem distritos sem cdigos postais no possvel saber o
cdigo postal. Neste caso dever ser criado um CP dummy
(genrico)
Os eventos especiais no tm no excel indicao do
franchisado. Deve ser garantida esta associao atravs do
nome do ficheiro por exemplo
Deve tambm garantir-se durante o ETL a converso do campo
nomecliente e localidade em dois campos distintos.

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 28
Exerccio 3

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa
Exerccio 3

Considere o seguinte modelo conceptual de uma base de


dados operacional que serve de suporte a um sistema
online para financiamento de projetos. Construa um
modelo analtico com base neste modelo operacional. As
respostas s alneas apresentadas exame constituem a
base para a construo desse modelo analtico

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 30
Modelo Conceptual

Reembolsos
IDReembolso Serial
DataReembolso Date
QuantiaReembolso Money

Pedido de Financiamento
IDPedido Serial
Empreendedor DataPedido Date
QuantiaPedida Money
DataLimiteConcesso Date
Descrio Variable multibyte (500)
Estado Variable characters (20)
Utilizadores
IDUtilizador Serial
Username Variable characters (20)
Nome Variable characters (50)
Morada Variable characters (200)
Email Variable characters (50)
Pagamentos
IDPagamento Serial
DataPagamento Date
Compromisso QuantiaPaga Integer
Investidor
IDCompromisso Serial
DataCompromisso Date
QuantiaCompromisso Money

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 31
Descrio Funcional

O sistema utilizado por 2 tipos de intervenientes: empreendedores (promotores dos


projetos) e investidores (financiadores dos projetos). Os utilizadores podem assumir
papis diferentes em projetos diferentes mas s podem assumir um papel em cada
projeto.
Os investidores estabelecem compromissos de financiamento de determinadas quantias.
Se data limite de concesso do emprstimo, o somatrio dos compromissos no atingir
a quantia pedida, o pedido de financiamento dado como Caducado. Se, pelo
contrrio, o somatrio dos compromissos na data limite de concesso for maior ou igual
quantia pedida o pedido de financiamento dado como Concedido. Em qualquer altura
anterior data limite de concesso do pedido de financiamento, o empreendedor pode
desistir do projecto passando o pedido a estado de Cancelado.
Aps o financiamento concedido o empreendedor poder fazer vrios pagamentos
atravs do sistema. Cada pagamento distribudo automaticamente (reembolsos) pelos
investidores na mesma percentagem em que estes financiaram o projecto. Assim que o
valor total financiado (quantia pedida) for pago o pedido fica em estado de Pago.
Valores possveis do estado do pedido de financiamento:
Pedido estado inicial (cada empreendedor s pode fazer um pedido por dia)
Cancelado pedido cancelado pelo empreendedor
Caducado o somatrio de compromissos no atingiu a quantia pedida at data limite de concesso
Concedido o somatrio de compromissos atingiu ou ultrapassou a quantia pedida at data limite
de concesso
Pago o somatrio de pagamentos igual quantia emprestada

Instituto Superior de Estatstica e Gesto de Informao


Universidade Nova de Lisboa 32
Questes

1. Identifique os processos de negcio


2. Para cada um dos processos de negcio explicite a
granularidade
3. Identifique as dimenses do modelo
4. Defina a BUS Matrix
5. Identifique as tabelas de factos indicando as mtricas e
sua aditividade
6. Desenhe o modelo analtico utilizando um star schema
(ou um star schema constellation caso tenha
identificado vrias tabelas de factos)
7. Identifique as questes de negcio e a informao
necessria para produzir as respostas respectivas
Instituto Superior de Estatstica e Gesto de Informao
Universidade Nova de Lisboa 33

You might also like