para Dispositivos
Móveis
Curso Técnico Superior Profissional
Desenvolvimento para Dispositivos Móveis
Área Científica
481 – Ciências Informáticas
Duração
Semestral
Unidade Curricular
Bases de Dados I
ECTS
3
Horas de Contacto Teórico Práticas
50h
Objetivos da Aprendizagem
1. Compreender os conceitos fundamentais de bases de dados;
2. Aplicar o modelo relacional para projetar e implementar bases de dados;
3. Manipular dados em bases de dados relacionais;
4. Compreender a arquitetura de sistemas de bases de dados e as tecnologias de armazenamento;
5. Aplicar os conhecimentos adquiridos em projetos práticos.
Conteúdos Programáticos
1. Introdução a Bases de Dados.
1.1. Conceitos básicos;
1.2. Definição de base de dados;
1.3. Tipos de bases de dados;
1.4. Arquitetura de um sistema de gestão de bases de dados;
1.5. Importância das bases de dados;
1.6. Aplicações de bases de dados;
1.7. Desafios na gestão de grandes volumes de dados.
2. Modelo Relacional.
2.1. Conceitos fundamentais;
2.2. Entidades e atributos;
2.3. Relacionamentos e cardinalidades;
2.4. Chaves primárias e estrangeiras;
2.5. Domínios e restrições;
2.6. Normalização de bases de dados:
2.6.1. Formas normais (1ª, 2ª, 3ª NF+);
2.6.2. Decomposição de tabelas.
2.7. Álgebra relacional:
2.7.1. Operadores relacionais;
2.7.2. Expressões e consultas.
2.8. Linguagem de Definição de Dados:
2.8.1. Linguagem SQL para criação e manipulação de estruturas de dados.
3. Linguagem de Manipulação de Dados.
3.1. Linguagem SQL para consulta e manipulação de dados:
3.1.1. Operadores de seleção, projeção, junção e agregação;
3.1.2. Subconsultas e consultas;
3.1.3. Funções e procedimentos armazenados;
3.1.4. Visões e índices;
3.2. Transações e controlo de concorrência:
3.2.1. Conceitos de ACID;
3.2.2. Locks e deadlocks;
3.2.3. Controlo de simultaneidade.
4. Arquitetura de Sistemas de Bases de Dados.
4.1. Modelos de arquitetura:
4.1.1. Cliente-servidor;
4.1.2. Distribuída;
4.1.3. Particionada.
4.2. Tecnologias de armazenamento:
4.2.1. Páginas de índice;
4.2.2. Árvores B;
4.2.3. Hashing.
4.3. Desempenho de bases de dados:
4.3.1. Otimização de consultas;
4.3.2. Indexação;
4.3.3. Cache.
4.4. Segurança de bases de dados:
4.4.1. Autenticação e autorização;
4.4.2. Criptografia;
4.4.3. Auditoria.
Bibliografia e recursos didáticos recomendados
Josephine Bush, Learn SQL Database Programming: Query and manipulate databases from popular relational database servers using SQL, Packt Publishing (29 May 2020).
Sergey Skudaev, Learn SQL by Examples, CreateSpace Independent Publishing Platform (12 Oct. 2012).
Chris Fehily, SQL Database Programming, Questing Vole Press (31 Jan. 2020).
Thomas LaRock, Pro SQL Server 2022 Wait Statistics: A Practical Guide to Analyzing Performance in SQL Server and Azure SQL Database, Apress; 3rd ed. edition (12 Jan. 2023).
Bill Karwin, SQL Antipatterns: Avoiding the Pitfalls of Database Programming, Pragmatic Programmers, LLC, The (10 July 2017).