Databases and Advanced Data Techniques

Databases and Advanced Data Techniques

Module Specification

Rationale for the module

Databases and data services are essential components of modern computer systems. They provide a structured way of collecting, storing, filtering, and processing data, making it easily accessible for analysis and decision-making. As a result, the study of databases and data management is a critical application area for computer science.

This module builds on the data concepts and skills covered in previous modules, providing students with advanced knowledge about working with data in computer systems. Students will learn about various database models, including relational and non-relational databases, and the principles of database design. They will also learn how to use SQL, a standard programming language for managing and querying relational databases.

Moreover, this module covers essential data management topics such as data modeling. Students will learn how to analyze datasets and extract meaningful insights from them using various data analysis techniques. They will also gain knowledge of data security and privacy, ensuring that data is managed ethically and in compliance with legal requirements.

By mastering these data concepts and skills, students will be better equipped to design, implement and manage databases and data services, which are essential for organizations to make data-driven decisions and gain a competitive advantage in today's data-driven world.

Aims of the module

This module aims to show you how to work with data in your computer programs. You will learn how to use SQL and NoSQL databases to store tabular data and documents. You will learn about the ethics of gathering and processing data and why it is important to consider issues around data security. You will learn about open data resources, and how you can access them from your computer programs. You will learn about audio and video data, and the challenges of working with this kind of data.

Topics covered in this module

The topics listed here are an approximation of what will be covered. The topics presented may be slightly revised to ensure currency and relevance. Students will be advised of any changes in advance of their study.

  1. Open data sources: different data formats

  2. Gathering and cleaning data

  3. The ethics of working with data

  4. SQL: advanced data representation

  5. SQL: advanced queries and linking

  6. NoSQL and document stores

  7. NoSQL and data pipelines

  8. Speeding up queries with indexes

  9. Audio and video data

  10. Data security

Learning outcomes for the module

Students who successfully complete this module will be able to:

  1. Devise and explain an appropriate representation of data in an SQL RDBMS

  2. Write advanced SQL queries using indexes and joins to read and write data from an SQL database

  3. Write data to a NoSQL database and selectively read data from a NoSQL database using filters

  4. Read data from various file formats and databases and prepare it for use in a computer program using data processing techniques

  5. Discuss critical issues relating to the ethics of working with data and data security and apply this knowledge to particular situations

  6. Understand the challenges of working with audio and video data