Tópicos Avançados de Bases de Dados ESTG, Instituto ...josefonseca/TABD/TABD Exercicios praticos...

8

Click here to load reader

Transcript of Tópicos Avançados de Bases de Dados ESTG, Instituto ...josefonseca/TABD/TABD Exercicios praticos...

Page 1: Tópicos Avançados de Bases de Dados ESTG, Instituto ...josefonseca/TABD/TABD Exercicios praticos 2004...1 Tópicos Avançados de Bases de Dados ESTG, Instituto Politécnico da Guarda

1

Tópicos Avançados de Bases de Dados ESTG, Instituto Politécnico da Guarda

Exercícios práticos de análise multidimensional e construção de esquemas em estrela

Henrique Madeira

Objectivos: 1º Sedimentar os conceitos leccionados nas aulas teóricas sobre análise multidimensional e modelos em estrela

2º Preparação para os testes em que vão sair perguntas deste género.

3º No final de cada aula prática os alunos devem entregar ao docente o esquema (ou esquemas) que fizeram para o exercício (ou exercícios) abordado(s) na aula. Devem usar uma ferramenta que permita fazer diagramas de Entidade Relacionamento (ERs) ou, melhor ainda, esquemas multidimensionais. Um exemplo destas ferramentas, que está instalado nas máquinas da sala de aula, é o Power Designer da Sybase.

1. A empresa FNAKE detém uma posição importante no mercado das vendas de livros, discos, filmes e equipamento electrónico de grande consumo. Dispõe de uma rede de lojas em diversos países, para além de um site de comércio electrónico onde os clientes podem comprar qualquer produto comercializado pela FNAKE. A empresa pretende construir uma Data Warehouse para análise das vendas dos seus produtos nas lojas e pela Internet de modo a apoiar futuras decisões sobre a comercialização de novos produtos, novas linhas de produtos, abrir novas lojas ou fechar ou remodelar lojas existentes, planear campanhas de marketing, etc., etc. Entre outros objectivos, a Data Warehouse deverá ajudar a gestão a responder a perguntas e analisar cenários como os que se descrevem de seguida (mas esta descrição não é, obviamente, exaustiva):

− Caracterização das vendas de produtos considerando tipos de produtos (livro, CDs, etc), uma dada subclasse de produtos (e.g,, livros de um dado autor) ou mesmo um dado produto em si (e.g., vendas de um determinado CD na altura do Natal). Aspectos relacionados com a embalagem dos produtos também são importantes para que o gestor possa perceber as vantagens de investir em embalagens mais cuidadas. Acresce ainda que no mercado de livros, CDs e DVSs é muito importante perceber quando um dado produto deixa de ser procurado (e.g., o CD deixa de ser um sucesso) para que as lojas não fique com grandes quantidades de produtos que depois já não se vendem. Por outro lado, também é importante identificar bem os produtos que se tornam “clássicos” e que continuam a ser procurados, mesmo depois de já não constituírem novidade.

− Nas vendas pela Internet os clientes são identificados mas nas lojas apenas uma pequena percentagem (cerca de 30%) dos clientes são conhecidos. Mesmo nas compras pela Internet a caracterização dos clientes é bastante deficiente, pois muitos dos atributos pedidos no momento de uma compra não são de preenchimento obrigatório. Para colmatar esta lacuna a FNAKE lança periodicamente sorteios na Internet e nas lojas. Para os clientes se candidatarem aos prémios têm de indicar a morada, telefone, email, sexo, profissão, data de nascimento, estado civil, etc. A inclusão de dados dos clientes na Data Warehouse permite à empresa analisar as vendas de produtos para os diferentes estratos de clientes, conhecendo as preferências de cada tipo de cliente. Deste modo pode perceber melhor a relação entre tipos de clientes e produtos, canais de compra preferências (determinada loja, Internet, etc).

− A empresa também faz campanhas promocionais de diversos tipos. Todas as campanhas incidem sobre um produto ou uma família de produtos (i.e., não há campanhas que não estejam relacionadas com produtos). Obviamente que a análise do impacto das campanhas promocionais nas vendas dos produtos promovidos e nos outros produtos é da maior importância.

− A evolução das vendas e do número de clientes em cada loja e na Internet é um aspecto muito importante. A abertura de novas lojas, embora não seja uma decisão frequente, é algo que deve ser ponderado pela análise das vendas nas lojas geograficamente mais próximas. De um modo similar, as alterações introduzidas nas lojas periodicamente (remodelações, alterações na número de caixas registadoras, etc.) carecem de avaliação, pelo que a FNAKE também espera que a Data Warehouse possa ajudar neste aspecto.

