2. Programa da disciplina

Propaganda
Tópicos Avançados de Bases de Dados
2005/2006
Henrique Madeira
Programa proposto
1. Objectivos da disciplina
Esta disciplina visa formar os alunos em aspectos avançados de bases de dados que, pela
sua natureza especializada ou pelo seu carácter recente, não foram contemplados na formação
base ministrada nas disciplinas que a antecederam.
O estudo das bases de dados de apoio à decisão (data warehouses) constitui o objectivo
enquadrador da disciplina, na sua vertente mais teórica. Tal deve-se a duas ordens de razões:
 As data warehouses são bases de dados avançadas que assumem actualmente uma
grande importância no mercado da informática, sendo essencial preparar os futuros
engenheiros para os desafios da concepção e administração data warehouses.
 As data warehouses, pela sua complexidade e pelo grande volume de dados, são o
contexto ideal para a introdução dos tópicos avançados de bases de dados mais
relevantes, tais como:
o Novos modelos de dados (modelo mutidimensional);
o Formas de indexação avançada, tais como índices bitmap e índices de funções;
o Optimização de queries;
o Vistas materializadas;
o Concepção física com vista à optimização do desempenho de bases de dados;
o Administração de bases de dados.
Para além das data warehouses e dos tópicos avançados que decorrem do estudo deste
tipo de bases de dados, foram detectados dois assuntos (considerados matéria básica em bases
de dados) em que os alunos mostravam dificuldades, pelo que foram incluídos no conjunto de
objectivos da disciplina:
 Transacções e controle de concorrência.
 Índíces (básicos, do tipo B-tree) e estratégias de indexação;
No tocante à componente mais prática, o objectivo da disciplina consiste na consolidação
os conhecimentos dos alunos na área de bases de dados, através do desenvolvimento completo
de uma aplicação base de dados típica e de exercícios práticos sobre transacções, controlo de
concorrência e indexação. A opção pela consolidação da matéria básica de bases em
detrimento de exercícios práticos sobre os tópicos avançados de data warehouses, afigurou-se
mais proveitosa face aos conhecimentos prévios evidenciados pelos alunos.
Instituto Politécnico da Guarda, Escola Superior de Tecnologia e Gestão, Tópicos Avançados de Bases de Dados
2. Programa da disciplina
2.1. Aulas teóricas
2.1.1. Aspectos gerais do programa teórico
Após a revisão de conceitos básicos em bases de dados e do preenchimento de
algumas lacunas na formação dos alunos (e.g., transacções e controle de concorrência), que
ocupa as aulas iniciais, as aulas teóricas passa a abordar o assunto das bases de dados de apoio
à decisão (Data Warehousing). Podemos dividir então os assuntos abordados nas aulas
teóricas nas seguintes partes:
Revisão de conceitos básicos em bases de dados
Esta revisão é feita essencialmente nas aulas iniciais em que se procura recordar os
conceitos básicos em bases de dados, tais como modelo relacional, normalização, integridade,
modelação de dados usando ERs, concepção de aplicações de bases de dados, etc. Ao longo
da matéria de Data Warehousing também se procurará complementar a formação dos alunos
em aspectos básicos que, por uma razão ou por outra, não foram abordados em disciplinas
anteriores e que surge naturalmente ao abordar a matéria de Data Warehousing. Exemplos
destes tópicos são os métodos de acesso a dados e os índices.
Data Warehousing
A matéria de Data Warehousing é organizada em três grandes partes, cada uma com
objectivos de formação bem específicos e enquadrados nos objectivos gerais da disciplina
anteriormente referidos.
Parte 1 - Modelo Multidimensional e Conceitos Importantes em Data Warehousing
Neste conjunto de aulas procura-se apresentar e discutir o modelo multidimensional e
os conceitos relevantes em Data Warehousing. Os aspectos introdutórios e de
enquadramento do assunto do Data Warehousing são fornecidos à custa da análise de
um conjunto de exemplos, que, partindo de situações reais (mas genéricas, tais como a
gestão de uma cadeia de lojas ou de uma empresa de telecomunicações), procuram
motivar os alunos através da ilustração prática dos objectivos e das potencialidades
das Data Warehouses.
Parte 2 - Processo de Concepção e Desenvolvimento de uma Data Warehouse
O objectivo deste conjunto de aulas é dominar o processo de concepção e
desenvolvimento de uma Data Warehouse em todas as suas fases. Muitos dos
Henrique Madeira
2
Instituto Politécnico da Guarda, Escola Superior de Tecnologia e Gestão, Tópicos Avançados de Bases de Dados
conceitos teóricos já abordados na Parte 1 serão aqui revisitados e aprofundados,
beneficiando do facto de, nesta etapa, serem enquadrados no processo de concepção e
desenvolvimento das Data Warehouses. Para além dos passos considerados clássicos
no desenvolvimento de uma Data Warehouse, será dada grande atenção à resolução de
situações em que o modelo multidimensional (na sua versão ROLAP, ou seja, modelos
em estrela) necessita de técnicas particulares.
Parte 3 - Administração e Manutenção de Data Warehouses
Este conjunto de aulas estabelece a ponte para aspectos de cariz mais tecnológico. É
dada particular atenção ao problema da gestão do espaço/desempenho numa Data
Warehouse. As soluções para este problema são abordadas nos seus diferentes níveis,
desde aspectos que se situam ao nível da boa administração da base de dados e do
correcto projecto físico das tabelas, até às soluções avançadas específicas das Data
Warehouses, como é o caso de índices bit-map, star-joins, agregados ou
particionamento de dados. É abordado o ciclo de vida típico de uma Data Warehouse,
com particular destaque para a discussão das dificuldades (e possíveis soluções)
encontradas quer no carregamento inicial, quer nas actualizações periódicas.
2.1.2. Programa teórico detalhado
I - Revisão de conceitos básicos em bases de dados
Visão geral dos sistemas de bases de dados: SGBDs, SQL, aplicações de bases de dados, etc
Modelo relacional

