Unidade Curricular: | Código: | ||
Bases de Dados Avançadas | 1126BDAV | ||
Ano: | Nível: | Curso: | Créditos: |
1 | Mestrado | Engenharia Informática (Computação Móvel) | 6 ects |
Período Lectivo: | Língua de Instrução: | Nº Horas: | |
Primeiro Semestre | Português/Inglês | 78 | |
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 1.3. Tipos de 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. Variantes First Committer Wins e First Updater Wins 2.4. Novos níveis de isolamento. Serialização Multi-versão 2.4. Snapshot Isolation (SI). Anomalias SI 2.6. Aplicações de SI, produtos que usam 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. O Gestor de Memória 4.2. Gestão de memória, controlo de concorrência e recuperação 4.3. Algoritmos de substituição de páginas 4.4. O Gestor de Memória e recuperaçao. Métodos de recuperação 4.5. Shadow Paging e Logging. O método WAL 4.6. O algoritmo ARIES 5. Modelo Objecto-Relacional 5.1. Métodos de decomposição. Horizontal, Vertical e mistos 5.2. Considerações de desempenho 6 | |||
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 • O desempenho do aluno, incluindo assiduidade, resolução de problemas e participação activa nas aulas. | |||
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 | |||
Docente (* Responsável): | |||
Hélder Pinto (helderpinto@ufp.edu.pt) |