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).

INTERNET:
Acesso a publicações da especialidade, gratuitamente, através da rede SPRINGER: