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 MySQL
Breve introdução ao PHP e à API do MySQL para o PHP. Exemplo de uma aplicação PHP de interface ao MySQL.

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.

A First Course in Database Systems 2/E
J. Ullman and J. Widom, Prentice-Hall.

Database Systems Concepts 5/E
A. Silberschatz, H. Korth and S. Sudarshan, McGraw-Hill.

Learning PHP and MySQL
M. Davis and J. Phillips, O'Reilly.

Web Database Applications with PHP and MySQL
H. Williams and D. Lane, O'Reilly.

Informação Complementar

MySQL: Developer Zone

PHP: Hypertext Preprocessor