Para simplificar vamos assumir que os sistemas operacionais existentes na FNAKE, que garantem o funcionamento quotidiano da empresa, conseguem fornecer todos os dados necessários para o tipo de análise esboçada anteriormente. Por isso, isso vamos definir o esquema de dados da Data Warehouse considerando que haverá sempre possibilidade de preencher com dados de qualidade aceitável as dimensões e factos do esquema a projectar.

Apresente então o esquema em estrela para a Data Warehouse da FNAKE.

2. Relativamente ao esquema definido na pergunta anterior considere agora que também era necessário analisar o carrinho de compras (muita vezes designados client ticket) dos clientes da FNAKE. É importante perceber que clientes fazem as maiores compras (valor da factura), os que compram maior número de produtos, qual o número médio de produtos comprados, quantos exemplares de cada produtos, que tipos de produtos são comprados conjuntamente (e.g., livros da série Harry Potter e CDs dos Backstreet Boys), etc, etc. Claro está que se pretende fazer esta análise por faixas etárias, sexo, profissões dos clientes, por lojas e para a Internet, por alturas do ano, etc. etc.

Mostre como seria o novo esquema em estrela para a Data Warehouse da FNAKE em que se considera os conteúdos médios dos carrinhos de compras.

Page 2: Tópicos Avançados de Bases de Dados ESTG, Instituto ...josefonseca/TABD/TABD Exercicios praticos 2004...1 Tópicos Avançados de Bases de Dados ESTG, Instituto Politécnico da Guarda

Tópicos Avançados de Bases de Dados, 2004/2005 ESTG, Guarda

2

3. Considere o caso de uma companhia telefónica portuguesa que pretende construir uma Data Warehouse para análise do comportamento na utilização do telefone por parte dos seus assinantes e com isso decidir o lançamento de novos pacotes promocionais de utilização do telefone ou planear campanhas de marketing. Entre outros objectivos, esta Data Warehouse ajudará a gestão a responder a perguntas tais como:

− Distribuição das chamadas pelo território; − Relação entre as chamadas (e facturação) locais e não locais; − Distribuição das chamadas ao longo no tempo (de forma muito diversificada); − Relação entre a duração da chama e o período em que esta é feita − Etc, etc

Os dados fonte relevantes para a Data Warehouse estão na base de dados operacional que faz a gestão da facturação. Esta base de dados operacional tem a seguinte estrutura (simplificada):

Atributos das tabelas são os seguintes (explica-se apenas o significado dos atributos que nos parece menos evidente)

Clientes (ID_cliente, Nome, Endereço, Cod_postal, Localidade, Tipo_cliente, Data_primeira_assinatura) Comentários: Todos os atributos são auto-explicativos.

Particular (ID_cliente, Sexo, Data_de_nascimento, Profissão, Estado_civil) Comentários: Todos os atributos são auto-explicativos.

Instituição (ID_cliente, Ramo_actividade, Número_utentes) Comentários: Os ramos de actividade estão codificados de acordo com a tabela de actividades económicas existente na

legislação.

Assinatura (ID_assinatura, Número, Rede_local, Tipo_assinatura, ID_cliente) Comentários: Número corresponde ao número do telefone Rede_local é o indicativo, como por exemplo 039

Ligações (ID_ligação, ID_assinatura, Data_hora_início, Duração_tempo, Número_impulsos, Valor_facturado, Tipo_ligação, País, Rede_local, Número, Operador)

Comentários: Valor_facturado em escudos é calculado (através de uma tabela que não se mostra no esquema) Tipo_ligação indica se é recepção de chamada ou emissão de chamada País refere código do país destino ou origem da ligação Rede_local é o indicativo local Número corresponde ao número do telefone envolvido na ligação Operador indica o operador telefónico envolvido na ligação (pode ser outro operador, que

não a própria empresa).

a) Apresente um modelo para a Data Warehouse em questão, não esquecendo de deixar bem claro todos os factos, dimensões, granularidade e todos os aspectos relevantes para o projecto da Data Warehouse;

b) Faça um cálculo simplificado do espaço ocupado pela Data Warehouse, deixando claro todos os valores base que assumiu para esse cálculo (número de clientes, de assinaturas, número de chamadas médio, etc).

4. Uma empresa de vendas por catálogo pretende construir uma Data Mart para apoio à decisão na área das vendas e à angariação

