desenho lógico de dw - técnico lisboa - autenticação · dados a carregar necessidades de...
Post on 09-Nov-2018
214 Views
Preview:
TRANSCRIPT
1
SAD Tagus 2006/07 H. Galhardas
Desenho Lógico de DWDesenho Lógico de DW
SAD Tagus 2006/07 H. Galhardas
ArquitecturaArquitectura multi- multi-nívelnível
DataWarehouse
ExtractTransformLoadRefresh
OLAP Engine
AnalysisQueryReportsData mining
Monitor&
IntegratorMetadata
Data Sources Front-End Tools
Serve
Data Marts
Operational DBs
othersources
Data Storage
OLAP Server
2
SAD Tagus 2006/07 H. Galhardas
Ciclo de vida de umCiclo de vida de um
projecto de suporte àprojecto de suporte à
decisãodecisão
SAD Tagus 2006/07 H. Galhardas
Ciclo de vida de umCiclo de vida de um
projecto de suporte àprojecto de suporte à
decisãodecisão
3
SAD Tagus 2006/07 H. Galhardas
Como Como desenhardesenhar a DW? a DW?
DataWarehouse
Data Marts
SAD Tagus 2006/07 H. Galhardas
ProcessoProcesso de de desenhodesenho de DW de DW
EscolherEscolher o o processoprocesso de de negócionegócio a a modelizarmodelizar (ex: (ex:encomendasencomendas, , recebimentosrecebimentos, etc), etc)
EscolherEscolher o o grãogrão ( (nívelnível de dados de dados atómicoatómico) ) dadatabelatabela de de factosfactos
Volume mais pequeno de info que se poderá consultar IdentificarIdentificar e e tornartornar conformesconformes as as dimensõesdimensões queque
se se aplicamaplicam a a cadacada registoregisto dada tabelatabela de de factosfactos Vértices de análise por onde será possível navegar
EscolherEscolher osos factosfactos ouou medidasmedidas queque vãovão popular popularcadacada registoregisto dada tabelatabela de de factosfactos
4
SAD Tagus 2006/07 H. Galhardas
ProcessoProcesso de de desenhodesenho de DW de DW
EnriquecerEnriquecer as as tabelastabelas de de dimensõesdimensões com comtodostodos osos atributosatributos queque podempodem ajudarajudar a aexplicarexplicar a a existênciaexistência de de determinadosdeterminados factosfactos
MonitorizarMonitorizar as as dimensõesdimensões lentamente lentamentemodificadasmodificadas aoao longolongo do tempo do tempo ( (slowlyslowlychanging dimensionschanging dimensions))
Definição dos níveis de Definição dos níveis de agregaçãoagregação AnáliseAnálise do tempo de do tempo de vidavida e do e do históricohistórico dos dos
dados a dados a carregarcarregar NecessidadesNecessidades de de disponibilidadesdisponibilidades dos dados dos dados
SAD Tagus 2006/07 H. Galhardas
Exemplo de motivaçãoExemplo de motivaçãoSI de uma cadeia de lojas de material informáticoSI de uma cadeia de lojas de material informático
Lojas (Lojas (lojaidlojaid, nome, morada, codpostal, localidade, NIF), nome, morada, codpostal, localidade, NIF)TiposCliente (TiposCliente (tipoclienteidtipoclienteid, dsc), dsc)TabelasPrecos(TabelasPrecos(tabelaprecoidtabelaprecoid, dsc), dsc)
Clientes (Clientes (clienteidclienteid, nome, nomecomercial, morada,, nome, nomecomercial, morada,codpostal, localidade, ..., codpostal, localidade, ..., tipoclienteidtipoclienteid,,tabelaprecoidtabelaprecoid))
Vendas (Vendas (vendaidvendaid, datavenda, , datavenda, lojaidlojaid, , clienteidclienteid,,vendadinheiro, desconto)vendadinheiro, desconto)
FamiliasArtigos (FamiliasArtigos (familiaidfamiliaid, dsc, , dsc, superfamiliaidsuperfamiliaid))Artigos (Artigos (artigoidartigoid, referencia, codbarras, nome,, referencia, codbarras, nome,
familiaidfamiliaid, iva, unidade), iva, unidade)LinhasVendas (LinhasVendas (vendaid, artigoidvendaid, artigoid, qt, precounidade), qt, precounidade)
......
5
SAD Tagus 2006/07 H. Galhardas
1. Escolher o processo de1. Escolher o processo de
negócionegócio
Análise das vendas realizadas a clientes
=> define-se como prioridade a análise das transacções comerciais do ponto de vista da facturação
Faz parte do data mart de suporte à área comercial, onde também se está interessado nas compras feitas a Fornecedores, por exemplo
SAD Tagus 2006/07 H. Galhardas
2. Escolher o grão2. Escolher o grão
Artigos vendidos, por cliente, em cada loja, aoArtigos vendidos, por cliente, em cada loja, aolongo de cada dialongo de cada dia
De modo a responder a questões do tipo:De modo a responder a questões do tipo: Quanto se vendeu em caixas de DVD hoje?Quanto se vendeu em caixas de DVD hoje? Qual a loja com maior volume de vendas emQual a loja com maior volume de vendas em
Fevereiro?Fevereiro? Quais os clientes que compraram um maiorQuais os clientes que compraram um maior
número de artigos de informática na loja de Lx?número de artigos de informática na loja de Lx?
6
SAD Tagus 2006/07 H. Galhardas
Tabela de factosTabela de factos
Vendas (Vendas (artigoid, lojaid, clienteid,artigoid, lojaid, clienteid,tempoidtempoid, qt, valor...), qt, valor...)
VsVs
Vendas (Vendas (artigoid, venda id, lojaid,artigoid, venda id, lojaid,clienteid, tempoidclienteid, tempoid, qt, valor...), qt, valor...)
Grão mais fino implica maior número de registosGrão mais fino implica maior número de registos
SAD Tagus 2006/07 H. Galhardas
3. Identificar e tornar3. Identificar e tornar
conformes as dimensõesconformes as dimensões
A dimensão Tempo deve ser sempre incluida naA dimensão Tempo deve ser sempre incluida naDW, dada a característica predominante de análiseDW, dada a característica predominante de análisede dados históricosde dados históricos
Tem um número muito grande de registos, mesmoTem um número muito grande de registos, mesmoque não existam factos para alguns deles.que não existam factos para alguns deles.
DimTempoDimTempo ( (tempoidtempoid, data, , data, anoano,,trimestretrimestre, , diadia, , semanasemana, , diasemanadiasemana,,feriadoferiado))
7
SAD Tagus 2006/07 H. Galhardas
Dimensões conformesDimensões conformes
As dimensões são os pontos de entrada numAs dimensões são os pontos de entrada numdata mart. Determinam:data mart. Determinam: Os critérios de navegação Os cabeçalhos dos relatórios Vocabulário da organização para os utilizadores
Dimensões conformesDimensões conformes: significam a mesma: significam a mesmacoisa e guardam a mesma informaçãocoisa e guardam a mesma informaçãoindependentemente da tabela de factos a queindependentemente da tabela de factos a queestão ligadas.estão ligadas.
SAD Tagus 2006/07 H. Galhardas
Hieraquias nas dimensõesHieraquias nas dimensões
Uma dimensão comporta normalmente (peloUma dimensão comporta normalmente (pelomenos) uma hieraquia de análise através damenos) uma hieraquia de análise através daqual se podem realizar:qual se podem realizar: Drill-down – operações de consulta detalhada Roll-up – consultas de resumos de informação
DimTempoDimTempo ( (tempoidtempoid, data, , data, anoano, , trimestretrimestre,,diadia, , semanasemana, , diasemanadiasemana, , feriadoferiado,,períodofiscalperíodofiscal, , períodolectivoperíodolectivo))
8
SAD Tagus 2006/07 H. Galhardas
Esq. floco de neve vs estrelaEsq. floco de neve vs estrela
DimArtigos (DimArtigos (artigoidartigoid, nome, referência,, nome, referência,subfamiliaidsubfamiliaid, marcaid, custoactual,, marcaid, custoactual,iva, ultimoprecocompra, ...)iva, ultimoprecocompra, ...)
DimSubFamilias (DimSubFamilias (subfamiliaidsubfamiliaid, familiaid,, familiaid,subfamilia)subfamilia)
DimFamilias(DimFamilias(familiaidfamiliaid, familia), familia)
VsVsDimArtigos (DimArtigos (artigoidartigoid, nome, referência,, nome, referência,subfamiliaid, subfamilia, familiaid,subfamiliaid, subfamilia, familiaid,familia, marcaid, marca, custoactual,familia, marcaid, marca, custoactual,iva, ultimoprecocompra, ...)iva, ultimoprecocompra, ...)
SAD Tagus 2006/07 H. Galhardas
Mini-dimensõesMini-dimensões
Estrutura de dados que contém atributos não chave e queEstrutura de dados que contém atributos não chave e quenão se encontram envolvidos em hierarquias mas que podemnão se encontram envolvidos em hierarquias mas que podemser usados como critérios de pesquisa sobre a dimensão.ser usados como critérios de pesquisa sobre a dimensão.
Diminuem o número de atributos das dimensões maisDiminuem o número de atributos das dimensões maiscomplexas em termos de atributos e volumosas em númerocomplexas em termos de atributos e volumosas em númerode registosde registos
FactVendas (tempoid, clienteid, artigoid, miniclienteid,qt, precovenda, custostock, ...)
DimClientes (clienteid, nome, apelido, morada,codpostal, localidade, concelho, distrito)
DimMiniClientes (miniclienteid, agregadofamiliar,classerendimentos, estadocivil, sexo, profissao)
9
SAD Tagus 2006/07 H. Galhardas
4. Escolher os factos4. Escolher os factos
O O grãogrão da tabela de factos determina que da tabela de factos determina quefactos usar num data martfactos usar num data mart
Todos os factos têm que ser especificados aoTodos os factos têm que ser especificados aomesmo nível determinado pelo grãomesmo nível determinado pelo grão
Os factos devem ser o mais Os factos devem ser o mais aditivosaditivos possíveis possíveis Podem ser adicionados Podem ser adicionados factos suplementaresfactos suplementares
desde que sejam consistentes com o grãodesde que sejam consistentes com o grão..
SAD Tagus 2006/07 H. Galhardas
Categorização dos factosCategorização dos factos
ou medidasou medidas AditivaAditiva: podem ser somadas através de todas: podem ser somadas através de todas
as dimensões; são medidas de actividadeas dimensões; são medidas de actividade E.g.: unidades_vendidas, dolares_vendidos
Semi-aditivaSemi-aditiva: só podem somadas ao longo de: só podem somadas ao longo dealgumas dimensões; são fotografias no tempoalgumas dimensões; são fotografias no tempo E.g.: saldo_conta, quantidade de um inventário não
podem ser somadas ao longo do tempo Não aditivaNão aditiva: não podem ser somadas de todo: não podem ser somadas de todo
E.g.: temperatura, taxas de juro
10
SAD Tagus 2006/07 H. Galhardas
F : A x B F : A x B ®® C C é aditivaé aditiva sobre A sse: sobre A sse: F (a1 + a2, b) = F (a1, b) + F (a2, b) F é aditiva se é aditiva sobre todos os seus
argumentos
Exemplo :Exemplo : conta(contaID, clienteID, data, saldo)conta(contaID, clienteID, data, saldo)
saldo : contaID x clienteID x data saldo : contaID x clienteID x data ®® saldo saldo
saldo (x, y, [tsaldo (x, y, [t0 0 , t, t2 2 ]) = saldo (x, y, [t]) = saldo (x, y, [t0 0 , t, t11]) ]) + + saldo (x, y, [tsaldo (x, y, [t1 1 ,,tt22])])
saldo (xsaldo (x11 ÈÈ xx22, y, t, y, t ) = saldo (x) = saldo (x11, y, t) , y, t) È È saldo (xsaldo (x22, y, t, y, t22))
Medidas aditivasMedidas aditivas
?
?
SAD Tagus 2006/07 H. Galhardas
Factos Factos factlessfactless (1) (1)
Factos que não fazem parte de uma tabelaFactos que não fazem parte de uma tabelade factos normal, pois não medem nada.de factos normal, pois não medem nada.
Descrevem Descrevem eventoseventos ou ou coveragecoverageExEx::
Sistema de monitorização dos alunos que detectaa assiduidade de cada aluno às aulas
Tabela de factos: AssiduidadeAlunos comatributo assiduidade (0/1)
Dimensões: Tempo, Disciplina, Aluno, Professor
11
SAD Tagus 2006/07 H. Galhardas
6. Monitorizar as dimensões6. Monitorizar as dimensões
lentamente modificadas aolentamente modificadas ao
longo do tempolongo do tempo As fontes de dados operacionais que alimentam asAs fontes de dados operacionais que alimentam as
dimensões podem mudar, o que significa que osdimensões podem mudar, o que significa que osatributos descritivos das dimensões podem mudaratributos descritivos das dimensões podem mudar
ExEx::Clientes de hipermercado podem mudar a morada ou oClientes de hipermercado podem mudar a morada ou o
seu estado civil.seu estado civil.Importante para aferir a receptividade dos clientes àImportante para aferir a receptividade dos clientes à
oferta de uma gama de produtos ou medir ooferta de uma gama de produtos ou medir oimpacto de uma promoçãoimpacto de uma promoção
SAD Tagus 2006/07 H. Galhardas
SoluçõesSoluções Actualizar os atributos com os seus valores maisActualizar os atributos com os seus valores mais
recentesrecentes, sobrepondo estes às instâncias anteriores, sobrepondo estes às instâncias anteriores
Todos os registos da dimensão sãoTodos os registos da dimensão são etiquetadosetiquetadostemporalmente indicando a data de inserção ou datemporalmente indicando a data de inserção ou daúltima modificaçãoúltima modificação. O mesmo cliente, por exemplo,. O mesmo cliente, por exemplo,pode ser representado por mais do que um registopode ser representado por mais do que um registo
Criar um campo Criar um campo ““antigoantigo”” em cada registo para em cada registo paraguardar o valor antigo ou criar guardar o valor antigo ou criar uma tabelauma tabelacomplementar de histórico da dimensãocomplementar de histórico da dimensão, onde são, onde sãoguardadas infos sobre todas as alterações sofridasguardadas infos sobre todas as alterações sofridaspelos registos ao longo do tempopelos registos ao longo do tempo
12
SAD Tagus 2006/07 H. Galhardas
Exemplo dimensão clientesExemplo dimensão clientes
com solução do tipo 2com solução do tipo 2CodclienteCodcliente nome estcivil agfamiliar dataregisto nome estcivil agfamiliar dataregisto12319990930 Jorge Silva solt 1 30/09/199912319990930 Jorge Silva solt 1 30/09/199912320000505 Jorge Silva casad 2 05/05/200012320000505 Jorge Silva casad 2 05/05/200012320021111 Jorge Silva casad 3 11/11/200212320021111 Jorge Silva casad 3 11/11/200214320030728 Alda Gomes casad 2 28/07/200314320030728 Alda Gomes casad 2 28/07/2003
Volume de dados na DW aumentaVolume de dados na DW aumenta Filtragem sobre as dimensões passa a ser enquadrada naFiltragem sobre as dimensões passa a ser enquadrada na
evolução histórica de um históricoevolução histórica de um histórico
SAD Tagus 2006/07 H. Galhardas
7. Definição dos níveis de7. Definição dos níveis de
agregaçãoagregação Quais os equipamentos que estiveram afectados, no últimoQuais os equipamentos que estiveram afectados, no último
mês, menos de 5% do tempo a um projecto?mês, menos de 5% do tempo a um projecto? Quais os clientes com maior volume de vendas no últimoQuais os clientes com maior volume de vendas no último
mês?mês? Quanto é que se vendeu do artigo X no dia de hoje?Quanto é que se vendeu do artigo X no dia de hoje?
Valores agregados pré-calculadasValores agregados pré-calculadas –– mesmos valores que estão mesmos valores que estãona tabela de factos inicial mas envolvendo outro grão.na tabela de factos inicial mas envolvendo outro grão.Guardam-se em tabelas de factos distintas.Guardam-se em tabelas de factos distintas.
VantagemVantagem: ganho no tempo de resposta das interrogações: ganho no tempo de resposta das interrogaçõesOLAPOLAP
DesvantagensDesvantagens: torna mais lento o refrescamento (actualização): torna mais lento o refrescamento (actualização)da DW e aumenta o volume de dados armazenadoda DW e aumenta o volume de dados armazenado
13
SAD Tagus 2006/07 H. Galhardas
Exemplo de agregação pré-Exemplo de agregação pré-
calculadacalculadaAggVendasFamiliasMesAggVendasFamiliasMes((tempoid,familiaidtempoid,familiaid, qt, total), qt, total)
DimTempo (DimTempo (tempoidtempoid, mes, ano), mes, ano)DimAggFamilias (DimAggFamilias (familiaidfamiliaid, familia), familia)
Não se deve sumariar os factos para todas asNão se deve sumariar os factos para todas aspossiveis questões, mas só para as mais frequentespossiveis questões, mas só para as mais frequentes
A escolha das agregações pré-calculadas podeA escolha das agregações pré-calculadas podeevoluir ao longo do tempo, mas deve serevoluir ao longo do tempo, mas deve sertransparente para o utilizador finaltransparente para o utilizador final
SAD Tagus 2006/07 H. Galhardas
Outro exemploOutro exemplo
Customer SummaryCust_id
Total SalesHighest Sales Value
Average Sales
Store TableStore_id
District_id
Customer TableCust_id
Cust_name
Time TableWeek_idPeriod_idYear_id
Product TableProduct_id
Product_desc
Sales Fact TableUnit Sell PriceDollar SalesUnit SalesDollar Cost
SummarySummary for for Product Product,,Store, and Time for allStore, and Time for all
CustomersCustomers
14
SAD Tagus 2006/07 H. Galhardas
BibliografiaBibliografia
(Livro) Sistemas de Apoio à Decisão, Bruno Cortes,(Livro) Sistemas de Apoio à Decisão, Bruno Cortes,FCA, 2005FCA, 2005
(Livro) (Livro) Data Mining: Concepts and TechniquesData Mining: Concepts and Techniques, J., J.Han & M. Kamber, Morgan Kaufmann, 2001 (parteHan & M. Kamber, Morgan Kaufmann, 2001 (parteda Secção 2.3)da Secção 2.3)
(Livro) The Data Warehouse Lifecycle Toolkit, R.(Livro) The Data Warehouse Lifecycle Toolkit, R.Kimball, Wiley 1998 (Cap. 5, 6 e 7)Kimball, Wiley 1998 (Cap. 5, 6 e 7)
(Artigo) Letting the Users Sleep Part 1 and 2, R.(Artigo) Letting the Users Sleep Part 1 and 2, R.Kimball, Kimball, DBMSDBMS –– Dec. 1996 and Jan. 1997, Dec. 1996 and Jan. 1997,http://www.dbmsmag.com/9612d05.htmlhttp://www.dbmsmag.com/9612d05.htmlhttp://www.dbmsmag.com/9701d05.htmlhttp://www.dbmsmag.com/9701d05.html
top related