FICHA DE DISCIPLINA
Curso Mestrado em Engenharia Electrotécnica e de Computadores                  
Ano lectivo 1996/97                                                            
Nome da disciplina Tópicos Avançados de Bases de Dados                         
Ano 1                      Semestre  2             Escolaridade  3h T          
Departamento que lecciona a disciplina DEEC                                    
Docentes Gabriel David; João Correia Lopes                                     
Turmas: teóricas 1         práticas                teórico/práticas

  1. OBJECTIVOS
Estudar as tendências actuais de evolução dos sistemas de gestão de bases de dados, em particular os baseados em tecnologia orientada por objectos. Pretende-se que os alunos utilizem efectivamente alguns sistemas, através da feitura de trabalhos práticos.
  1. PRÉ-REQUISITOS
Supõem-se conhecimentos prévios em bases de dados relacionais e alguma exposição a linguagens de programação por objectos.
  1. CONTEÚDO
Modelo relacional: vantagens e limitações. Sistemas de tipos e modelos de dados.

Linguagens persistentes; características do Napier 88; funções de ordem superior; tipos de dados abstractos; persistência; concorrência. Tipos recursivos. Implementação de sistemas persistentes. Construção incremental.

Bases de dados orientadas por objectos; objectos complexos; linguagens de BDOO. Estudo de um SGBDOO: o Object Store. Criação de BD; criação e acesso a objectos persistentes; transacções; coleccies, cursores, caminhos e gamas; pesquisa; Ìndices; regras de integridade, associaÁies e membros inversos; gestão de versões. A norma de BD de objectos ODMG.

  1. METODOLOGIA DA DISCIPLINA
As aulas serão usadas para exposição formal da matéria, acompanhada da apresentação de exemplos, resolução de pequenos exercícios e sua discussão. Serão adicionalmente propostos trabalhos de média dimensão envolvendo o uso efectivo de sistemas persistentes e de BDOO.
  1. BIBLIOGRAFIA OBRIGATÓRIA
  2. BIBLIOGRAFIA RECOMENDADA
* Serge Abiteboul, Richard Hull, Victor Vianu. Foundations of Databases.

Addison-Wesley Publishing Company, 1995.

* Roderic G. G. Cattell. Object Data Management.

Addison-Wesley Publishing Company, Reading MA, 1991.

* Roderic G. G. Cattell. The Object Database Standard, ODMG-93.

Morgan Kaufann Publishers, San MAteo CA, 1994.

* Claude Delobel, Christophe Lecluse, Philippe Richard. Databases: from Relational to Object-Oriented Systems.

International Thomson Publishing, 1995.

* Setrag Khoshafian. Object Oriented Databases.

John Wyley & Sons, New York, 1993.

* Object Store User Guide (Release 4).

Object Design Inc., Burlington, MA, 1995.

* Norman Paton, Richard Cooper, Howard Williams, Philip Trinder. Database Programming Languages.

Prentice Hall International, 1996.

* Jeffrey Ullman. Principles of Database and Knowledge-Base Systems.

Computer Science Press, 1988.

  1. AVALIAÇÌO
Avaliação dos trabalhos práticos: 40%.

Exame: 60% (prova com consulta, com a duração de 2H30 horas).

  1. PROGRAMA DETALHADO
1 Sistemas relacionais

Modelo relacional: vantagens e limitações.

Novas aplicações.

Modelo entidade-associação.

2 Tipos

Sistemas de tipos e modelos de dados.

Linguagens de programação de BD.

3 Linguagem Napier 88

Linguagens persistentes ortogonais.

Arquitectura do sistema e características do Napier 88.

4 Persistência

Funções de ordem superior. Verificação de tipos.

Ligação. Tipos de dados abstractos.

Construção incremental e evolução.

Persistência.

Proposição de trabalho prático.

5 Concorrência

Reflexão linguística e evolução.

Concorrência (threads, semáforos e transacções).

6 Bases de dados orientadas por objectos

Conceitos de orientação por objectos.

Objectos complexos. Restrições de integridade.

7 Linguagens de BDOO

Extensão de linguagens de BD com características OO.

Extensão de linguagens de programação OO com características de BD.

Colecções. Interrogações e índices.

O caso do Object Store.

8 Concorrência em BDOO

Transacções. Controlo da concorrência. Gestão de versões.

Proposição de trabalho prático.

9 A norma de BD de objectos ODMG

O modelo de objectos.

Linguagem de definição de objectos.

Linguagem de interrogação de objectos.

Concretizações em C++ e Smalltalk.

10 Técnicas de implementação

11 Bases de dados distribuídas

Concorrência em ambientes distribuídos.

Arquitecturas cliente-servidor.

12 Bases de dados dedutivas