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)

Duarte Miguel Garcia Raposo

Métodos de Avaliação

Os alunos poderão optar por :

  •  Avaliação contínua e periódica
  •  Avaliação por Exame

O trabalho é obrigatório em qualquer um dos casos.

Avaliação contínua e periódica:

     Para obter aproveitamento, o aluno terá de realizar 4 Mini-Trabalhos (MT), 2 Frequências (Freq) e um trabalho prático.

  • Cada Mini-trabalho (MT) corresponde a um conjunto de exercícios que é disponibilizado no InforEstudante/Moodle, e feito durante as aulas.
  • As 2 frequências são em data definida com os alunos.
  • O trabalho prático será composto por diversas etapas, cujo output será entregue ao longo do semestre. A apresentação e defesa dos trabalhos realizados durante a avaliação contínua decorre nas 2 últimas aulas da penúltima semana de aulas.

      A classificação final é obtida aplicando a seguinte fórmula, cujo resultado é arredondado às unidades:

  • CF=MinTrab*20%+ Freq1*25%+Freq2*25%+ Trab*30%

      Em que:

  • MT1, MT2, MT3, MT4 (total de 20%) = Atividades a serem entregues no Nónio (cotação para 20 valores)
  • Freq1, Freq2 (total de 50%) são as classificações individuais obtidas nas 2 frequências (cotação para 20 valores)
  • Trab (30%) nota obtida no trabalho prático (cotação para 20 valores)

      As notas dos mini trabalhos, das frequências e do trabalho prático não são arredondadas.

Avaliação por exame:

     Caso o aluno opte por realizar o exame numa das épocas definidas (Normal, de Recurso ou Especial), o exame será realizado no dia estabelecido no calendário de exames.

     O trabalho prático é obrigatório bem como a sua apresentação.

     A classificação final é obtida aplicando a seguinte fórmula, cujo resultado é arredondado às unidades:

  • CF=Exame*70%+ Trab*30%
  • Exame: cotação para 20 valores
  • Trab: nota obtida no trabalho prático, cotação para 20 valores

     As notas parciais do Exame e do Trabalho não são arredondadas.


    Estágio(s)

    NAO

    Bibliografia

    Bibliografia Principal

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

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

     • SQL, Luís Damas, 14.ª edição, 2017, FCA Editores

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

    Bibliografia Complementar

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

     • 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, Jeffrey A. Hoffer, V. Ramesh, Heikki Topi, 12th edition, 2016, Pearson

     • Designing Data-Intensive Applications, Martin Kleppmann, 2017, O’Reilly

     • 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