ST207      Half Unit

This information is for the 2023/24 session.

Teacher responsible

Dr Marcos Barreto


This course is compulsory on the BSc in Data Science and BSc in Politics and Data Science. This course is available on the BSc in Actuarial Science, BSc in Mathematics with Data 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.

This course has a limited number of places (it is capped). Students who have this course as a compulsory course are guaranteed a place. Places for all other students are allocated on a first come first served basis.


A computer programming course using Python, e.g. a pre-sessional course 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 relational database design; Structured Query Language (SQL) for basic database manipulation; complex SQL queries using aggregate operators and subqueries; integrity constraints, triggers, views and indexing structures; transaction management and concurrency; NoSQL databases such as key-value stores, document, and graph databases; multimedia and spatiotemporal databases.

The course will demonstrate how various theoretical principles are implemented in practice in a database management system, such as MySQL or SQLite, and also in NoSQL, multimedia and spatiotemporal database software.


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

This course includes a reading week in Week 6 of Autumn Term.

Students are required to use their own laptops and install Python and other tools (under guidance of the teaching staff) on their laptops.

Formative coursework

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

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, 2016.
  • G. Powell. Database Modeling Step-by-Step, CRC Press. Taylor & Francis, 2019.
  • A. Beaulieu. Learning SQL: generate, manipulate, and retrieve data, 3rd edition. O'Reilly, 2020.
  • E. Foster and S. Godbole. Database Systems: a pragmatic approach, 3rd edition. CRC Press, 2023.
  • S. Bradshaw, E. Brazil, K. Chodorow. MongoDB: the definitive guide, 3rd edition. O’Reilly, 2019.
  • I. Robinson and J. Webber and E. Eifrem. Graph Databases. 2nd edition. O’Reilly, 2015.

Additional Reading:

  • P. Zhang. Practical Guide to Oracle SQL, T-SQL and MySQL, CRC Press. Taylor & Francis, 2018.
  • A. Meier and M. Kaufmann. SQL & NoSQL Databases: models, languages, consistency options and architectures for big data management. Springer Vieweg, 2019
  • P. Lake and P. Crowther. Concise Guide to Databases: a practical introduction. Springer (Undergraduate Topics in Computer Science), 2013.
  • S. Bagui and R. Earp. Database Design using Entity-Relationship Diagrams, 3rd edition. CRC Press, 2023.
  • C. Garrard. Geoprocessing with Python. Manning Publications, 2016.
  • B. McClain. Python for Geospatial Data Analysis. O'Reilly, 2022.
  • B. Prabhakaran. Multimedia Database Management Systems. Springer. 2012.


Coursework (40%) in the AT.
Project (60%) in the period between AT and WT.

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

The project will require solving a practical task involving data model design, database construction (including views. triggers and other mechanisms), loading of data into a database, and querying the imported data in the database. 

Key facts

Department: Statistics

Total students 2022/23: 55

Average class size 2022/23: 29

Capped 2022/23: Yes (60)

Lecture capture used 2022/23: Yes (MT)

Value: Half Unit

Guidelines for interpreting course guide information

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.

Personal development skills

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