Base de Dados

Conhecimentos de Base Recomendados

Não Aplicável.

Métodos de Ensino

De acordo com os objectivos do curso, as suas condições de realização e o público alvo devem ser utilizadas metodologias e estratégias que permitam à turma apreender e compreender os conteúdos leccionados da melhor forma.

Como tal é priorizado o uso de várias técnicas e metodologias em conjunto para maximizar a apreensão de conteúdos, assim temos:

1. Método expositivo: exposição oral de conteúdos teóricos com recurso a apresentações multimédia, tal como utilização de programas específicos e recursos afectos às Bases de Dados;

2. Método interrogativo: através de questões individuais ou direccionadas ao grupo no decorrer das aulas, permitindo obter feedback imediato sobre os conteúdos abordados;

3. Método activo: será utilizado com recurso a várias técnicas como, realização de discussões/debates sobre as temáticas desenvolvidas, estudos de caso relativamente a factos importantes na área das ciências informáticas, resolução de problemas e desenvolvimento de trabalhos individuais;

4. Método demonstrativo: será útil para demonstrar a instalação e utilização de certos programas a utilizar no desenvolvimento e gestão de Bases de Dados.

Resultados de Aprendizagem

Espera-se que no final da unidade curricular o aluno esteja habilitado a: 

1. Identificar os conceitos básicos em bases de dados relacionais: modelo relacional, integridade, normalização e operações relacionais;

2. Utilizar bases de dados através da linguagem SQL (Standard Query Language);

3. Desenhar um projeto transacional;

4. Desenhar e implementar bases de dados recorrendo ao modelo de Entidade-Relacionamento;

5. Planear, desenvolver e gerir aplicações de bases de dados.

Programa

1. Introdução às Bases de Dados e Conceitos Básicos (Modelos de Dados; Entidades e Abstrações; Cardinalidade; Modelo de Dados Relacional; Atributos; Chaves Primárias, Candidatas e Forasteiras; Integridade Referencial; Dependência funcional);

2. Operações relacionais e aspetos básicos de SQL (Linguagem SQL; Operações Relacionais; Tipos de Dados; Restrições de Integridade; Linguagem de Definição de Dados; Linguagem de Manipulação de Dados; Vistas; Segurança e Privilégios; Definição de esquemas e manipulação de dados usando SQL);

3. Transações e Controlo de Concorrência (Transações; Savepoints; Segmentos de Rollback; Commits; Concorrência e Consistência; Bloqueios; Impasses);

4. Dependência Funcional e Normalização (Projeto de Base de Dados; 1ª, 2ª e 3ª Forma Normal (1FN, 2FN, 3FN), Forma Normal de Boyce Codd (FNBC); Regras de Inferência de Dependência Funcional);

5. Projeto de Bases de Dados (Diagramas de Entidade-Relacionamento; Graus de Participação; Relacionamentos Binários).

Docente(s) responsável(eis)

Estágio(s)

NAO

Bibliografia

Belo, O. (2021). Bases de dados relacionais – Implementação com MySQL. FCA.

Damas, L. (2021). SQL – Structured query language (14.ª ed.). FCA.

Forta, B. (2012). SQL in 10 minutes (4.ª ed.). Sams Publishing.

Garcia-Molina, H. (2014). Database systems: The complete book. Prentice Hall.

Gouveia, F. (2021). Bases de dados – Fundamentos e aplicações (2.ª ed.). FCA.

MySQL. (2021). MySQL Documentation – MySQL Reference Manual. https://dev.mysql.com/doc/

Oracle. (2021). Oracle Database Documentation. https://docs.oracle.com/en/database/oracle/oracledatabase/