Unidade Curricular:Código:
Bases de Dados Avançadas906BDAV
Ano:Nível:Curso:Créditos:
1MestradoEngenharia Informática (Sistemas de Informação e Multimedia)6 ects
Período Lectivo:Língua de Instrução:Nº Horas:
Português/Inglês78
Objectivos de Aprendizagem:
Esta unidade curricular tem os seguintes objetivos de aprendizagem:
• Conhecer em detalhe a arquitetura clássica de um SGBD, descrevendo em detalhe os seus algoritmos internos.
• Identificar e ser capaz de utilizar técnicas recentes e avançadas (por exemplo em controlo de concorrência, gestão de memória, recuperação e disponibilidade)
• Analisar e otimizar código transacional, identificando as causas de possíveis anomalias e corrigindo-as.
• Decidir questões de otimização, conhecendo a carga do sistema, manipulando índices, escolhendo tipos de dados, e modificando consultas.
• Identificar limitação do Modelo Relacional em algumas situações.
• Analisar, descrever e utilizar outros modelos que não o Relacional.
• Analisar, comparar e avaliar modelos e arquiteturas diferentes em diferentes contextos.
Conteúdos Programáticos:
1. Arquitetura de um SGBD
1.1. Componentes de um SGBD
1.2. Transações
2. Controlo de Concorrência
2.1. Algoritmos de Fechos, Otimistas e Marcas Temporais
2.2. Controlo de Concorrência Multi-versão
2.3. Snapshot Isolation (SI). Anomalias SI
3. Armazenamento
3.1. N-ary (NSM), Decomposition Storage Model (DSM), Partition Attributes across Model (PAX)
3.2. Modelo Clotho. Análise de desempenho
4. Recuperação
4.1. Gestão de memória, controlo de concorrência e recuperação
4.2. Shadow Paging e Logging. O método WAL
4.3. O algoritmo ARIES
5. Modelo Objecto-Relacional
5.1. Métodos de decomposição. Horizontal, Vertical e mistos
6. Bases de Dados Orientadas a Objetos
Demonstração da Coerência dos Conteúdos Programáticos com os Objectivos da Unidade Curricular:
Os conteúdos programáticos cobrem os objectivos previstos, estando organizados em unidades que cobrem o estudo aprofundado dos componentes principais de um SGBD clássico, e a análise de novos modelos e arquiteturas. É uma unidade curricular de formação avançada, e os alunos têm a possibilidade de testar e de avaliar a implementação das técnicas, modelos e algoritmos estudados em produtos reais, comerciais ou não.
Metodologias de Ensino (Avaliação Incluída):
Como todos os alunos dispõem de um portátil, instalam um SGBD com o qual trabalham parte da unidade curricular. Um SGBD de diferentes características (em colunas) é instalado para a parte final do conteúdo. As aulas Práticas Laboratoriais baseiam-se no desenvolvimento de mini-trabalhos, geralmente implicando a construção desde a conceção de uma base de dados. A base de dados construída é utilizada para resolução de exercícios. A instalação, configuração e administração das bases de dados fica a cargo dos alunos.
O método de avaliação compreende duas componentes:
A avaliação da componente teórico-prática inclui:
• 2 Testes escritos de avaliação individual
A avaliação prática inclui:
•A entrega nos prazos dos exercícios propostos.
• A apresentação dos dois projetos desenvolvidos
Demonstração da Coerência das Metodologias de Ensino com os Objectivos de Aprendizagem da Unidade Curricular:
Os objectivos de aprendizagem estão centrados na compreensão do funcionamento interno de um SGBD, do conhecimento dos seus componentes, e da análise de algoritmos e das implicações no desempenho. A resolução de exercícios práticos, combinados com implementação e programação, permite aos alunos adquirirem as competências necessárias.
Bibliografia:
1. Feliz Gouveia, Bases de Dados – Fundamentos e Aplicações, FCA, Lisboa, 2021.
2. Blaha, M., Premerlani, W. (1998). Object-Oriented Modeling and Design for Database Applications, Prentice-Hall.
3. Philip A. Bernstein, Vassos Hadzilacos, Nathan Goodman, Concurrency Control and Recovery in Database Systems, Addison-Wesley, 1987.
4. Chaudhri, A., Mary Loomis (1998), Object Databases in Practice, Prentice-Hall.
5. Jeffrey Ullman, Jenniffer Wisdom, Database Systems: the complete book, Prentice-Hall, 2008.
6. Manuais: PostgreSQL, MonetDB, db4o