Bases de Dados

 

Denominação Estratégia ECTS
Bases de Dados Teórica/prática e Prática laboratorial

6

Área científica: Ciências da Especialidade/Aplicadas
Objectivos de aprendizagem:

Conhecer a arquitetura clássica de um SGBD, identificando os seus componentes.
Analisar e desenhar logicamente modelos de bases de dados, utilizando o modelo ER.
Desenhar e otimizar fisicamente modelos de bases de dados.
Utilizar a Álgebra Relacional como linguagem de consultas.
Escrever consultas em SQL.
Compreender as estruturas de armazenamento, e otimizar índices.
Compreender as implicações do controlo de concorrência.
Adequar os acessos SQL para minimizar problemas de concorrência.
Compreender o problema.

Síntese programática:

1. Introdução
1.1. Arquitectura de referência de um SGBD (ANSI)
1.2. Componentes de um SGBD
2. O Modelo Relacional
2.1. Relações
2.2. Regras de integridade
2.3. Dependências Funcionais e Multi-valor
2.4. Normalização
2.5. Formas Normais
3. Concepção de Bases de Dados Relacionais
3.1. Modelo Entidade-Relacionamento (ER)
3.2. Conceitos básicos do Modelo ER
3.3. Mapeamento do modelo ER em relacional
4. Álgebra Relacional
4.1. Operadores da álgebra
5. SQL: Structured Query Language
5.1. SQL e Álgebra Relacional
6. Armazenamento
6.1. Modelos de Armazenamento
6.2. Análise de NSM, DSM, PAX
7. Controlo de Concorrência
7.1. Transações e conflitos
7.2. Escalonamentos
7.3. Algoritmos de controlo de concorrência
7.4. Níveis de isolamento
8. Recuperação

Competências específicas adquiridas:

– Compreender os fundamentos teóricos do Modelo Relacional de Dados, sendo capaz de identificar dependências funcionais e normalizar relações

– Administrar Sistemas de Gestão Bases de Dados, optimizando acessos e desempenho, gerindo utilizadores e permissões, mantendo a integridade dos dados, importando e exportando dados, e assegurando a segurança da informação

– Dominar e compreender a Linguagem de Definição de Dados

– Programar interrogações à Base de dados, utilizando SQL, em linha de comando ou embebida em linguagens de programação

– Manter a integridade da Base de Dados, através da correcta utilização de mecanismos de transacções

– Manter, optimizar e dimensionar índices para optimizar o desempenho e o espaço em disco

– Conceber modelos de Bases de Dados, utilizando notações Entidade-Relacionamento

– Programar Bases de Dados na web, dominando conceitos de transacções, segurança, optimização. 

Referências bibliográficas:

[1] Feliz Gouveia, Fundamentos de Bases de Dados, Fca, 2014.

[2] Chris J. Date, An Introduction to Database Systems, 6º ed., Addison-Wesley, USA, 1995.

[3] Luís Damas, SQL: Structured Query Language, FCA, Lisboa, 2000.

[4] Jeffrey Ullman, Jenniffer Wisdom, A First Course in database Systems, Prentice-Hall, 2000.

[5] Philip A. Bernstein, Vassos Hadzilacos, Nathan Goodman, Concurrency Control and Recovery in
Database Systems, Addison-Wesley, 1987.