de novos clientes. A empresa pretende tipificar o comportamento de compras dos seus clientes, de modo a, por exemplo, pode tomar decisões no tocante ao envio de publicidade personalizada para certos tipos de clientes, a introduzir novos produtos ou a retirar produtos que não dão lucro significativo. Por outro lado, há decisões estratégicas que a empresa pretende tomar, nomeadamente a implantação de armazéns regionais para acelerar a entrega das encomendas, e para isso é necessário poder analisar a distribuição das vendas pelas diversas regiões do território. A figura que se segue é o diagrama ER (simplificado) da base de dados operacional da empresa, mostrando-se também as tabelas correspondentes (explica-se apenas o significado dos atributos que nos parece menos evidente).

d

N1 AssinaturaClientes N1

Ligações

d

N 1

N N

N 1 EncomendaClientes 1 N Promoções

Autores Livros Roupas

Particular Instituição

Produtos

Page 3: Tópicos Avançados de Bases de Dados ESTG, Instituto ...josefonseca/TABD/TABD Exercicios praticos 2004...1 Tópicos Avançados de Bases de Dados ESTG, Instituto Politécnico da Guarda

Tópicos Avançados de Bases de Dados, 2004/2005 ESTG, Guarda

3

Clientes (ID_cliente, Nome, Morada, Cod_postal, Localidade, Data_nascimento, Data_inscrição, Sexo, Profissão, Estado_cívíl) Comentários: Todos os atributos são auto-explicativos.

Produtos (ID_Produto, Tipo, Preço_catálogo) Comentários: Todos os atributos são auto-explicativos.

Livro (ID_Produto, Título, Nº_páginas, Género, Tipo_edição, Editora ) Comentários: Os Géneros são, por exemplo, “Policial”, “Romance”, “Poesia”, etc. O Tipo_edição pode ser “Luxo”,

“Capas Rígidas”, “Normal”.

Roupas (ID_Produto, Marca, Tamanho, Cor, Designação, Tipo_tecido) Comentários: Todos os atributos são auto-explicativos.

Autores (ID_Autor, Nome, Data_nascimento, Nacionalidade, Sexo) Comentários: Todos os atributos são auto-explicativos.

Encomenta (ID_encomenda, Data, Número_encomenda, Data_entrega, ID_cliente) Comentários: Todos os atributos são auto-explicativos.

Enc_Prod (ID_encomenda, ID_Produto, Quantidade, Preço_unitário, Desconto) Comentários: O desconto é, normalmente, zero. No entanto, pode haver descontos quando o produto está em promoção.

Promoções (ID_promoção, Data_início, Data_fim, Tipo_promoção, Desconto) Comentários: O Tipo_promoção pode ser “Desconto”, e nesse caso o atributo desconto especifica o valor percentual do

desconto, ou “Brinde”, não se especificando neste caso qual o brinde que o cliente recebe na compra do produto.

Promo_prod (ID_promoção, ID_Produto) Comentários: Todos os atributos são auto-explicativos.

Livro_Autores (ID_Autor, ID_livro, Data) Comentários: Todos os atributos são auto-explicativos.

Apresente um modelo para a Data Warehouse em questão, não esquecendo de deixar bem claro todos os factos, dimensões, granularidade e todos os aspectos relevantes para o projecto da Data Warehouse.

5. Considere o caso de uma companhia de transportes rodoviários que pretende construir uma Data Mart para análise dos serviços de transporte requisitados pelos seus clientes, fazer relatórios periódicos de actividade, identificar os clientes que deixaram de usar os serviços da empresa para os tentar recuperar, descobrir possibilidades de optimizar as viagens (uma viagem inclui normalmente vários serviços de transporte), tipificar origens (carga dos objectos) e destinos (descarga dos objectos), identificar clientes preferenciais e ajudar a definir pacotes promocionais para esses clientes, comparar o comportamento dos diferentes tipos e marcas de veículos existentes na companhia (ausência de avaria, consumos, etc), análise da prestação dos motoristas com vista à atribuição de prémios, etc, etc. Os dados fonte mais relevantes para a Data Mart estão na base de dados operacional que faz a gestão dos serviços de transporte efectuados pela companhia. Esta base de dados operacional tem a estrutura (simplificada) que se mostra a seguir. Como informações relevantes refere-se que a companhia tem presentemente cerca de 900 veículos e que no último ano fez um total de perto de dois milhões de transportes. Muitos destes transportes são de curto raio de acção, mas alguns são transportes internacionais de longo curso.

Atributos das tabelas são os seguintes (explica-se apenas o significado dos atributos que nos parecem menos evidentes). As chaves primárias estão sublinhadas mas as chaves forasteiras não se encontram assinaladas.

