Databases

Lecturer: Dr T.G. Griffin

No. of lectures: 12

Aims

The overall aim of the course is to cover the fundamentals of database
management systems (DBMSs), paying particular attention to relational
database systems. The course covers modelling techniques, transferring
designs to actual database implementations, SQL, models of query
languages, transactions as well as more recent developments, including
data warehouses and On-line Analytical Processing (OLAP), and use of
XML as a data exchange language. The lectures will make use of the
open source DBMS, MySQL.

Lectures

Introduction.
What is a database system?
Database systems are more than just a collection of data.
Three level architecture.
OnLine Transaction Processing (OLTP) vs.
OnLine Analytic Processing (OLAP).

Entity-Relationship (E/R) modelling.
A bit of set theory.
Entities have attributes.
Relations have arity.
Database design and data modelling.

The relational data model.
Relations are sets of records.
Representing entities and relationships as relations.
Queries as derived relations.
Relations are the basis of SQL.

On-line Analytical Processing (OLAP).
When to forget about data normalisation.
Beware of buzz-words and the Data Warehouse Death March.
More on OLTP vs. OLAP.
What is a data cube?
Data modelling for data warehouses -- star schema.

XML as a data exchange format.
What is XML?
XML can be used to share data between proprietary relational databases.
XML-based databases?

Objectives

At the end of the course students should

be able to design entity-relationship diagrams to represent simple
database application scenarios

know how to convert entity-relationship diagrams to relational
database schemas in the standard Normal Forms

be able to program simple database applications in SQL

understand the basic theory of the relational model and both its
strengths and weaknesses