Bases de Dados

Conhecimentos de Base Recomendados

Os estudantes 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 conceitos são apresentados pelo docente e discutidos com a turma. Os conceitos e informações serão apresentados aos estudantes através, por exemplo, de apresentações em slides ou discussões orais. Será utilizado nas aulas para a estruturação e esquematização da informação.

2. Método demonstrativo: baseia-se na exemplificação pelo docente de uma operação técnica ou prática que se deseja aprendida. Centra-se na forma como se executa uma dada operação, destacando as técnicas, as ferramentas e os equipamentos mais adequados. Será por exemplo utilizado em aulas práticas e laboratoriais.

3. Método interrogativo: processo que se fundamenta em interações verbais, sob a condução do docente, adotando o formato de questões e respostas. Permite obter maior dinâmica na aula e consolidar a aprendizagem. Será utilizado por exemplo para recordar elementos de aulas anteriores, e em revisões do conteúdo lecionado.

4. Métodos ativos: serão utilizadas técnicas pedagógicas em que o estudante é o centro do processo de aprendizagem, sendo um participante ativo e envolvido na sua própria formação. O docente assume o papel de facilitador, estimulando o pensamento crítico, a colaboração, a criatividade e a autonomia dos estudantes. Serão aplicados nas aulas para alcançar um ambiente de aprendizagem dinâmico e mais duradouro.

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 estudantes os novos conteúdos em estudo;

2. Aplicação prática: Após a exposição introdutória, os estudantes 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

No final da unidade curricular o estudante ficará 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 RollbackCommits; 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

Avaliação final
  • - um projeto de grupo - 50.0%
  • - uma prova escrita individual - 50.0%
Avaliação Periódica
  • - um projeto em grupo - 40.0%
  • - dois trabalhos práticos individuais (30% cada) - 60.0%

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.

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