School of Computer Science

Module 06-21923 (2017)

Fundamentals Databases

Level 4/M C

Russell Beale Semester 2 10 credits
Co-ordinator: Russell Beale
Reviewer: Alan Sexton

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

Outline

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 module is particularly suitable for MSc students who have little previous background in Computer Science.


Aims

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
  5. Apply relational algebra and the mathematical theory of relations to describe databases, queries, and consistency conditions

Restrictions

None


Taught with

Cannot be taken with


Teaching methods

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

Contact Hours: 24


Assessment

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.

Programmes containing this module