Aulas Teóricas
Aula 1: 24.02.2015
Apresentação
Considerações gerais sobre o programa, bibliografia, funcionamento das
aulas e método de avaliação.
Conceitos Básicos
Diferenças entre base de dados, dados, sistema de gestão de base de
dados (SGBD) e sistema de base de dados. Características de um sistema
de base de dados. Funcionalidades típicas de um SGBD. Modelo de dados
concetual, representacional e físico. Fases do desenho de uma base de
dados.
Aula 2: 27.02.2015
Os Modelos ER e EER
Modelo Entidade-Relacionamento (ER): entidades, atributos e
relacionamentos. Domínio de um atributo e tipo de atributos. Entidades
tipo e atributos chave. Restrições nos relacionamentos: cardinalidade
e participação.
Aula 3: 03.03.2015
Os Modelos ER e EER
Entidades fracas. Diagramas ER. Modelação de uma base de dados sobre
uma empresa de transportes públicos.
Aula 4: 06.03.2015
Os Modelos ER e EER
Restrição estrutural. Relacionamentos ternários. Modelo
Entidade-Relacionamento Estendido (EER): subclasses, superclasses,
herança de atributos, especialização, generalização e
categorias. Diagrama EER. Restrições na especialização/generalização:
especialização disjunta, com sobreposição, total e parcial. Hierarquia
de subclasses.
Aula 5: 10.03.2015
Os Modelos ER e EER
Modelação de uma base de dados sobre a gestão de serviços multimédia e
respetivos clientes.
Aula 6: 13.03.2015
O Modelo Relacional
Conceitos básicos e notação genérica: relações, tuplos, atributos e
domínios. Superchaves, chaves, chaves primárias e chaves
externas. Restrições de integridade: integridade de domínio,
integridade da chave, integridade de entidade e integridade
referencial. Violação das restrições de integridade: operação de
inserção, remoção e alteração. Conversão do modelo EER para o modelo
relacional: passos 1-3.
Aula 7: 17.03.2015
O Modelo Relacional
Conversão do modelo EER para o modelo relacional: passos 4-9.
Aula 8: 20.03.2015
O Modelo Relacional
Conversão para o modelo relacional da base de dados sobre a gestão de
serviços multimédia e respetivos clientes.
Álgebra e Cálculo Relacional
Álgebra relacional: operações de seleção, projeção, renomeação e
reunião.
Aula 9: 24.03.2015
Álgebra e Cálculo Relacional
Álgebra relacional: operações de interseção, diferença, produto
cartesiano, junção interna, junção externa, divisão e agregação.
Aula 10: 27.03.2015
Álgebra e Cálculo Relacional
Cálculo relacional por tuplos e cálculo relacional por
domínios. Fórmulas com os quantificadores universal e existencial.
Aula 11: 07.04.2015
Álgebra e Cálculo Relacional
Expressões da álgebra relacional como expressões do cálculo relacional
por tuplos e do cálculo relacional por domínios.
Aula 12: 10.04.2015
A Linguagem SQL
Criar tabelas (CREATE TABLE), alterar os atributos de uma tabela
(ALTER TABLE) e remover tabelas (DROP TABLE). Domínio dos atributos,
valores por defeito e restrições sobre os atributos (DEFAULT, NOT
NULL, CHECK). Restrições de integridade da chave (PRIMARY KEY, UNIQUE,
FOREIGN KEY) e manutenção da integridade referencial (ON DELETE, ON
UPDATE). Declarar novos domínios (CREATE DOMAIN). Adicionar tuplos a
uma tabela (INSERT INTO) e remover tuplos de uma tabela (DELETE FROM).
Aula 13: 14.04.2015
A Linguagem SQL
Consultas em SQL (SELECT-FROM-WHERE, SELECT *, SELECT
DISTINCT). Operadores especiais de comparação (BETWEEN, LIKE, IS
NULL). Definir a ordem e o número de tuplos do resultado (ORDER BY,
LIMIT). Operações sobre conjuntos (UNION, INTERSECT e EXCEPT).
Aula 14: 17.04.2015
A Linguagem SQL
Consultas encadeadas (IN, ALL, ANY) e consultas correlacionadas
(EXISTS).
Aula 15: 21.04.2015
A Linguagem SQL
Operações de junção (INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN e
FULL OUTER JOIN). Funções de agregação (COUNT, SUM, MAX, MIN e
AVG). Agrupar tuplos (GROUP BY-HAVING).
Aula 16: 24.04.2015
A Linguagem SQL
Adicionar tuplos a uma tabela (INSERT INTO), remover tuplos de uma
tabela (DELETE FROM) e alterar os valores dos atributos de uma tabela
(UPDATE). Criar visões (CREATE VIEW) e remover visões (DROP
VIEW). Consultas e alterações utilizando visões.
SQL em Ambiente de Programação
Formas de suporte para comandos SQL em linguagens de programação:
comandos embebidos, biblioteca de funções e novas linguagens de
programação. SQL embebido em C: declarar variáveis SQL, estabelecer e
terminar ligações com o SGBD, executar comandos SQL, declarar
cursores, executar consultas associadas a cursores.
Aula 17: 28.04.2015
SQL em Ambiente de Programação
API C do MySQL: código-tipo de uma aplicação que utiliza a API C do
MySQL. Programação no SGBD: o SQL/PSM (Persistent Stored
Modules). Transações: problemas relacionados com concorrência e níveis
de isolamento. Proteção contra falhas: log de transações e
checkpoints. Transações em SQL (SET TRANSACTION, COMMIT e ROLLBACK).
Aula 18: 12.05.2015
Normalização
Regras para o bom desenho de bases de dados relacionais. Formas
normais e normalização de relações. Primeira forma normal e
normalização 1NF. Dependências funcionais. Regras de inferência de
Armstrong. Dependência funcional parcial, completa e
transitiva. Segunda forma normal e normalização 2NF. Terceira forma
normal e normalização 3NF. Resolução de exercícios.
Aula 19: 15.05.2015
Normalização
Forma normal de Boyce-Codd e normalização BCNF. Decomposição com
junção-não-aditiva. Dependências multi-valor. Regras de inferência
para dependências funcionais e multi-valor. Quarta forma normal e
normalização 4NF. Dependências de junção. Quinta forma normal e
normalizaçao 5NF. Resolução de exercícios.
Aula 20: 19.05.2015
Normalização
Resolução de exercícios.
Aula 21: 22.05.2015
A Linguagem SQL
Discussão dos exercícios das aulas práticas.
Aula 22: 26.05.2015
Organização Física dos Dados
Armazenamento da informação em bases de dados: discos, registos e
ficheiros de registos. Ficheiros não-ordenados, ficheiros ordenados e
ficheiros de acesso direto.
Aula 23: 29.05.2015
Organização Física dos Dados
Índices primários, índices cluster, índices secundários e índices de
níveis múltiplos.
Aula 24: 02.06.2015
Organização Física dos Dados
Árvores B e árvores B+. Índices sobre atributos múltiplos. Índices em
SQL (CREATE INDEX, DROP INDEX). Resolução de exercícios.
Aula 25: 05.06.2015
Organização Física dos Dados
Resolução de exercícios.