ST207      Half Unit
Databases

This information is for the 2024/25 session.

Teacher responsible

Dr Marcos Barreto

Availability

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 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.

Pre-requisites

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 concepts of database management systems, including relational and non-relational databases.

The topics covered will include: Relational database design; Structured Query Language (SQL) for database implementation and manipulation; Integrity constraints, triggers and database views; Concurrency control and recovery mechanisms; Multimedia and spatiotemporal databases; NoSQL databases (key-value stores, document, and graph databases; Vector databases and large language models (LLMs) applied to 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, spatiotemporal and vector database software.

Teaching

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.
  • E. Sciore. Database Design and Implementation. 2nd edition. Springer, 2020.
  • 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.
  • 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.
  • J. Pan, J. Wang, and G. Li. Survey of Vector Database Management Systems. 2023. https://doi.org/10.48550/arXiv.2310.14021

Assessment

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

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

The group project will require solving a practical task involving data modeling, database creation (including views and triggers when pertinent), data loading and utilisation (querying). The students will be encouraged to work with a mixture of relational and non-relational real and/or synthetic data and design a database application that approximates a real scenario.

Key facts

Department: Statistics

Total students 2023/24: 71

Average class size 2023/24: 25

Capped 2023/24: Yes (90)

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