Licenciatura em Engenharia Informática e de Computadores
Tecnologia de Sistemas de Gestão de Bases de Dados
Ano lectivo de 2000/2001

Sumários das aulas

Número Datas Assunto Acetatos

1

19-02-2001

Apresentação da disciplina: objectivo, conteúdo, metodologia, bibliografia e avaliação.
Introdução aos Sistemas de Bases de Dados: conceito de base de dados (BD) e de Sistema de Gestão de Bases de Dados (SGBD); vantagens dos SGBDs; conceito de modelo de dados; os 3 níveis de abstracção de uma BD; independência lógica e física dos dados; arquitectura de um SGBD.
Apresentação, Introdução

2

22-02-2001

Revisão do Modelo Relacional: conceito de relação e de esquema relacional; restrições de integridade relacional, chaves candidatas, chaves primárias e chaves estrangeiras.
Revisão de linguagens relacionais. Álgebra Relacional: selecção, projecção, produto cartesiano, diferença, reunião, intersecção, junção condicional, junção natural e divisão; exemplos de aplicação.
Modelo Relacional

3

01-03-2001

Estruturas Físicas, discos e ficheiros: discos, hierarquia de memória, gestão de espaço em disco, gestor de buffers do SGBD, ficheiros de registos, Heaps, índices, formatos de página, formatos de registos. Dicionários de Dados. Discos e Ficheiros

4

05-03-2001

Organização de ficheiros e índices: alternativas, análise de custos das operações de inserção, remoção, pesquisa sequencial, procura com igualdade, procura num intervalo.
Índices: alternativas para a entradas de dados, classificação de índices, chaves de procura compostas, índices em SQL92.
Organização de Ficheiros e Índices

5

08-03-2001

Índices baseados em árvores: ficheiros sequenciais indexados, selecção, inserção e remoção em ISAM; B+Tree, selecção, inserção e remoção em B+Trees. Compressão de chaves, carregamento em bloco de B+Trees. Índices baseados em árvores

6

12-03-2001

Índices baseados em "hashing": hashing estático, hashing extensível, utilização de um directório, hashing linear, exemplos.

Índices baseados em hashing

7

15-03-2001

Ordenação Externa: ordenar para quê? K-way external merge sort, custo em I/O, número de passos, algoritmos de ordenação interna, duplo buffering, block I/O, uso de B+ trees para ordenação.

Ordenação Externa

8

22-03-2001

Avaliação de operadores relacionais: junções com igualdades numa coluna, simple nested loops join, indexed nested loops join, block nested loops join, sort-merge join, hash join, condições gerais de junção, selecções simples, utilização de um índice para selecções, condições de selecção gerais, projecções, projecção baseada em hashing, operações com conjuntos, operações de agregação.

Avaliação de operadores relacionais

9

26-03-2001

Optimização de interrogações: planos de execução, blocos de interrogação como unidade de investigação, estimação de custos, estatísticas e catálogos, estimação de tamanho e factores de redução, equivalências em Álgebra Relacional, enumeração de planos alternativos, estimação de custos para planso só com uma relação e com várias relações, planos "left-deep", interrogações encaixadas,

Optimização de interrogações

10

29-03-2001

Limitações do modelo relacional e Outros Modelos: vantagens do modelo relacional; limitações das linguagens relacionais; C embebido e desadaptação de impedâncias; nova geração de sistemas; fosso semântico.
SGBD Orientados por Objectos e Relacionais-Objecto: motivação; aplicação de SGBDOO; SGBDRO; tipos complexos; tipos de dados abstractos; coleções encaixadas, tipos referência, expressões de caminho e herança. Novas facilidades da DML, modificações para suportar SGBDRO.

Outros Modelos de Dados

11

02-04-2001

ODMG2.0: utlilização de um SGBDOO; Modelo de objectos e ODL (Object Definition Language): tipos, herança, extensões e chaves, propriedades e operações. Colecções. Transacções. Operações de Bases de Dados. OQL (Object Query Language); expressões de caminho; invocação de operações
Bindings ODMG para Java; implementações.
Exemplo de aplicação usando Poet 5.0.

ODMG2.0

12

05-04-2001

JDBC: arquitectura, tipos de drivers, cenários de utilização, mapeamento de tipos, execução de interrogações, excepções.
SQLJ: SQL embebido em Java, arquitectura, variáveis e cláusulas, resultados e iteradores.
Exemplo de aplicação com uma arquitectura de 3 camadas, servlets e HTML.

JDBC e SQLJ

13

19-04-2001