Clientes (ID_cliente, Nome, Endereço, Cod_postal, Localidade, Tipo_cliente, Data_primeiro_transporte)

Cliente

Particular Instituição

d

N

1

Origem_destino

1

N

N1

Veículo

1

N

Motorista

N

1

Ocorrência 1 N Viagem

1

N

Transporte

O D

Page 4: Tópicos Avançados de Bases de Dados ESTG, Instituto ...josefonseca/TABD/TABD Exercicios praticos 2004...1 Tópicos Avançados de Bases de Dados ESTG, Instituto Politécnico da Guarda

Tópicos Avançados de Bases de Dados, 2004/2005 ESTG, Guarda

4

Comentários: Todos os atributos são auto-explicativos.

Particular (ID_cliente, Sexo, Data_de_nascimento, Profissão, Estado_civil) Comentários: Todos os atributos são auto-explicativos.

Instituição (ID_cliente, Ramo_actividade, Número_funcionários) Comentários: Os ramos de actividade estão codificados de acordo com a tabela de actividades económicas existente

na legislação.

Motorista (ID_func, Nome, Data_nascimento, Data_carta_condução, Data_entrada_empresa, Categoria) Comentários: Todos os atributos são auto-explicativos.

Origem_destino (ID_ponto, Tipo, Endereço, Cod_postal, Localidade, Pais, Contacto, Tel_contacto, Observações) Comentários: Tipo refere-se ao tipo de local: se é origem ou se é destino.

Contacto e Tel_contacto referem-se ao nome e telefone de alguém que possa ser contactado se necessário no local de origem ou destino (carga ou descarga dos objectos).

Transporte (ID_trans, ID_origem, ID_destino, ID_viagem, ID_cliente, Data_hora_início, Data_hora_fim, Tipo_carga, Peso, Distância_percurso) Comentários: Tipo_carga identifica o tipo de carga que está tipificado numa tabela com os principais tipos (essa

tabela não é mostrada). Quando a carga é indistinta o tipo atribuído é “diversos”. O Peso da carga e a Distância_percurso são normalmente estimados (mas com bastante

precisão).

Viagem (ID_Viagem, ID_func, ID_veículo, Data_hora_partida, Data_hora_chegada, Quilómetros_percorridos, Consumo_gasóleo) Comentários: Considera-se uma viagem sempre que um veículo sai da sede da empresa para fazer um ou vários

transportes. A viagem termina quando o veículo regressa.

Veículo (ID_veículo, Marca, Modelo, Tipo, Data_fabrico, Data_aquisição, Carga_máxima) Comentários: Todos os atributos são auto-explicativos.

Ocorrência (ID_ocorr, ID_viagem, Tipo, Data_hora_ocorrência, Observações) Comentários: O atributo Tipo é preenchido a partir de uma tabela que tipifica as ocorrências (e.g., atraso, avaria,

acidente, multas, etc).

a) Apresente um modelo para a Data Mart em questão, não esquecendo de deixar bem claro todos os factos, dimensões, granularidade e todos os aspectos relevantes para o projecto da Data Mart.

b) Faça um cálculo simplificado do espaço ocupado pela Data Mart, deixando claro todos os valores base e pressupostos que utilizou para esse cálculo.

c) Imagine que estava na fase de análise e que estava a fazer uma entrevista ao adjunto do gestor da empresa, que é um dos utilizadores finais da Data Mart. Dê exemplos de perguntas que faria ao seu entrevistado para cada um dos seguintes objectivos (basta uma pergunta para cada objectivo mas, se quiser, pode dar mais exemplos): i) Pergunta para tentar perceber qual a granularidade que interessa à gestão da empresa; ii) Pergunta para tentar identificar os factos; iii) Pergunta para tentar identificar dimensões; iv) Para uma dada dimensão, dê um exemplo de uma pergunta para definir atributos da dimensão.

