University of Oxford Logo University of OxfordSoftware Engineering - Home

Database Design

Relational database technology is the dominant approach to information storage, with products that offer an unmatched combination of abstraction and performance. To use these products effectively, however, requires an understanding of the underlying principles and concepts.

Course dates

13th October 2014Oxford University Department of Computer Science 0 places remaining.
11th May 2015Oxford University Department of Computer Science12 places remaining.

Objectives

At the end of the course, students will

  • have had a thorough introduction to the underlying principles of modern relational databases; and
  • be able to use these insights in designing data models.

Contents

Introduction
evolution of database systems; database system architecture; database management systems.
The entity-relationship model
semantic modelling; entity-relationship diagram elements; entity-relationship diagrams; design principles; modelling constraints; limitations of the entity-relationship model.
The relational data model
objectives; aspects; terminology; relational integrity; views; relational algebra; relational calculus; limitations of the relational data model.
SQL
queries; subqueries; full relation operations; modifying databases; defining relation schemas; defining views; constraints and triggers.
Normalisation
functional dependencies and normalisation; denormalisation.
Query optimisation
query processing; query decomposition; a heuristical approach to query optimisation.
Transaction management
recovery; concurrency.
Distributed databases
principles; client/server systems; DBMS independence; data warehousing.

Requirements

Some familiarity with discrete mathematics would be useful; Software Engineering Mathematics would be an ideal preparation.