SQL-3: SGBD Relacional-Objecto.
Introdução, modelo e tipos básicos; Introdução, modelo e tipos básicos; Equivalência de tipos; Extensões ao Sistema de Tipos.
Linguagem de Manipulação de Dados (DML): interrogação e modificação, operações com conjuntos, duplicados, junções.

SQL-3, introdução

14

23-04-2001

Linguagem de Interrogação: subperguntas; agregação.
Linguagem de Modificação. Operações com valores nulos e lógica de três valores.
Linguagem de Definição de Dados; índices; vistas: vistas modificáveis, vistas e segurança.

--

15

26-04-2001

Tipos de Dados Abstractos (ADT): atributos, criação e iniciação (funções construtor), funções destrutor, interface pública, privada e protegida, uso de ADTs, funções observador e modificador, subtipagem, herança, substitutabilidade, predicados de tipo, ligações estáticas e dinâmicas de funções, despacho dinâmico.

ADTs

16

30-04-2001

Persistência, tabelas base persistentes, tabelas globais temporárias, tabelas locais temporárias, tabelas vista, tabelas derivadas. Persistência de ADTs. Módulos persistentes.
Tipos colecção: colecções de ADTs, tipo ROW, tipos referência, tipo SET, tipo LIST, tipo MULTISET, construtores de tipos colecção, interrogações sobre colecções, manipulação de colecções.

Persistência e colecções

17

03-05-2001

Regras de integridade e gatilhos. Restrições de Integridade em SQL-92: restrições de chave, R.I. referencial, restrições baseadas em atributos, restrições baseadas em tuplos, asserções em SQL-92, avaliação de asserções. Manutenção de restrições de integridade.
Gatilhos em SQL-3: definição de gatilhos, modelo de execução, criação, eventos, granularidade, variáveis e tabelas de transicção, condições, acções e tempo de activação. Asserções em SQL-3.
R.I e gatilhos

18

14-05-2001

Arquitectura SQL. Módulos de cdiente e módulos de servidor. Rotinas do esquema: SQL e externas. Elementos procedimentais de SQL: comandos compostos, declaração de variáveis e atribuição, execução condicional. Excepções e tratamento de condições. SQL recursivo.

Módulos persistentes

19

17-05-2001

XML: introdução, documentos XML, documentos XML bem-formados; validade, exemplos de utilização de XML para troca de dados e para publicação de informação.
Anotação de documentos, elementos, atributos, declarações, instruções de processamento.

XML

20

21-05-2001

Estrutura física de um documento XML: distribuição por componentes, entidades internas e externas de texto, entidades binárias.
Estrutura lógica de um documento XML: Document Type Definition (DTD), estrutura de um DTD, processamento de DTDs, declaração de elementos, declaração de atributos, tipos, secções condicionais, declaração de notações.

--

21

24-05-2001

XML Namespaces.
Exemplo de documento XML com dados relacionais e respectivo DTD; exemplo de documento XML com dados orientados por objectos e respectivo DTD.
Ligações entre objectos: XLINK, XPOINTER.

--

22

28-05-2001

Processamento de XML, ler e escrever XML, arquitectura do processador de XML.
DOM 1.0: Document Object Model DOM API Core e XML, interfaces Node, Element e Document. Exemplo de processamento de XML com DOM em Java.
SAX 1.0: Simple API for XML, call-back interface, Java SAX API, interfaces Parser, DocumentHandler e HandlerBase. Exemplo de processamento de XML com SAX em Java.

--

23

31-05-2001

Transformação de XML com XSLT.
Apresentação de XML: CSS, regras e propriedades; ligação de CSS a XML; formatação de documentos com XSL, autoria, objectos de formatação e FO DTD, transformação de XML com XSLT, transformação para HTML, templates e regras XSLT, navegação com Xpath.

XSL

24

04-06-2001

Gestão de Transacções: transacções, concorrência, propriedades ACID, escalonamentos, anomalias com execuções entrelaçadas, bloqueios, protocolo das duas fases, teste de seriabilidade para escalonamentos com bloqueios partilhados, grafo de serialização.
Recuperação: o jornal, recuperação de uma falha, checkpoints.
Gestor de bloqueios, gestor de concorrência, suporte de transacções em SQL92.

Transacções

25

07-06-2001

Sistemas de apoio à decisão: OLTP e OLAP, Data Warehousing, modelo de dados multidimensionais, MOLAP e ROLAP, interrogações OLAP, operador CUBE, projecto para OLAP.
Data Mining e regras associativas.

SAD