School of Computer Science

Module 06-21980 (2013)

ICY Databases

Level 1/C I

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

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


The module will explore some of the fundamentals of databases. Topics will include: relational theory, relational algebra, query languages, data design. The necessary mathematical background will be developed alongside its application in databases. Students will be introduced to an existing database system.


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:

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

Cannot be taken with

Teaching methods

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

Contact Hours: 24


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

Supplementary (where allowed): 1.5 hour examination (100%)

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.