Sistema de Gestão de Dados

Ano
2
Ano lectivo
2021-2022
Código
01016603
Área Científica
Informática
Língua de Ensino
Português
Outras Línguas de Ensino
Inglês
Modo de Ensino
Presencial
Duração
Semestral
Créditos ECTS
6.0
Tipo
Obrigatória
Nível
1º Ciclo - Licenciatura

Conhecimentos de Base Recomendados

Programação Procedimental e Resolução de Problemas; Programação Orientada a Objectos.

Métodos de Ensino

Aulas teóricas com exposição detalhada, recorrendo a meios audiovisuais, dos conceitos, princípios e teorias fundamentais.
Aulas práticas-laboratoriais em que se pretende que os alunos adquiram conhecimentos sobre ferramentas e técnicas para o desenvolvimento de sistemas com elevada dependência de dados e que, com a orientação do docente, desenvolvam um projeto prático.

Resultados de Aprendizagem

Esta unidade curricular tem por objectivo providenciar aos alunos uma visão abrangente sobre os sistemas ciberfísicos para gestão, acesso e armazenamento de dados. O aluno deverá ficar a conhecer os conceitos teóricos, técnicos e científicos em que se baseiam estes sistemas, nomeadamente, os modelos de dados, arquitetura de sistemas e software, protocolos, algoritmos, linguagens de gestão e acesso aos dados, assim como a instanciação destes conceitos em tecnologia e sistemas reais. O aluno deverá ser capaz de compreender de que forma estes conceitos são relevantes para o desenvolvimento e manutenção de sistemas de gestão de dados com elevada performance, segurança, manutenabilidade, disponibilidade e resiliência. Finalmente, o aluno será capaz de demonstrar como é que estes  conhecimentos podem ser aplicados no desenvolvimento de sistemas para processamento de dados em larga escala, em ambiente distribuídos, com suporte a processos computacionais de aprendizagem e análise de dados.

Estágio(s)

Não

Programa

1. Uma visão geral da tecnologia de armazenamento de dados e gestão de dados
2. Sistemas de Gestão de Bases de Dados Relacionais. Modelo de dados, modelo entidade-relacionamento, projeto de bases de dados, normalização e álgebra relacional.
3. Linguagem de Consulta Estruturada (SQL). Transações de bases de dados. OLTP.
4. API de mapeamento objeto-relacional. Programação de sistemas de bases de dados.
5. Data Warehouses. OLAP. ETL. Modelo multidimensional. Funções SQL especiais para análise de dados. Linguagem de consulta MDX.
6. Afinação do desempenho de bases de dados relacionais. Bases de dados em memória.
7. Bases de Dados Distribuídas: Clusters; Modelos de dados NoSQL e sistemas de gestão de dados.
8. Sistemas de gestão de dados na nuvem.
9. Sistemas de ficheiros; Sistemas de ficheiros de rede.
10. Redes de Armazenamento.
11. Dispositivos e Subsistemas em Redes de Armazenamento.
12. Virtualização de Armazenamento
13. Proteção de Dados, Backup e Recuperação.
14. Segurança de Dados.

Docente(s) responsável(eis)

Marco Paulo Amorim Vieira

Métodos de Avaliação

Avaliação
Exame: 40.0%
Projecto: 60.0%

Bibliografia

Kleppmann, Martin. Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. 2018.

Somasundaram, Gnanasundaram. Information Storage and Management: Storing, Managing, and Protecting Digital Information in Classic, Virtualized, and Cloud Environments. Indianapolis: Wiley, 2012.