Bases de Dados

TeSP - Tecnologia e Programação em Sistemas de Informação

8 ECTS; 1º Ano, Anual, 90,0 TP

Docente(s)
- António Casimiro Teixeira Batista
- José Casimiro Nunes Pereira

Pré-requisitos
Não aplicável.

Objetivos
No final do curso, os alunos devem ser capazes de:
modelar bases de dados, recorrendo ao Modelo Relacional, proposto por E. F. Codd;
executar, com sucesso, comandos SQL para interrogar e manipular a estrutura de dados de uma base de dados relacional.

Programa
1. Introdução.
1.1. Importância e influência das Bases de Dados nas sociedades atuais.
1.2. Objetivo/Função dos SGBD(DBMS).
1.3. Abstração dos dados.
1.4. Modelos de dados.
1.5. Instâncias e esquemas.
1.6. Independência de dados.
1.7. Linguagem de definição de dados (DDL) e linguagem de manipulação de dados (DML).
1.8. SQL.
1.9. Gestor de Base de Dados.
1.10. Administrador de Base de Dados.
1.11. Estrutura geral do sistema.

2. Resenha Histórica. Modelos de 1ª geração.
2.1. Modelo Hierárquico.
2.1.1. Conceitos básicos.
2.1.2. Estrutura em árvore.
2.1.3. Manipulação de dados.
2.1.4. Segmentos virtuais.
2.2. Modelo em rede.
2.2.1. Conceitos básicos.
2.2.2. Estrutura de grafos.
2.2.3. Manipulação de dados.

3. Modelo de dados Relacional.
3.1. Conceitos básicos.
3.2. Relações, atributos, domínios e tuplos.
3.3. Superchaves, chaves primárias e chaves externas.
3.4. Restrições de integridade.
3.5. Esquema relacional.

4. Conceção de Bases de Dados. Dependências funcionais e normalização.
4.1. Redundância e duplicação de informação.
4.2. Dependências Funcionais.
4.3. Regras de inferência.
4.4. Normalização.
4.4.1. 1FN.
4.4.2. Anomalias.
4.4.3. 2FN.
4.4.4. 3FN.
4.4.5. Forma normal de Boyce-Codd (BCNF).
4.4.6. Dependências multi-valor.
4.4.7. 4FN

5. Conceção de Bases de Dados. Modelo de Entidade-Relacionamento (ER) e Entidade-Relacionamento Estendido (EER).
5.1. Modelo ER.
5.1.1. Entidades.
5.1.2. Entidades fracas.
5.1.3. Atributos.
5.2. Relacionamentos binários.
5.2.1. Participação.
5.2.2. Grau.
5.3. Chaves.
5.4. Notação de Chen.
5.5. Diagrama de ER.
5.6. Conversão ER para modelo relacional.
5.6.1. Regras para relacionamentos binários.
5.6.2. Relacionamentos de ordem superior a 2.
5.6.3. Relacionamentos múltiplos.
5.6.4. Relacionamentos recursivos.
5.7. Modelo EER
5.7.1. Atributos multi-valor.
5.7.2. Subclasses.
5.7.3. Superclasses.
5.7.4. Especialização.
5.7.5. Generalização.
5.7.6. Categorias.
5.8. Diagrama de EER.
5.9. Conversão EER para modelo relacional.
5.9.1. Opções e regras.

6. Linguagens relacionais: O SQL.
6.1. Operações relacionais.
6.1.1. Projecção e restrição.
6.1.2. União.
6.1.3. Produto cartesiano, intersecção e diferença.
6.1.4. Junção.
6.1.4.1. Equi-junção.
6.1.4.2. Junção externa.
6.1.4.3. Junção externa completa.
6.2. A DDL do SQL.
6.2.1. Criação e manipulação de tabelas.
6.2.1.1. Comandos CREATE, ALTER e DROP.
6.2.2. Imposição de restrições de Integridade e de domínio.
6.2.2.1. PRIMARY KEY.
6.2.2.2. NULL/NOT NULL.
6.2.2.3. UNIQUE.
6.2.2.4. CHECK.
6.2.2.5. FOREIGN KEY…REFERENCES
6.2.2.6. Cláusulas ON DELETE e ON UPDATE.
6.3. A DML do SQL.
6.4. Comando SELECT
6.4.1. Claúsulas e parâmetros.
6.4.2. Consultas simples.
6.4.3. Operações de agregação.
6.4.3.1. Funções de domínio agregado.
6.4.3.2. Cláusulas GROUP BY e HAVING.
6.4.4. Consultas com operações de junção e união.
6.4.5. Subconsultas simples.
6.4.6. Subconsultas correlacionadas.
6.4.7. Tabelas derivadas.
6.5. Comandos de escrita. INSERT, UPDATE e DELETE.
6.5.1. Utilização de subconsultas.
6.6. Vistas

Metodologia de avaliação
Avaliação contínua (AvC)
- 2 testes escritos (80%)
- Fichas de exercícios (20%)

Avaliação em exame
- Prova escrita (80%)
- Fichas de exercícios (20%)
De acordo com o regulamento académico, obrigatória presença em 2/3 das aulas práticas.

Bibliografia
- Ramakrishnan, . e Gehrke, J. (2002). Database Management Systems, 3rd Ed.. USA: McGraw-Hill
- Gouveia, F. (2021). Bases de Dados - Fundamentos e Aplicações, 2ª Ed.. Portugal: FCA - Editora de Informática
- Pereira, C. e Batista, C. (2021). Material de apoio às aulas. Tomar: -
- Baptista, C. (2021). Material de apoio às aulas teóricas de Bases de Dados - LEI. Tomar: -

Método de interação
Aulas teóricas em que se descrevem e exemplificam os métodos em estudo, aulas teórico-práticas em que são propostos exercícios de aplicação e Práticas de Laboratório.

Software utilizado nas aulas
MySQL.