Código:
16672
Ano:
2
Semestre:
S1
Créditos ECTS:
6
Carga Horária:
PL(30H)/T(30H)
Área Científica:
Informática
Tipo de ensino:
Presencial
Estágios:
Não aplicável.
Objectivos de Aprendizagem:
A unidade curricular aborda a concepção e a implementação de bases de dados, com o foco no modelo
relacional e introdução aos sistemas NoSQL e vectoriais. O aluno deverá ser capaz de:
O1 Explicar os conceitos fundamentais e as funções de um SGBD, distinguindo sistemas de ficheiros, bases
de dados desktop e cliente/servidor;
O2 Interrogar bases de dados em álgebra relacional e em SQL;
O3 Analisar requisitos e elaborar diagramas entidade-associação;
O4 Converter modelos conceptuais em esquemas relacionais, com chaves e restrições de integridade;
O5 Identificar dependências funcionais e normalizar relações, justificando a desnormalização;
O6 Produzir e implementar o modelo físico;
O7 Desenvolver stored procedures, triggers e cursores em aplicações multiutilizador;
O8 Aplicar transacções, níveis de isolamento, autenticação e controlo de acessos;
O9 Caracterizar bases de dados NoSQL e vectoriais e os seus contextos;
O10 Testar, documentar e integrar a solução num sistema de informação.
Conteúdos programáticos:
C1 Introdução: dados e informação; evolução histórica; ficheiros, BD desktop e cliente/servidor; funções do SGBD; modelos de dados e níveis de abstracção.
C2 Modelo relacional: relações, atributos, domínios e tuplos; chaves candidatas, primárias e estrangeiras; integridade de domínio, de entidade e referencial; dependências funcionais; álgebra relacional; SQL: DDL, DML e interrogação.
C3 Concepção: modelo entidade-associação (entidades, atributos, identificadores, relacionamentos, cardinalidade e participação); conversão para o modelo relacional; anomalias; normalização 1FN a FNBC; desnormalização; modelo físico.
C4 Aplicações cliente/servidor: acesso multiutilizador; stored procedures; triggers; cursores; autenticação, autorização e permissões.
C5 Transacções: ACID; COMMIT e ROLLBACK; concorrência; níveis de isolamento.
C6 NoSQL e vectoriais: modelos documental e de grafos; embeddings e pesquisa por similaridade. Comparação com o relacional.
Metodologias de Ensino e Critérios de Avaliação:
Avaliação ensino-aprendizagem:

CF = 0,60 x TE + 0,30 x TP + 0,10 x MT.

• TE — teste escrito (0–20), eventualmente complementado por prova oral. Cotação: 12 valores.
• TP — trabalho prático em grupo, com defesa intermédia e defesa final (0–20). Cotação: 6 valores.
• MT — média de quatro quizzes individuais realizados no Moodle (0–20). Cotação: 2 valores, 0,5 valores cada.
Aprovação com CF igual ou superior a 9,5 valores, com dispensa de exame.

Avaliação por exame:

NF = 0,70 x EX + 0,30 x TP.

A classificação do TP transita da avaliação ensino-aprendizagem.
Apenas a componente teórica é passível de melhoria.
Aprovação com NF igual ou superior a 9,5 valores.

Classificações finais superiores a 16 valores estão sujeitas a prova oral de defesa; a não comparência implica a atribuição de 16 valores.
Bibliografia principal:
1. Gouveia, F. (2021). Bases de Dados – Fundamentos e Aplicações (2.ª ed.). FCA. ISBN 978-972-722-901-7.
2. Damas, L. (2017). SQL (14.ª ed.). FCA. ISBN 978-972-722-829-4.
3. Connolly, T., & Begg, C. (2015). Database Systems: A Practical Approach to Design, Implementation and Management (6th ed.). Pearson. ISBN 978-1-292-06118-4.
4. Ramakrishnan, R., & Gehrke, J. (2003). Database Management Systems (3rd ed.). McGraw-Hill.
5. Sadalage, P. J., & Fowler, M. (2012). NoSQL Distilled. Addison-Wesley.
6. Documentação online: Microsoft SQL Server, MongoDB, Neo4j e pgvector.
Língua:
Português
Esta informação promove os seguintes Objetivos de Desenvolvimento Sustentável da ONU:
Garantir o acesso à educação inclusiva, de qualidade e equitativa, e promover oportunidades de aprendizagem ao longo da vida para todos