School of Computer Science

Module 06-02525 (2016)


Level 3/H

Ian Kenny Semester 1 10 credits
Co-ordinator: Ian Kenny
Reviewer: Robert Hendley

The Module Description is a strict subset of this Syllabus Page.


The module begins with a swift recap of the standard database canon: SQL and ER modelling, albeit from a more advanced perspective. This is followed by a discussion of relational algebra and functional dependencies, and their role in verifying and improving the ER model (towards Boyce-Codd normal form). In the second part of the module, the inner workings of a database management system are presented and it is discussed how they impact on query evaluation efficiency. In the final part, transactions and transaction processing will be discussed.


The aims of this module are to:

  • Present the key concepts of relational database theory
  • Present the background to physical database design and performance tuning

Learning Outcomes

On successful completion of this module, the student should be able to:

  1. Use SQL for querying a relational database
  2. Design a relational database using extended entity-relationship diagrams
  3. Translate extended entity-relationship diagrams into SQL CREATE statements
  4. Translate between SQL and relational algebra
  5. Analyse a relational database design using functional dependencies and perform transformations towards Boyce-Codd Normal Form
  6. Demonstrate an understanding of database implementation principles, and their impact on query evaluation efficiency
  7. Structure a series of queries as transactions, and demonstrate an understanding of the impact this has on database behaviour and performance.


06-19321 Software System Components 2 (or some other introductory course in databases)

Cannot be taken with

Teaching methods

2 lectures and one exercise class per week during term time plus revision lecture. Weekly exercise sheets.

Contact Hours:



Sessional: 1.5 hr examination (80%), continuous assessment (20%).

Supplementary (where allowed): By examination only.

The continuous assessment consists of three class tests.

Detailed Syllabus

  1. Querying a relational database with SQL
  2. Modelling a real-world situation with (extended) entity-relationship diagrams
    • ER modelling
    • Extended ER diagrams
    • Translating EER diagrams to tables
  3. Logical analysis of database designs
    • Relational algebra
    • Functional dependencies
    • Normalisation
  4. RDBMS implementation technology
    • File organisation and retrieval
    • Indexes
    • Algorithms for relational operators
    • Query Execution
    • Query Optimisation
    • Transactions

Programmes containing this module