6. A Brigada de Trânsito da Guarda Nacional Republicana pretende construir uma Data Mart para análise de aspectos importantes do comportamento dos automobilistas e da actividade dos seus agentes no tocante à repressão das infracções de trânsito (multas). É particularmente importante perceber que tipo de infracções são cometidas, em que estradas e troços das estradas são cometidas as infracções, qual o perfil (idade, anos de carta, sexo, etc) dos condutores que cometem os diferentes tipos de infracções, os montantes recebidos em coimas, a relação entre o montante da coima e a frequência da infracção. Por outro lado, é muito importante analisar os acidentes ocorridos em múltiplas vertentes: consequências (mortes, feridos e outros danos), presumíveis causas, vias ou estradas em que ocorreram, número de veículos envolvidos, épocas do ano, dias da semana, etc. A correlação entre o tipo de condutores e o seu comportamento anterior (anos de carta, idade, coimas anteriores, etc) e os acidentes em que estes se envolveram também é de grande importância. Outro aspecto também muito interessante seria determinar o perfil (idade, anos de carta, sexo, etc) dos condutores que foram culpados dos acidentes mais graves, particularmente dos que causaram mortes. É importante notar que os objectivos acima referidos (perguntas a fazer à Data Mart) são meramente exemplificativos, não constituindo por isso a descrição exaustiva dos objectivos da Data Mart. Por outro lado, pode acontecer que algumas das perguntas que se quer ver respondidas pela Data Mart não possam ser satisfeitas face à inexistência de dados na base de dados operacional da Brigada de Trânsito. Os dados fonte mais relevantes para a Data Mart estão na base de dados operacional da Brigada de Trânsito. A figura que se segue mostra parte da estrutura (simplificada) da base de dados operacional. Como informações relevantes refere-se que a Brigada de Trânsito tem acesso aos dados de cada veículo e de cada condutor encartado que se encontram registados na Direcção Geral de Viação, pelo que as entidades Veículos e Condutores representam todos os veículos e todos os condutores nacionais. No entanto, estas entidades contém também os dados dos veículos de matrícula estrangeira e dos condutores com carta passada noutros países, desde que estes tenham sido autuados ou envolvidos em acidentes. Presentemente há cerca de 3 milhões de veículos com matrícula portuguesa e cerca de 5 milhões de condutores com carta passada em Portugal.

Page 5: Tópicos Avançados de Bases de Dados ESTG, Instituto ...josefonseca/TABD/TABD Exercicios praticos 2004...1 Tópicos Avançados de Bases de Dados ESTG, Instituto Politécnico da Guarda

Tópicos Avançados de Bases de Dados, 2004/2005 ESTG, Guarda

5

Atributos das tabelas são os seguintes (explica-se apenas o significado dos atributos que nos parecem menos evidentes). As chaves primárias estão sublinhadas mas as chaves forasteiras não se encontram assinaladas.

Agente (ID_agente, Nome, Comando_de_grupo, Distrito, Posto)

Comentários: O Comando_de_grupo representa o comando da GNR a que o agente pertence.

Auto (ID_auto, ID_infracção, ID_agente, ID_veículo, ID_condutor, Data, Montante_coima, Apreensão_carta, Apreensão_veículo, Via, Quilómetro)

Comentários: Montante_coima é o valor da multa associada ao auto. Os atributos Apreensão_carta, Apreensão_veículo indicam se o auto conduziu à apreensão da carta do condutor ou do veículo. O atributo Via representa a estrada ou rua em que a infracção associada ao auto ocorreu e Quilómetro o local da infracção (no caso de ter sido numa estrada).

Condutor (ID_condutor, Nome, Data_carta, Data_nascimento, Sexo, Estado_civil, Profissão, Morada, Cod_postal) Comentários: Todos os atributos são auto-explicativos.

Veículo (ID_veículo, Marca, Modelo, Tipo, Data_fabrico, Cilindrada, Combustível) Comentários: Todos os atributos são auto-explicativos.

Infracção (ID_infracção, Designação, Tipo, Gravidade, Coima_associada, Apreensão_de_carta) Comentários: Todos os atributos são auto-explicativos.

Acidente (ID_acidente, ID_agente, Data, Hora, Via, Quilómetro, Características_local, Nº_mortos, Nº_feridos, Gravidade_danos_materiais, Presumível_causa)

Comentários: Os atributos Via e Quilómetro representam o local do acidente, tal como na tabela Auto. O atributo Características_local indica algumas características particulares (e.g., cruzamento, curva, etc). O atributo Gravidade_danos_materiais classifica os danos materiais numa escala de cinco valores (sem danos, ligeiros, médios, elevados, muito elevados). Esta classificação é estimada pelo agente que toca conta da ocorrência. O atributo Presumível_causa indica a principal causa do acidente do ponto de vista do agente (excesso de velocidade, manobra perigosa, mau estado do piso, etc).

AV (ID_acidente, ID_veículo) Comentários: Todos os atributos são auto-explicativos.

AC (ID_acidente, ID_condutor) Comentários: Todos os atributos são auto-explicativos.

a) Apresente um modelo para a Data Mart em questão, não esquecendo de deixar bem claro todos os factos, dimensões, granularidade e todos os aspectos relevantes para o projecto da Data Mart.

