| Código | 14815 | 
                        
                            | Ano | 3 | 
                        
                            | 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 | Esta unidade curricular introduz a temática da conceção, análise e construção de bases de dados relacionais. O seu objetivo principal é, portanto, preparar os alunos para entender, projetar e desenvolver sistemas de bases de dados. A unidade curricular centra-se no modelo relacional, incidindo em especial sobre modelação, normalização, linguagens de interrogação (álgebra relacional e SQL), gestão da base de dados e aplicações cliente/servidor.
 Com a concretização do processo ensino-aprendizagem, o estudante deve ser capaz de:
 - Dada uma situação real, ou hipotética, desenvolver um modelo de dados que a represente;
 - Normalizar (3FN, BCNF ou superior) e “desnormalizar” as relações;
 - Escolher um sistema de gestão de bases de dados em função do sistema de informação a desenvolver;
 - Produzir o modelo físico da base de dados;
 - Interrogar a base de dados (via SQL);
 - Desenvolver aplicações multiutilizador sobre bases de dados cliente/servidor;
 - Usar transações.
 
 | 
                        
                        
                        
                        
                        
	| Conteúdos programáticos | 1. Introdução às bases de dados 1.1 Sistemas de ficheiros vs. Bases de dados “Desktop” vs. Bases de dados cliente/servidor: vantagens, desvantagens e quando usar (ou não usar)
 1.2 Conceitos fundamentais
 1.3 Modelos de dados (Hierárquico, Rede e Relacional. Estruturas de dados e linguagens de manipulação associadas)
 
 2. Modelo Relacional
 2.1 O modelo de dados
 2.2 Álgebra relacional
 2.3 Linguagens relacionais
 2.4 Restrições de integridade
 2.5 Dependências lógicas
 
 3. Elaboração do modelo conceptual de uma base de dados
 3.1 Modelo entidade-associação
 3.2 Teoria da normalização
 
 4. Desenvolvimento de aplicações Cliente/Servidor.
 
 5. Transações
 5.1 Propriedades ACID
 5.2 Isolamento e fenómenos associados
 5.3 Execução concorrente
 | 
                        
                        
                        
                        
                        
                        
                        
                        
	| Bibliografia principal | 1.	Feliz Gouveia. “Bases de Dados – Fundamentos e Aplicações”, 2ª Edição, FCA, 2021, ISBN: 978-972-722-901-7. 
 2.	Thomas Connolly, Carolyn Begg. “Database Systems, A Practical Approach to Design, Implementation and Management”, 6th Edition, 2015. Pearson, ISBN: 978-1-292-06118-4
 
 3.	Luís Damas, “SQL”, 14ª Edição, FCA, 2017, ISBN 978-972-722-829-4
 
 4) R. Ramakrishnan and J. Gehrke, Database Management Systems, McGraw-Hill, 2003.
 
 | 
                        
                        
                        
                        
                        
                        
                            | Língua | Português |