As Bases de Dados fazem parte dos Sistemas de Informação e são utilizadas na maioria das aplicações informáticas que utilizamos diariamente. Adicionalmente, o valor de atribuímos aos dados é cada vez maior e as decisões são cada vez mais conduzidas pela análise aos dados armazenados.
A UC de Bases de Dados tem como objetivo dotar o estudante do conhecimento fundamental de como armazenar os dados de forma estruturada, sem redudância e realizar o processamento dos dados, para obter informação. A compreensão sobre estes conceitos permite definir sobre como estruturar os dados, de modo a orientar o desenvolvimento de uma aplicação.
Esta UC é fundamental no ciclo de estudos e é complementada pela UC Programação Web, na qual é desenvolvida uma aplicação Web composta por uma base de dados.
Semestral
CP1. Introdução às Base de Dados
CP2. Modelo Conceptual de BD
Modelo Entidade e Associação
Diagramas
Multiplicidade
Associações n-árias e papéis em associação
Hierarquia
Entidades fracas
Restrições
Diagrama UML
Notações
Regras para a conversão do modelo EA em diagrama UML
CP3. Modelo Relacional
Distinção entre Tabela e Relação
Conversão do modelo EA em modelo relacional
Dependências funcionais
Chaves e super-chaves
Projeção de DF
Normalização
Anomalias
Forma normal de Boyce Codd
3ª Forma normal
Dependências multi-valor
4ª Forma normal
CP4. Álgebra Relacional
Operações sobre conjuntos
Remoção de linhas e colunas
Produtos cartesianos e joins
Álgebra relacional estendida
CP5. Linguagem SQL
Esquema da BD
Operações de seleção, inserção e atualização
Joins e operações sobre conjuntos
Sub-Consultas
Agregações
Views
Índices
Autorização
Restrições
Procedimentos armazenados
Triggers
CP6. Transações
CP7. Programação convencional com SQL
OA1. Compreender e saber distinguir os conceitos de Base de Dados (BD) e de Sistema de Gestão de Bases de Dados (SGBD).
OA2. Realizar a análise e modelação de dados utilizando os modelos Entidade-Associação e UML.
OA3. Saber converter diagramas do modelo Entidade-Associação para diagramas UML e vice-versa.
OA4. Saber converter o modelo conceptual para o modelo relacional.
OA5. Saber definir o esquema de uma base de dados relacional.
OA6. Compreender a álgebra relacional e a teoria de normalização de relações.
OA7. Saber elaborar rotinas para inserir, atualizar e extrair informação de uma BD utilizando a linguagem SQL.
OA8. Saber especificar restrições, vistas, índices, procedimento armazenados e triggers.
OA9. Compreender o mecanismo de transações.
OA10. Saber utilizar a linguagem de programação Java para elaborar consultas à BD.
OA11. Saber construir um projeto de Bases de Dados.
Obrigatório
Os estudantes utilizam como SGDB o Postgres, que oferece funcionalidades avançadas e modernas na área de Base de Dados. Através de uma metodologia orientada à resolução de problemas e também ao orientada ao desenvolvimento de projetos, os estudantes consolidam os conteúdos adquiridos.
Português
Não
Ullman, J. & Widom, J. (2015). A First Course in Database Systems. (International Edition). Prentice Hall. ISBN: 9780273769279
Damas, L. M. D. (2017). SQL - Structured Query Language. (14a ed.). Editora FCA. ISBN 9789727228294
Gouveia, F. (2014). Fundamentos de Bases de Dados. Editora FCA. ISBN: 9789727227990
Borges, J. L., Dias, T. & Cunha, J. (2015). Modelação de Dados em UML: Uma Abordagem por Problemas. Editora FCA. ISBN 9789727228126