b) Explique que índices é que criava para o modelo a que chegou. No caso de não ter respondido completamente à alínea anterior (não ter chegado a um modelo bem definido) os critérios que utilizaria para definir os índices que lhe parecem mais indispensáveis.

c) Dos objectivos gerais da Data Mart (exemplificados anteriormente) dê um exemplo de uma pergunta que o modelo a que chegou não poderá responder e diga qual a razão (inexistência de dados na base de dados operacional, simplificações assumidas na concepção do modelo, etc).

7. A agência de viagens Detodomundo organiza viagens turísticas em grupo. Estas viagens caracterizam-se normalmente por

incluir um grande número de turistas (o número que justifique à agência o fretamento de um avião) e os destinos favoritos são normalmente estâncias balneares ou estâncias de neve. Nestas viagens os turistas pagam tudo à agência (regime de pensão completa), ficando esta encarregada de tratar de todos os aspectos da viagem, desde os voos aos hotéis, restaurantes e diversões. A agência Detodomundo está a construir uma Data Mart para optimizar a gestão deste ramo do seu negócio (i.e., o ramo das viagens de grupos de turistas para destinos específicos). Pretende basicamente comparar os lucros obtidos nos diferentes destinos turísticos, perceber a evolução da procura de cada destino a partir do número de viagens que faz para cada destino e da taxa de ocupação de cada viagem (rácio entre lotação máxima da viagem e número de turistas que efectivamente viajaram), etc, etc.

A figura que se segue mostra parte da estrutura (e de forma muito simplificada) da base de dados operacional que a agência usa para gerir o dia-a-dia do seu negócio. Como informações relevantes refere-se que no último ano a agência organizou perto de duas mil viagens para cerca de 40 destinos, num total de mais de 200 mil turistas. É importante notar que o custo de cada viagem para a agência, assim como o lucro obtido, podem ser completamente calculados a partir dos dados da base de dados operacional.

N

N

1 N

Infracção

1

N

Condutor

N

1

N1 Auto Veículo

N N Acidente

1

N

Agente

Page 6: Tópicos Avançados de Bases de Dados ESTG, Instituto ...josefonseca/TABD/TABD Exercicios praticos 2004...1 Tópicos Avançados de Bases de Dados ESTG, Instituto Politécnico da Guarda

Tópicos Avançados de Bases de Dados, 2004/2005 ESTG, Guarda

6

Atributos das tabelas são os seguintes (explica-se apenas o significado dos atributos que nos parecem menos evidentes). As chaves primárias estão sublinhadas mas as chaves forasteiras não se encontram assinaladas

Turista (ID_turista, Nome, Morada, Sexo, Data_nascimento, Nacionalidade) Comentários: Todos os atributos são auto-explicativos.

Turista_viagem (ID_turista, ID_viagem, Montante_pago, Data_pagamento) Comentários: Montante_pago representa o valor que o turista paga pela viagem. Este valor inclui tudo, desde os voos ao

hotel..

Viagem_grupo (ID_viagem, ID_destino, Data_início, Data_regresso, Número_máximo_turistas, Número_de_funcionários, Custos_fixos_viagem)

Comentários: Custos_fixos_viagem representam os custos fixos da viagem que não dependem do número de turista que constituem o grupo. Número_de_funcionários representa o número de funcionários da agência que acompanha o grupo de turístas na viagem.

Destino_turístico (ID_destino, Nome, Tipo, País, Custo_dia_turista) Comentários: Custo_dia_turista é o preço que a agência Detodomundo tem de pagar ao agentes locais do destino (hotel,

restaurante, etc) onde o turista fica hospedado.

Voo (ID_voo, ID_viagem, ID_aeroporto_partida, ID_aeroporto_chegada, Data_partida, Hora_partida, Data_chegada, Hora_chegada, Custo_total_voo)

Comentários: Custo_total_voo representa o valor total que a agência tem de pagar por fretar o avião para aquele voo.

Aeroporto (ID_aeroporto, Nome, Localidade, Pais, Tipo_aeroporto, Taxa_por_passageiro) Comentários: Taxa_por_passageiro é o valor que cada passageiro tem de pagar por usar o aeroporto. Normalmente este

valor já é incluído no preço do bilhete. Neste caso é incluído no montante total que o turista paga à agência..

a) Apresente um modelo para a Data Mart em questão, não esquecendo de deixar bem claro todos os factos, dimensões, granularidade e todos os aspectos relevantes para o projecto da Data Mart.

