Enquadramento
Objectivos
Fornecer aos alunos os conceitos fundamentais da teoria e prática de
bases de dados como sistemas de manipulação de grandes quantidades de
informação.
Programa
- Conceitos Básicos
Características e vantagens da
abordagem de base de dados. Funcionalidades típicas de um
SGBD. Fases do desenho de uma base de dados.
- Os Modelos ER e EER
O modelo ER: entidades tipo,
entidades fracas, atributos, relacionamentos e chaves. O modelo
EER: subclasses, superclasses, especialização, generalização e
categorias. Diagramas ER e EER.
- O Modelo Relacional
Relações, atributos, domínios e
tuplos. Superchaves, chaves primárias e chaves
externas. Restrições de integridade. Esquema
relacional. Conversão dos modelos ER e ERR para o
relacional.
- Álgebra e Cálculo Relacional
Operações da álgebra
relacional. Noção de compatibilidade para a reunião. Cálculo
relacional por tuplos (CRT) e por domínios (CRD).
Quantificadores e expressões seguras.
- A Linguagem SQL
A DDL do SQL: administrar tabelas,
restrições de integridade e domínios. A DML do SQL: consultas
básicas, encadeadas e correlacionadas. Operações de junção,
agregação, inserção, remoção e alteração. Visões, asserções e
triggers.
- SQL em Ambiente de Programação
Problemas de
integração. SQL embebido em C. Cursores. API C do
MySQL. Programação no SGBD com o SQL/PSM. Transacções,
concorrência e tolerância a falhas. Segurança em bases de dados:
contas e privilégios.
- Interface PHP ao PostgreSQL
Breve introdução ao PHP e
à API do PostgreSQL para o PHP. Exemplo de uma aplicação PHP de
interface ao PostgreSQL.
- Normalização
Formas normais e normalização de
relações: 1NF, 2NF, 3NF, BCNF, 4NF e 5NF. Dependências
funcionais, multi-valor e de junção. Decomposição com
junção-não-aditiva.
- Organização Física dos Dados
Registos, ficheiros de
registos e índices.
Bibliografia
- Fundamentals of Database Systems 4/E
R. Elmasri and S. Navathe, Addison-Wesley, 2004.
- A First Course in Database Systems 2/E
J. Ullman and J. Widom, Prentice-Hall, 2002.
- Database Systems Concepts 5/E
A. Silberschatz, H. Korth and S. Sudarshan, McGraw-Hill, 2005.
Frequência
Perdem frequência à disciplina os alunos que:
- Ultrapassem o limite de faltas (1/3 do total das aulas práticas).
- Não obtenham a classificação mínima de 40% no trabalho prático.
Avaliação
A avaliação dos alunos faz-se por realização de um trabalho prático e
um exame escrito.
- O trabalho prático está dividido em 3 fases (ver detalhes aqui) cuja avaliação terá um peso
de 5 em 20 valores na classificação final. O trabalho prático é
obrigatório para todos os alunos inscritos na disciplina
(incluindo os alunos que realizaram o trabalho em anos
anteriores).
- O exame é constituído por duas partes: uma primeira parte de
carácter teórico com perguntas de desenvolvimento e uma segunda
parte mais prática com exercícios semelhantes aos realizados nas
aulas práticas. O exame terá um peso de 15 em 20 valores na
classificação final. A classificação mínima no exame é de
40%.
Sejam CT e CE as classificações obtidas respectivamente no trabalho
prático e no exame. A classificação final da disciplina é calculada do
seguinte modo:
- Classificação Final = (5 CAT + 15 CE) / 20, onde CAT = min(max(CE - 20%, CT), CE + 20%))
ou seja, a diferença entre a classificação obtida no trabalho prático
e no exame não deverá exceder os 20%, pois caso contrário a
classificação do trabalho prático será ajustada para esse limite.
As condições mencionadas acima aplicam-se de igual modo aos exames da época
normal, de recurso, especial ou de finalista para aprovação ou melhoria de nota.