University of Oxford Logo University of OxfordSoftware Engineering - Home
On Facebook
Facebook
Follow us on twitter
Twitter
Linked in
Linked in
Google plus
Google plus
Digg
Digg
Pinterest
Pinterest
Stumble Upon
Stumble Upon

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.

Frequency

This course normally runs twice a year.

Course dates

29th April 2024Oxford University Department of Computer Science - Held in the Department 0 places remaining.
4th November 2024Oxford University Department of Computer Science - Held in the Department14 places remaining.
12th May 2025Oxford University Department of Computer Science - Held in the Department15 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.