Conhecimentos de Base Recomendados
Os alunos devem possuir e dominar conceitos base de algoritmia.
Métodos de Ensino
Nesta unidade curricular são utilizadas as seguintes metodologias de ensino:
1 – Método expositivo: método explicativo onde fundamentos teóricos e conceito são apresentados pelo professor e discutidos com a turma, seguido de exemplos demonstrativos;
2 – Método experimental: método ativo onde o aluno desenvolve o conhecimento através da resolução problemas e o desenvolvimento de projetos laboratoriais individuais ou em dinâmica de grupo.
Cada aula será composta por dois momentos:
1 – Exposição introdutória: No início da aula o docente expõe e discute com os alunos os novos conteúdos em estudo;
2 – Aplicação prática: Após a exposição introdutória, os alunos desenvolvem fichas de trabalho e resolução de problemas, individualmente e em conjunto, para aplicação prática dos novos conceitos, de forma autónoma e sob a orientação do docente.
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)
Métodos de Avaliação
- - uma prova escrita individual - 50.0%
- - um projeto de grupo - 50.0%
- - dois trabalhos práticos individuais (30% cada) - 60.0%
- - um projeto em grupo - 40.0%
Estágio(s)
NAO
Bibliografia
Damas, L. (2017). 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.
Groff, J., Weinberg, P., & Wald, L. (2009). SQL: The complete reference (2.ª ed.). McGraw-Hill. (Bibliografia Complementar).
MySQL. (2021). MySQL Documentation – MySQL Reference Manual. https://dev.mysql.com/doc/
Oracle. (2021). Oracle Database Documentation. https://docs.oracle.com/en/database/oracle/oracle-database/
Ramakrishnan, R., & Gehrke, J. (2003). Database management systems. McGraw-Hill. (Bibliografia Complementar).