ST207      Half Unit
Databases

This information is for the 2022/23 session.

Teacher responsible

Dr Marcos Barreto

Availability

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

Pre-requisites

A computer programming course using Python, e.g. a short 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 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.

Teaching

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

This course includes a reading week in Week 6 of Michaelmas 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 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.
  • G. Powell. Database Modeling Step-by-Step, CRC Press, Taylor & Francis, 2020.
  • A. Beaulieu. Learning SQL: generate, manipulate, and retrieve data, 3rd. Edition. O'Reilly, 2020.

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. 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.
  • C. J. Date, An Introduction to Database Systems, 8th Edition, Pearson, 2003.

Assessment

Coursework (40%) in the MT.
Project (60%) in the period between MT and LT.

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, loading of data into a database, and querying the imported data in the database. 

Key facts

Department: Statistics

Total students 2021/22: 22

Average class size 2021/22: 11

Capped 2021/22: Yes (60)

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