Overview
Database management systems are a crucial part of most large-scale industry and open-source systems. This course will introduce you to important concepts of database systems and design. We will learn what relational databases are, what they are used for, the theory underlying their design, and how to query and modify a database using the declarative SQL language.
At the end of the course, you will be able to:
- Describe what relational databases are, and how they are used.
- Master the Relational Database Model.
- Demonstrate proficiency in formal relational database theory.
- Demonstrate comprehensive SQL skills.
- Apply database knowledge to practical problems.
Software Requirements: Jupyter Notebooks, SQL
Syllabus
- Module 1: Database Overview
- Welcome to Introduction to Relational Databases! In this course, we will cover the topics of: Database Overview, Relational Algebra, SQL. This learning module provides a comprehensive introduction to relational databases, their applications, and components. Starting with an introduction to databases and their diverse applications, the module discusses the components of relational database schemas, including relations, attributes, and keys. Students will learn to design simple database schemas and understand key database concepts such as records, data retrieval and modification, and primary/foreign keys. The module includes real-world examples for practical understanding.
- Module 2: Relational Algebra
- This learning module explores the fundamental concepts and operations of relational algebra, the theoretical foundation of relational databases. It introduces basic relational algebra concepts such as 'relation', 'tuple', and 'operation', and then dives into fundamental relational algebra operations, including selection, projection, and union. Students will also learn about more advanced operations like joins and division, expanding their understanding of how complex data relationships can be managed. Further, the module will cover composite and aggregation operations to handle more intricate data manipulations, as well as operations for modifying relations. This module gives students a firm theoretical foundation to work with relational databases.
- Module 3: SQL
- This learning module provides an in-depth understanding of SQL (Structured Query Language), the standardized language used for managing relational databases. Starting with the fundamentals, students will learn to utilize SELECT and set operations to extract relevant information from database tables. The module then transitions into more complex queries involving joins, enabling students to locate and amalgamate information from multiple database tables. It further delves into modifying database tables, defining their structures, creating referential integrity constraints to maintain database consistency, and controlling user database access via SQL commands. Learning SQL will equip students with the knowledge and skills necessary to effectively manage and manipulate data in relational databases .
- Summative Course Assessment
- This module contains the summative course assessment that has been designed to evaluate your understanding of the course material and assess your ability to apply the knowledge you have acquired throughout the course. Be sure to review the course material thoroughly before taking the assessment.
Taught by
Gerald Balekaki