b) A descrição dos objectivos da Data Mart tal como foi efectuada no início desta pergunta é intencionalmente resumida, deixando por isso muitos possíveis objectivos em aberto. Imagine agora que a caracterização dos turistas era também um objectivo da Data Mart. Isto é, os gestores da agência queriam responder a perguntas do tipo qual a idade média dos turistas que escolhem certos destinos, qual a nacionalidade que mais procura as viagens que duram mais do que uma semana, etc. i) Explique que alterações faria ao seu modelo para passar a responder a este tipo de perguntas. No caso do modelo

apresentado na alínea anterior já contemplar estes tipos de perguntas explique em detalhe essa parte do modelo. ii) Diga, justificando e explicando a situação, se a seguinte pergunta poderia ser respondida pelo modelo proposto nas

alíneas anteriores: “Quantos turistas é que foram nos últimos dois anos mais do que uma vez para um dado destino”. c) Explique claramente que índices é que criava para o esquema proposto na alínea a). Se preferir pode responder para uma

estrela típica, mas neste caso terá de caracterizar muito bem as tabelas de dimensões e a tabela de factos que assume para essa estrela, de modo a justificar os índices propostos.

8. Um banco pretende construir uma Data Mart para apoio à decisão em diversas áreas do seu negócio. Por exemplo, pretende

identificar com precisão o perfil de cada cliente, no que toca ao tipo de movimentos por estes efectuados, a sua frequência, os montantes envolvidos, etc. Por outro lado, é preciso tomar decisões importantes sobre a abertura de novos balcões ou fecho de balcões pouco rentáveis, ou ainda sobre a instalação de novas máquinas ATM (multibancos), pelo que é muito importante entender onde é que os movimentos são efectuados. A figura que se segue é o diagrama ER (simplificado) da base de dados operacional do banco, mostrando-se também as tabelas correspondentes (explica-se apenas o significado dos atributos que nos parece menos evidente).

Clientes (ID_cliente, Nome, Morada, Cod_postal, Localidade, Data_nascimento, Data_inscrição, Sexo, Profissão, Estado_cívíl) Comentários: Todos os atributos são auto-explicativos.

Cartão (ID_cartão, ID_cliente, Número, Natureza, Tipo, Nome_Cliente_Cartão, Data_emissão, Data_limite, Montante_Crédito)

Comentários: Todos os atributos são auto-explicativos. A Natureza de cartão pode ser “Crédito” ou “Débito”, sendo que neste último caso o atributo Montante_Crédito será sempre nulo.

1

N

N1

Destino_turístico1

N

Turistas N N

1

N

Voo

O D

Viagem_grupo

Aeroporto

Page 7: Tópicos Avançados de Bases de Dados ESTG, Instituto ...josefonseca/TABD/TABD Exercicios praticos 2004...1 Tópicos Avançados de Bases de Dados ESTG, Instituto Politécnico da Guarda

Tópicos Avançados de Bases de Dados, 2004/2005 ESTG, Guarda

7

Conta (ID_conta, Tipo, Data_de_abertura, Saldo_disponível, Saldo_contabilistico) Comentários: Todos os atributos são auto-explicativos.

Conta_Cliente (ID_conta, ID_cliente) Comentários: Todos os atributos são auto-explicativos.

Movimento (ID_movimento, Tipo, Data, ID_conta, Valor, ID_local) Comentários: A Data é entendida como data e hora. O Tipo de pode ser: “Depósito”, “Levantamento”,

“Pagamento_serviço”, “Transferência”. Neste último caso, a conta para onde o montante é transferido não fica registada na base de dados, visto esta ser muito simplificada.

Local (ID_Local, Tipo, Referência, Rua, Cod_postal, Localidade) Comentários: O Tipo de local é “Balcão” ou “ATM”. O atributo Referência só é válido para as ATM (é nulo quando o

local é um balcão) e consiste na referência unívoca da máquina ATM.

Movimento _Cartão (ID_movimento, ID_cartão)

Apresente um modelo para a Data Warehouse em questão, não esquecendo de deixar bem claro todos os factos, dimensões, granularidade e todos os aspectos relevantes para o projecto da Data Warehouse.

9. O Instituto da Vinha e do Vinho (IVV) pretende construir uma Data Warehouse (DW) para apoio à decisão no tocante à gestão

