desenho lógico de dw - técnico lisboa - autenticação · dados a carregar necessidades de...

14
1 SAD Tagus 2006/07 H. Galhardas Desenho Lógico de DW Desenho Lógico de DW SAD Tagus 2006/07 H. Galhardas Arquitectura Arquitectura multi- multi- nível nível Data Warehouse Extract Transform Load Refresh OLAP Engine Analysis Query Reports Data mining Monitor & Integrator Metadata Data Sources Front-End Tools Serve Data Marts Operational DBs other sources Data Storage OLAP Server

Upload: ngophuc

Post on 09-Nov-2018

214 views

Category:

Documents


0 download

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