ST207      Half Unit

This information is for the 2021/22 session.

Teacher responsible

Dr Marcos Barreto


This course is available on the BSc in Actuarial Science and BSc in Mathematics, Statistics and Business. This course is available with permission as an outside option to students on other programmes where regulations permit and to General Course students.


A computer programming course using Python, e.g. a short pre-sessional course (details to be announced on Moodle) or Programming for Data Science (ST101).

Course content

The goal of this course is to cover basic concepts of database management systems, including relational and other types of database management systems.

The topics covered will include basic concepts of the relational model, creating and modifying relations using Structured Query Language (SQL), basic SQL queries using SELECT operator, nested queries, aggregate operators such as GROUP BY, integrity constraints and relations, views, application development using JDBC, Internet protocols such as HTTP and XML, storage and indexing, tree-structured indexing using B+ trees, hash-based indexing, query evaluation and algorithms for relational operations, external sorting, transaction management and concurrency, database schema and normal forms, and overview of NoSQL databases such as key-value stores, document, and graph databases.

The course will demonstrate how various theoretical principles are implemented in practice in a database management system, such as MySQL, SQLite and PostgreSQL.


20 hours of lectures and 15 hours of seminars in the MT.

Students are required to use their own laptops and install Python on their laptops. 

Students not having a laptop of their own, which can be used for the purpose of the course, will be offered to use personal computers available in seminar rooms.

Formative coursework

Students will be expected to produce 10 exercises in the MT.

A set of exercises will be given in each teaching week.

Indicative reading

Essential Reading: 

  • R. Elmasri and S. B. Navathe. Fundamentals of Database Systems, 7th Edition (Global Edition), Pearson, 2017.
  • P. Lake and P. Crowther. Concise Guide to Databases: a practical introduction. Springer, Undergraduate Topics in Computer Science, 2013.
  • J. Hellerstein and M. Stonebraker, Readings in Database Systems, 4th Edition, Morgan Kaufmann Series in Data Management Systems, 2005,

Additional Reading: 

  • R. Ramakrishnan and J. Gerhke, Database Management Systems, 3rd Edition (International Edition), McGraw-Hill, 2002.
  • C. J. Date, An Introduction to Database Systems, 8th Edition, Pearson, 2003.
  • J. Leskovec, A. Rajaraman and J. Ullman, Mining of Massive Datasets, 3rd Edition, Cambridge University Press, 2018,
  • A. Meier and M. Kaufmann. SQL & NoSQL Databases: models, languages, consistency options and architectures for big data management. Springer Vieweg, 2019.
  • K. Chodorow. MongoDB: the definitive guide. 2nd Edition, O’Reilly Media, 2013.
  • I. Robinson and J. Webber and E. Eifrem. Graph Databases. O’Reilly, 2013.


Coursework (40%) in the MT.
Project (60%).

Students are required to hand in solutions to 4 sets of exercises, each accounting for 10% of the final assessment. 

The project will require solving a practical task involving data model design, loading of data into a database, and querying the imported data in the database. 

Course selection videos

Some departments have produced short videos to introduce their courses. Please refer to the course selection videos index page for further information.

Important information in response to COVID-19

Please note that during 2021/22 academic year some variation to teaching and learning activities may be required to respond to changes in public health advice and/or to account for the differing needs of students in attendance on campus and those who might be studying online. For example, this may involve changes to the mode of teaching delivery and/or the format or weighting of assessments. Changes will only be made if required and students will be notified about any changes to teaching or assessment plans at the earliest opportunity.

Key facts

Department: Statistics

Total students 2020/21: Unavailable

Average class size 2020/21: Unavailable

Capped 2020/21: No

Value: Half Unit

Guidelines for interpreting course guide information

Personal development skills

  • Self-management
  • Problem solving
  • Application of information skills
  • Communication
  • Application of numeracy skills
  • Commercial awareness
  • Specialist skills