School of Computer Science

Module 06-21980 (2010)

ICY: Databases

Level 1/C I

John Barnden Semester 2 10 credits
Co-ordinator: John Barnden
Reviewer: Alan Sexton

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


The aims of this module are to:

  • Introduce the fundamentals of database theory
  • Introduce the core of the SQL query language
  • Enable students to design a database

Learning Outcomes

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

  • Use SQL to create, modify and query databases
  • Analyse a real-world scenario and perform a conceptual database design for it
  • Take a conceptual data design model and translate it into the relational model
  • Use an existing database system

Teaching methods

2 hrs lectures/tutorials per week (plus 22 hours of assisted labs)

Detailed Syllabus

  1. Tables and SQL: using the existing relational database implementation, simple select queries, nested queries, aggregate functions, grouping, table creation and modification, etc.
  2. Conceptual database design: entities and relationships, generalisation hierarchies, keys and weak entities, ER diagrams.
  3. Logical database design and relational theory: translating ER diagrams into tables, relational algebra, functional dependencies, normalisation, de-normalisation.
  4. Discrete-mathematical underpinning of database relations, relationships and relational algebra.