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.
Open data sources: different data formats
Gathering and cleaning data
The ethics of working with data
SQL: advanced data representation
SQL: advanced queries and linking
NoSQL and document stores
NoSQL and data pipelines
Speeding up queries with indexes
Audio and video data
Data security
Learning outcomes for the module
Students who successfully complete this module will be able to:
Devise and explain an appropriate representation of data in an SQL RDBMS
Write advanced SQL queries using indexes and joins to read and write data from an SQL database
Write data to a NoSQL database and selectively read data from a NoSQL database using filters
Read data from various file formats and databases and prepare it for use in a computer program using data processing techniques
Discuss critical issues relating to the ethics of working with data and data security and apply this knowledge to particular situations
Understand the challenges of working with audio and video data