Faculdade de Ciências e Tecnologia

Bases de Dados

Código

10640

Unidade Orgânica

Faculdade de Ciências e Tecnologia

Departamento

Departamento de Informática

Créditos

9.0

Professor responsável

João Alexandre Carvalho Pinheiro Leite, José Júlio Alves Alferes

Horas semanais

6

Total de horas

70

Língua de ensino

Português

Objectivos

Pretende-se dotar os alunos das bases necessárias à concepção, construção e análise de bases de dados relacionais.

Objectivos
Saber
  • Conhecer o modelo Entidade-Relação e o modelo relacional de dados, e os fundamentos do modelo objecto/relacional
  • Álgebra relacional como linguagem formal de manipulação de bases de dados relacionais
  • Os fundamentos da linguagem SQL (quer como linguagem de definição de dados como de manipulação)
  • Normalização de bases de dados com base em dependências funcionais e multivalor
  • Breves noções de modelação de dados em XML, e de mecanismos para manipulação desses dados
Fazer
  • Modelar, primeiro em ER e depois numa base de dados relacional, um problema de dimensão média (resultando em cerca de uma/duas dezenas de tabelas)
  • Criar uma base de dados em SQL para problema médio implementando em SQL todos os mecanismos necessário à integridade dos dados
  • Implementar uma interface simples para manipulação da base de dados
  • Estar à vontade na formulação de perguntas complexas em SQL
  • Saber usar os mecanismos base SQL do modelo objecto/relacional
Soft-Skills
  • Capacidade de trabalhar em equipa e de colaborar numa equipa
  • Capacidade de modelação de problemas
  • Saber elaborar relatório de análise, desenho e implementação de uma solução
  • Gestão do tempo e cumprimento de prazos 

Conteúdo

  • Introdução aos sistemas de bases de dados
  • Modelos de dados
    • Modelo ER
    • Modelo Relacional
    • Álgebra relacional
  • Linguagens de manipulação de bases de dados
    • Linguagem SQL
    • Outras linguagens
    • QBE e Datalog
  • Integridade e Segurança de Bases de Dados
    • Integridade de referência
    • Asserções e triggers
    • Segurança e autorizações
  • Normalização de Bases de Dados
    • Dependências funcionais e multi-valor
    • Formas normais: 3ª, 4ª e de Boyce-Cood
  • Discussão de outros modelos de bases de dados
    • Bases de dados objectos/relacional
    • Bases de dados dedutivas
    • XML

Bibliografia

Livro recomendado

  • Database System Concepts, 5th Edition.
    Abraham Silberschatz, Henry F. Korth and S. Sudarshan 
    McGraw Hill, 2005
    ISBN 0-07-295886-3

    ou

  • Database System Concepts, 4th Edition
    Abraham Silberschatz, Henry F. Korth and S. Sudarshan
    McGraw Hill, 2001
    ISBN 0-07-255481-9

    Em alternativa, poderá usar a edição anterior (que não contém a parte final do programa - XML) :

  • Database System Concepts, 3rd Edition
    Abraham Silberschatz, Henry F. Korth and S. Sudarshan
    McGraw Hill, 1997
    ISBN 0-07-044756-X

Acetatos

  • Após cada aula teórica, serão disponibilizados na página das aulas teóricas os acetatos referentes à matéria dada.
  • Na página das aulas práticas irão sendo disponibilizadas folhas com exercícios sobre a matéria e, a seu tempo, as respectivas resoluções.
  • Perto do final do semestre será disponibilizado um conjunto completo dos acetatos de Bases de Dados e um conjunto completo de fichas das práticas, bem como algumas soluções

Bibliografia complementar

  • A Guide to the SQL Standard (4th Ed)
    C. J. Date and Hugh Darwen
    Addison-Wesley
    ISBN:0-201-94426-0
  • The theory of Relational Databases
    David Maier
    Computer Science Press
    ISBN:0-914894-42-0
  • Database Management Systems
    Raghu Ramakrishnan and Johannes Gehrke
    McGraw Hill, 2000
  • An Introduction to Database Systems (6th Ed)
    C. J. Date
    Addison-Wesley,1994
    ISBN:0-201-82458-2

Método de ensino

São ministradas aulas teóricas onde são transmitidos e discutidos os conceitos fundamentais.

Para além disso há aulas práticas laboratóriais onde, numa primeira fase os alunos têm a oportunidade de experimentar com os conceitos num sistema de bases de dados (Oracle 11g). Numa fase posterior, nas aulas práticas os alunos aprendem a fazer interfaces com o Oracle Application Express, e é feito um projecto completo (ver avaliação).

Método de avaliação

 Deverá consultar a página http://ssdi.di.fct.unl.pt/bd/

Avaliação

A avaliação é composta por uma componente teórica e por uma componente prática. As duas componentes são avaliadas numa escala de 0 a 20, arredondado às unidades.

Para obter aprovação à disciplina um aluno necessita ter uma classificação igual ou superior a 10 valores na componente teórica.

A nota final da disciplina é a média das duas componentes (contribuindo cada uma das componentes com igual peso - 50%).

As provas definem quer a frequência quer a classificação final.

Componente Teórica

A componente teórica pode ser realizada de duas formas:

  1. Através da realização de dois testes, com duração de 2 horas cada, sem consulta, nas seguintes datas:
    • 1º Teste: em data a anunciar, sobre a matéria das primeiras 9 aulas teóricas e 5 aulas práticas, salvo aviso posterior. É requerida a inscrição prévia para o teste, no CLIP.
    • 2º Teste: em data a anunciar, incidindo principalmente sobre a restante matéria.
  2.  Através da realização de exame com duração de 3 horas, sem consulta, em data a anunciar.

A nota da componente teórica é obtida através de:

  1. Média aritmética da nota dos dois testes, ou
  2. Nota do exame.

Componente Prática

A componente prática é realizada através do desenvolvimento, em grupo, de um trabalho prático e respectiva discussão. O trabalho deverá ser desenvolvido essencialmente fora do horário das aulas, havendo apenas duas aulas no fim do semestre dedicadas a esclarecimento de dúvidas finais.

Apesar do trabalho ser feito em grupo, a nota desta componente será sempre individual (e não atribuída ao grupo).

IMPORTANTEAs notas de trabalhos práticos desta disciplina obtidas nos anos lectivos de 2006/07 a 2013/14 são válidas para a avaliação deste ano. Os alunos que pretendam manter a nota da componente prática não se poderão inscrever em turnos práticos. A inscrição num turno prático implica, automaticamente, a perda da nota da componente prática anteriormente obtida.

Informação detalhada sobre o trabalho prático encontra-se aqui. O desenvolvimento do trabalho deverá obedecer a um conjunto de fases, com regras e prazos específicos, descritos aqui.

 

Cursos