
Bases de Dados
Código
7747
Unidade Orgânica
Faculdade de Ciências e Tecnologia
Departamento
Departamento de Informática
Créditos
6.0
Professor responsável
João Alexandre Carvalho Pinheiro Leite, José Júlio Alves Alferes
Horas semanais
6
Total de horas
64
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.
- 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
- 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
- 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-3ou
- Database System Concepts, 4th Edition
Abraham Silberschatz, Henry F. Korth and S. Sudarshan
McGraw Hill, 2001
ISBN 0-07-255481-9Em 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:
- 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.
- 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:
- Média aritmética da nota dos dois testes, ou
- 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).
IMPORTANTE: As notas de trabalhos práticos desta disciplina obtidas nos anos lectivos de 2006/07 a 2011/12 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.