Bases de Dados

Conhecimentos de Base Recomendados

Não existem quaisquer pré-requisitos para a frequência desta Unidade Curricular. 

Métodos de Ensino

Todos os conhecimentos transmitidos serão fundamentados numa forte componente prática, onde os alunos serão convidados a utilizar um conjunto de aplicação de desenvolvimento de software de BDs (SQL Server, DBSchema, ERDPlus, Radzen) para assim praticarem os seus conhecimentos.

Serão propostas diversas atividades práticas que irão permitir ao aluno adquirir também a experiência de projetar uma Base de Dados, desde a especificação teórica até ao funcionamento em pleno usando os SGBDs.

 

Resultados de Aprendizagem

Os objetivos da Unidade Curricular de Bases de Dados são: dotar o aluno dos conceitos fundamentais de Bases de Dados por forma a que este consiga analisar, modelar, projetar e conceber um sistema de Bases de Dados. Assim na fase de modelos de dados o aluno deve ser capaz de implementar o modelo entidade relacionamento e adaptá-lo a diferentes realidades e respetivas restrições. Saber estruturar uma base de dados segundo o modelo relacional, bem como realizar todas as operações de álgebra relacional associadas a este modelo. Desenhar Bases de Dados utilizando a linguagem de modelação UML.

Numa segunda fase, as bases de dados relacionais, exigem três temas basilares a saber: 1) A linguagem SQL(Structured Query Language) como referência de qualquer sistema de gestão de base de dados; 2) Aspetos relativos à integridade e segurança das bases de dados, nomeadamente a integridade referencial, bem como aspetos de proteção e acesso aos dados armazenados. Por último, 3) a fase de projeto de base de dados segundo a teoria da normalização.

No que respeita às competências, ao terminar com sucesso esta UC, o aluno deve:

• Perceber a utilidade e a evolução das BDs;
• Conhecer aplicações SGBD;
• Perceber o funcionamento de um SGBD;
• Analisar, modelar, projetar e conceber BDs
• Conhecer e dominar o modelo entidade – relacionamento (E-R);
• Dominar a estruturação de uma base de dados segundo o modelo relacional e compreender operações de álgebra relacional;
• Desenhar Bases de Dados;
• Dominar a linguagem SQL (Structured Query Language);
• Compreender e dominar os conceitos de integridade referencial e segurança das bases de dados;
• Conhecer os conceitos de concorrência, distribuição e gestão de transações em bases de dados;
• Compreender contextos de utilização de Data Warehouses.

A unidade curricular de Bases de Dados funcionará com material de apoio no Inforestudante/Nónio disponível para os alunos matriculados nesta unidade curricular, com garantia de acessibilidade e disponibilidade permanente de conteúdos e de acompanhamento dos docentes. Serão também criados fóruns de discussão, sempre que se revelem oportunos, onde se espera participação ativa dos alunos. Todos os elementos da UC estarão disponíveis nesta área, a qual funcionará também como comunidade de aprendizagem à distância.

Programa

1. Introdução às Bases de Dados:

    1.1 Sistemas de Gestão de Base de Dados (SGBD)
    1.2 Tipos de Base de Dados e as suas Aplicações
    1.3 Modelo de DICS
    1.4 Funcionalidades de um SGBD
    1.5 Tipos de Utilizadores
    1.6 Desenvolvimento Histórico
    1.7 Evolução da Tecnologia

2. Ciclo de Vida de um Sistema de Informação:

    2.1 Planeamento, análise, desenho, implementação, manutenção
    2.2 Ciclo de Vida de uma Base de Dados

3. Sistema de Gestão de Base de Dados, Arquitetura e modelos:

    3.1 Requisitos de um SGBD
    3.2 Serviços de um SGBD
    3.3 Propriedades ACID e Transações
    3.4 Arquitetura Cliente-Servidor

4. Introdução à linguagem SQL:

    4.1 SQL
    4.2 O Modelo Relacional
    4.3 Esquemas de BD
    4.4 Restrições de Integridade
    4.5 Tipos de Instruções SQL
    4.6 Elementos sintaxe SQL
    4.7 Identificadores e Tipos de Dados
    4.8 Variáveis, Operadores e Expressões
    4.9 Consultas em Álgebra Relaciona

5. Linguagem SQL:

    5.1 SQL Parte 1

  • Representação e Criação de uma BD
  • Chaves
  • Tipos de Instruções SQL
  • Elementos sintaxe SQL
  • Identificadores e Tipos de Dados
  • Variáveis, Operadores e Expressões

    5.2 SQL Parte 2

  • Select
  • Alias
  • Concat
  • From
  • Distinct
  • Where
  • Operadores

    5.3 Funções de Agregação
    5.4 Subconsultas
    5.5 SQL Avançado: Views e Triggers

6. Modelo Relacional e Modelação de Base de Dados:

     6.1 O Modelo Relacional
     6.2 Tabelas e Relações
     6.3 Chaves
     6.4 Restrições de Integridade
     6.5 Álgebra Relacional
     6.6 Operações de Álgebra Relacional
     6.7 Exemplos de Operações com o Relax
     6.8 Diagramas de Entidade-Relacionamento

7. Teoria da Normalização:

    7.1 Dados redundantes
    7.2 Dependências Funcionais
    7.3 Normalização: 1FN, 2FN e 3FN

8. Dependências Funcionais:

    8.1 Conceito de Super-Chave, Chave Candidata
    8.2 Propriedades Básicas e Derivadas
    8.3 Axiomas de Armstrong
    8.4 Dependência Funcional Trivial
    8.5 Fecho de um conjunto de DF’s e atributos
    8.6 Cobertura e Equivalência

9. Bases de Dados NoSQL

    9.1 Tipos de Base de Dados NoSQL
    9.2 MongoDB
    9.3 Neo4J

 

 

 

 

 

Docente(s) responsável(eis)

Estágio(s)

NAO

Bibliografia

Bibliografia Principal

• Database systems: design, implementation, and management, 13rd edition, Carlos Coronel, Steven Morris, CENGAGE Learning , 2019

• Fundamentals of Database Systems, Elmasri, Navathe, 7th edition, 2016, Pearson, ISBN-13: 978-0-13-397077-7

• SQL, Luís Damas, maio, 2015, FCA Editores

• Bases de dados: Fundamentos e aplicações, Feliz Gouveia, 2.ª edição aumentada, 2021, FCA Editores

• Bases de Dados Relacionais – Implementação com MySQL, Orlando Belo, 2021, FCA editores

 

Bibliografia Complementar

• Database System Concepts, Silberschatz, Korth, Sudarshan, 2010, 6 th edition, McGraw-Hill, ISBN 978-0073523323 (Elementos online: http://codex.cs.yale.edu/avi/db-book/db6/slide-dir/ )

• Modern Database Management, Jeffrey A. Hoffer, V. Ramesh, Heikki Topi, 10 th edition, 2011, Pearson, ISBN 13: 978-0-13-608839-4

• Projecto, Desenvolvimento de aplicações & Administração de Banco de Dados, Michael V. Mannino, 2008, McGraw-Hill, ISBN 978-85-7726-020-1

• MySQL, Frederico Tavares, 2015, FCA, ISBN: 978-972-722-803-4

• Oracle 10g e 9i Para Profissionais, António Rodrigues, 2010, ISBN: 978-972-722-344-2

• SQL SERVER 2014 Curso Completo, Alberto Magalhães, 2015, FCA, ISBN: 978-972-722-746-4

• Kimball, Ralph and Ross, Margy. The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling (Second Edition). John Wiley & Sons, 2002