Aspectos básicos

Integridade dos dados

Chaves e restrições de integridade relacional

Dependências funcionais e normalização

Operações relacionais e aspectos básicos de SQL
Concepção de esquemas de bases de dados

Diagramas de Entidade-Relacionamento (ER): aspectos básicos

Concepção de esquemas de dados relacionais usando ERs

Tradução de diagramas ER para esquemas relacionais

Normalização dos esquemas relacionais gerados a partir de ERs: o que é preciso fazer?
Transacções e controlo de concorrência
Henrique Madeira
3
Instituto Politécnico da Guarda, Escola Superior de Tecnologia e Gestão, Tópicos Avançados de Bases de Dados
II - Data Warehousing
Parte 1 – Modelo Multidimensional e Conceitos Importantes em Data Warehousing
Bases de dados para apoio à decisão: terminologia e principais conceitos (Data Warehouses (DW),
Data Marts, OLAP, ROLAP, MOLAP, EIS, ODS, etc)
Arquitectura de BDs de uma organização
BD operacionais vs Data Warehouses
Volume de dados típicos de uma DW
Características das DW
Dependência temporal
Não volatilidade
Orientadas para fins específicos
Integração e consistência de informação
Optimização das consultas
Meta-dados
O modelo multidimensional (modelo conceptual)
Modelo em estrela
Exemplos de modelos em estrela
Algumas características do modelo em estrela
Estudo detalhado de alguns exemplos:
Exemplo 1: Cadeia de lojas
A dimensão tempo
A dimensão produto
A dimensão loja
A dimensão promoções
Exemplo 2: Existências em armazéns
Fotografia periódica de existências
Registo de transacções de existências
Cálculo simplificado do espaço ocupado
Densidade e esparsidão
Cálculo (simplificado) do espaço em disco ocupado por uma DW
Parte 2 - Processo de Concepção e Desenvolvimento de uma Data Warehouse
Passos na construção de uma DW: primeira abordagem
Objectivos a atingir com a DW
Infra-estrutura para projecto
Identificar modelo de dados das BD fonte
Henrique Madeira
4
Instituto Politécnico da Guarda, Escola Superior de Tecnologia e Gestão, Tópicos Avançados de Bases de Dados
Dados históricos, de referência e sínteses
Definir modelo de dados da DW
Modelos na construção de uma DW
Definir regras para o mapeamento de dados
Extrair, integrar, purificar e racionalizar os dados
Exploração, afinação e avaliação de eficácia
Passos para definir o modelo dimensional: abordagem iterativa
Identificar o processo de negócio/actividade
Escolher a ganularidade dos dados a registar;
Identificar dimensões;
Identificar os factos.
Cálculo simplificado do espaço ocupado
Redução espaço ocupado: abordagem simplista
Exemplos de definição de modelos em estrela
Modelos com diversas estrelas
Exemplos de múltiplas estrelas
Problemas, peculiariedades e limitações do modelo
Dimensões grandes
Flocos de neve
Vantagens e desvantagens de flocos de neve
Mini-dimensões
Alterações (actualizações) em dimensões
Três técnicas para lidar com actualizações nas dimensões
Escrever por cima
Inserir um registo novo na dimensão com os valores actualizados
Ter atributos na dimensão que permitam registar a evolução no tempo
Exemplos
Dimensões “sujas”
Produtos heterogéneos
Solução para a heterogeneidade numa dimensão
Tabelas de factos sem factos
Exemplos de tabelas de factos sem factos
Tabelas de cobertura: representação de eventos que não aconteceram
Exemplo da cadeia de lojas, com cobertura de promoções
Estudo de exemplos de DW: sector bancário e telecomunicações
Henrique Madeira
5
Instituto Politécnico da Guarda, Escola Superior de Tecnologia e Gestão, Tópicos Avançados de Bases de Dados
Parte 3 – Administração e Manutenção de Data Warehouses
O problema do espaço e da performance: discussão de possíveis soluções
Agregados (vistas materializadas)
Vantagens e problemas dos agregados
Outros processos de acelerar as respostas
Técnicas para armazenamento de agregados
Exemplos de agregados: cadeia de lojas
Quantos agregados são necessários?
Método dos atributos de nível e contagem dupla
Agregados e esparsidão
Administração da DW: conceitos gerais
Projecto físico das tabelas de uma DW
Índices B-Tree e bit-map
Estratégias para indexação de modelos em estrela
Sistemas de discos e RAID
Diferentes níveis de RAID e acessos típicos numa DW
Ritmo típico de uma DW
Extracção de dados
Exploração da Informação e OLAP
2.2. Aulas práticas
As aulas práticas são essencialmente dedicadas ao apoio à execução do trabalho prático
(embora este trabalho seja também feito autonomamente pelos alunos fora do horário das
aulas). Neste trabalho pretende-se que os alunos tenham uma verdadeira experiência prática
de desenvolvimento de uma aplicação de bases de dados, em todas as suas fases, incluindo
ainda as componentes essenciais da administração da base de dados. Os trabalhos são
realizados por grupos de dois ou três alunos.
Para além do apoio ao trabalho prático, são efectuados exercícios práticos sobre os
seguintes tópicos:
 Transacções e controle de concorrência.
 Índíces (básicos, do tipo B-tree) e estratégias de indexação.
 Concepção de modelos de estrela para Data Warehouses (estas aulas práticas serão
leccionadas em horário de aulas teóricas, pois destinam-se especificamente a
consolidar aspectos teóricos de matéria de Data Warehousing)
Henrique Madeira
6
Instituto Politécnico da Guarda, Escola Superior de Tecnologia e Gestão, Tópicos Avançados de Bases de Dados
3. Bibliografia
A bibliografia proposta para a disciplina é a seguinte:

Apontamentos fornecidos pelo docente.

Livro base para o estudo de data warehouses:
“The Data Warehouse Lifecycle Toolkit: Expert Methods for Designing, Developing,
and Deploying Data Warehouses”, Ralph Kimball, Laura Reeves, Margy Ross,
Warren Thornthwaite, John Wiley & Sons, ISBN 0471255475, edição de 2001.

Manuais do Oracle 10g.
4. Avaliação
A avaliação é composta de duas partes:
 Testes escritos (frequência, exame e exame de época recurso) cotados para 10 valores
(escala de 20).
 Trabalho prático cotado para 10 valores. Os trabalhos são avaliados pela
documentação produzida (ver enunciado dos trabalhos) e pela demonstração e defesa
do trabalho efectuada por cada grupo perante os docentes.
Guarda, 13 de Setembro de 2005
Henrique Santos do Carmo Madeira
Henrique Madeira
7
Download