FICHA DE DISCIPLINA
Curso Mestrado em Engenharia Electrotécnica e de Computadores                  
Ano lectivo 1995/96                                                            
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            

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.

PRÉ-REQUISITOS

Supõem-se conhecimentos prévios em bases de dados relacionais e alguma exposição a linguagens de programação por objectos.

CONTEÚDO

Modelo relacional: vantagens e limitações. Sistemas de tipos e modelos de dados.

Linguagens persistentes; características do Napier88; funções de ordem superior; tipos de dados abstractos; persistência; concorrência.

Bases de dados orientadas por objectos; objectos complexos; linguagens de BDOO; o caso do Object Store; transacções; gestão de versões; a norma de BD de objectos ODMG.

Técnicas de implementação.

Bases de dados distribuídas.

Bases de dados dedutivas.

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.

BIBLIOGRAFIA OBRIGATÓRIA

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.

AVALIAÇÃO

Avaliação dos trabalhos práticos: 40%.

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

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 Napier88

Linguagens persistentes ortogonais.

Arquitectura do sistema e características do Napier88.

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