Fundamentos e Aplicações de Bases de Dados

Métodos de Ensino

A exposição teórica precede a parte prática, proporcionando a estrutura necessária para a aquisição de conhecimento aplicado nas folhas práticas. Todo o material teórico e prático é disponibilizado na plataforma eletrónica (Inforestudante), juntamente com a bibliografia e as ligações para exemplos e casos de estudo dos autores adotados. Os alunos também poderão trabalhar com várias ferramentas de modelação online, assim como base de dados instaladas localmente, utilizando serviços nativos, ou ambientes conteinerizados. Deste modo, o aluno será autónomo, podendo trabalhar em qualquer local.

Em aula, os alunos terão a oportunidade de resolver os exercícios práticos e discutir as soluções com os colegas e o docente, utilizando assim numa primeira fase uma metodologia expositiva, e complementando depois com uma metodologia interrogativa. Entre a resolução de cada exercício, os alunos têm tempo para resolver sozinhos ou em grupo, participando assim na resolução posterior. As fichas práticas abordam tópicos como a linguagem SQL, modelação através do modelo entidadeassociação, normalização e identificação de dependências e chaves. No final, os alunos aplicarão esses conhecimentos na construção e modelação de uma base de dados para um projeto prático, criando também uma aplicação com o uso de Rapid Application Development (RAD).

Para complementar as fichas práticas, os alunos deverão responder individualmente a quatro minitrabalhos e, em grupo, resolver um trabalho colaborativo. Haverá várias aulas de acompanhamento durante a fase de modelação, nas quais o docente orientará e auxiliará os alunos na execução do trabalho. Deste modo, é incentivado o estudo autónomo, fora da sala de aula.

Resultados de Aprendizagem

A unidade curricular visa fornecer conceitos fundamentais sobre bases de dados, capacitando os alunos a analisar, modelar, projetar e desenvolver estes sistemas. Os objetivos de aprendizagem são: O1: Compreender a importância histórica das bases de dados em tecnologias como big data e machine learning;

O2: Conhecer as capacidades e arquitetura de sistemas de gestão de bases de dados;

O3: Explorar propriedades ACID e BASE, e o teorema CAP na distribuição e escalabilidade; O4: Compreender a importância das transações e aplicar conceitos do modelo relacional e álgebra relacional;

O5: Modelar dados com DER, definindo atributos e avaliando normalização até a 3FN;

O6: Identificar dependências funcionais e dominar conceitos como superchave e fecho;

O7: Avaliar vantagens e desvantagens de bases de dados NoSQL e realizar operações básicas em MongoDB;

O8: Executar operações em SQL, incluindo views e stored procedures;

O9: Desenvolver uma base de dados para uma necessidade real;

Programa

Conteúdos teóricos:

T1. Introdução às Bases de Dados

T2. SGBD, Arquitetura e Modelos:

T2.1 Requisitos de um SGBD;

T2.2 Propriedades ACID, BASE e CAP;

T2.3 Importância das Transações;

T2.4 Arquitetura Cliente-Servidor e Micro-serviços T2.5 Ciclo de Vida de um SGBD,

T3. Modelo Relacional e Modelação de BD:

T3.1 O Modelo Relacional (Tabelas, relações, chaves e restrições)

T3.2 Álgebra Relacional

T3.3 Diagramas de Entidade-Relacionamento

T4. Teoria da Normalização

T5. Dependências Funcionais:

T5.1 Conceito de Chave, Superchave, Chave Candidata

T5.2 Propriedades Básicas das DFs

T5.3 Axiomas de Armstrong

T5.4 Fecho de DFs e de Atributos

T6. Bases de Dados NoSQL

Conteúdos práticos SQL:

P1. Introdução ao SQL:

P1.1 Ferramentas

P1.2 Seleção e Agregação

P1.3 Transações e Segurança

P1.4 Ordenação em Base de Dados

P1.5 Agrupar Informação

P1.6 Subconsultas

P1.7 Manipulação de Dados e de Tabelas, Views e Triggers

Estágio(s)

NAO

Bibliografia

– SQL, Lui?s Damas, 14.a edic?a?o, 2017, FCA Editores

– Database systems: design, implementation, and management, 14th edition, Coronel and Morris, 2022

– Bases de Dados: Fundamentos e aplicac?o?es, Feliz Gouveia, setembro, 2021, FCA Editores

– Fundamentals of Database Systems, Elmasri, Navathe, 7th edition, June 2016,

– Pearson Modern Database Management, Jeffrey A. Hoffer, Jeffrey A. Hoffer, V. Ramesh, Heikki Topi, 12th edition, 2016

– Base de Dados Relacionais, Orlando Belo, 1a edic?a?o, 2021, FCA Editores  – Designing Data-Intensive Applications, Martin Kleppmann,

2017, O’Reilly

– SQL Server 2014 Curso Completo, Alberto Magalha?es, 2015, FCA