das vinhas e da produção de vinho no nosso país. Nos últimos anos o IVV instalou uma base de dados operacional com terminais nas Adegas Cooperativas no sentido de recolher atempadamente informação sobre a produção de uvas dos diferentes vinhedos. O IVV tem também uma outra base de dados que têm o cadastro nacional das vinhas, contendo o número de pés de cada casta em cada vinhedo, a área do terreno, a sua localização, etc. Finalmente, há ainda a base de dados do Instituto Nacional de Meteorologia e Geofísica (INMG), à qual o IVV tem acesso, e onde são registados numa base diária a temperatura, a pluviosidade e as horas de sol em todas as estações de rastreio do INMG (uma por concelho, assumindo-se que as medidas tomadas para um concelho são válidas para qualquer ponto do concelho). São estas três bases de dados que vão constituir essencialmente a fonte de dados para a Data Warehouse. Os seguintes pontos definem melhor a situação, tanto nas suas características como nos objectivos pretendidos para a DW:

• Alguns aspectos importantes que o IVV pretende avaliar com a Data Warehouse são (e isto é apenas uma pequena amostra):

- Quais as castas que mais produzem em cada região, quer em quantidade quer em qualidade (avaliada pelo valor atribuído às uvas na vindima, por exemplo nas Adegas Cooperativas);

- Qual a evolução (ao longo do tempo) da produção de uvas para diferentes vinhedos, por diferentes regiões do país, por castas, por produtores de vinho, etc;

- Para uma dada casta qual o perfil de produção nos primeiros anos e quando é que a vinha atinge a idade de plena produção. Isto varia com o clima (região) e com o tipo de terreno em que está implantado o vinhedo, pelo que é importante perceber estas co-relações para que se possam estabelecer com segurança normas para o plantio de castas nas diferentes regiões do país;

- Tentar perceber quais as características meteorológicas (pluviosidade, temperatura média, condições na altura da vindima, etc) que mais afectam a produção em cada região;

- Relativamente aos produtores, é importante caracterizar a eficácia das suas explorações (rendimento por hectares de vinha ou por milhar de pés de uma dada casta) pois esta informação é relevante para a atribuição de subsídios de apoio à produção.

• A informação meteorológica tida como relevante para a colheita e qualidade das uvas de uma dada vinha pode ser obtida por caracterização da informação diária que está na base de dados do INMG. Ou seja, depois de analisada a informação que está na base de dados do INMG (registos diários da temperatura, pluviosidade e horas de sol em cada concelho), é

Balcão

d

N1Local 1N

NN

1

N

Conta

Movimento

1

N

Cartão

Clientes

ATM

Page 8: Tópicos Avançados de Bases de Dados ESTG, Instituto ...josefonseca/TABD/TABD Exercicios praticos 2004...1 Tópicos Avançados de Bases de Dados ESTG, Instituto Politécnico da Guarda

Tópicos Avançados de Bases de Dados, 2004/2005 ESTG, Guarda

8

possível obter o conjunto de atributos que caracterizam os factores meteorológicos que interessam para a vindima das vinhas de um dado concelho.

• Para cada terreno cadastrado no IVV está registado o número de videiras de cada casta plantadas no terreno (este número é aproximado, admitindo o IVV um erro até 5%), a data da sua plantação e o tipo de técnica usada no enxerto (isto pode variar de região para região). Cada terreno pode ter vários tipos de castas, mas nesse caso há registo independente para cada casta. Obviamente, o IVV tem também as características do terreno tais como a sua área, localização (freguesia, concelho e distrito), a identificação do seu proprietário, as características do terreno, etc;

• Nas vindimas cada proprietário de um vinhedo tem de declarar a produção de cada casta, o montante em que foi avaliado cada quilograma de uvas, actualizar dados relativos ao seu vinhedo (por exemplo, se houve alteração do número de pés de vinha para cada uma das castas), etc. Toda esta informação é canalizada para a base de dados do IVV através das Adegas Cooperativas.

• Actualmente existem em Portugal cerca 28000 produtores de vinho, tendo cada um deles uma média de 3,5 vinhedos num total de 20 milhões de pés de vinha. Há cerca de 50 castas diferentes, mas mais de 90% da produção é assegurada por um pequeno número de castas.

a) Apresente um modelo de dados para a DW em questão, não esquecendo de deixar bem claro todos os factos, dimensões, granularidade e todos os aspectos relevantes para o projecto (dimensões muito grandes se existirem, actualizações nas dimensões, factos não aditivos, etc). Assuma que as bases de dados à disposição do IVV contém toda a informação necessária para preencher as dimensões e os factos que entender necessários (obviamente, isto é uma situação ideal que nada tem a ver com a realidade da maioria dos projectos de DW). Ou seja, proponha um modelo usando essencialmente os objectivos de apoio à decisão, e não tendo em linha de conta as habituais restrições impostas pela informação efectivamente disponível nas bases de dados operacionais disponíveis.

b) Faça um cálculo aproximado do espaço que espera para a sua data warehouse e justifique as suas escolhas.