Relational Database Implementation and Applications (Coursera)

Offered by Illinois Tech,
Relational Database Implementation and Applications (Coursera)

In today's data-driven world, the ability to work with relational databases is an essential skill for professionals in various fields. This course is designed to equip you with the knowledge and practical skills needed to become proficient in database management and application development. Whether you are pursuing a career as a database administrator, software developer, or data analyst, this course provides you with a strong foundation to excel in your chosen field.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

By the end of this course, students will be able to:
• Describe relational databases and their core components, including tables, rows, columns, and keys.
• Implement relational database and usage of indexes, views, triggers, temporary tables, functions, and stored procedures.
• Describe their role in enforcing business logic and data integrity in database environment.
• Apply database design and SQL knowledge to real-world application development.
• Develop database-driven applications using programming languages, such as Java, Python or C/C++ and frameworks.
• Describe the concepts of indexing and hashing in efficient support for search operations.
• Describe the concepts of transactions and their properties (ACID: Atomicity, Consistency, Isolation, Durability).
• Define concurrency control and understand the impact of uncontrolled concurrent transactions on data integrity.
Recommended Pre-Requisites: CS 725 (Intro to Relational Databases) & CS 726 (Relational DB Design), Intermediate knowledge in Java, Python, C/C++ programming.

Software Requirements: VS Code editor, MySQL Workbench, PostgreSQL

What you'll learn

  • Implement relational database and usage of indexes, views, triggers, temporary tables, functions, and stored procedures.
  • Develop database-driven applications using programming languages, such as Java, Python or C/C++ and frameworks.
  • Describe transaction and concurrency control concepts in relational databases.

Syllabus

Module 1: Indexes, Views, Functions, and Stored Procedures
Welcome to Relational Database Implementation and Applications! In Module 1 of this course, you'll delve into the fundamental aspects of building relational databases. You'll learn about implementing indexes, views, triggers, functions, and stored procedures in relational databases. We'll highlight the significance of these elements in databases and how they enhance query performance. You'll explore the creation of both simple and complex views, understanding how they offer data abstraction benefits and the versatility of managing data through views. Additionally, you'll gain experience in creating and optimizing database operations using user-defined functions, triggers, and stored procedures in SQL, thus acquiring comprehensive knowledge of accurate business logic implementation and performance optimization techniques.

Module 2: Advanced Window Functions and OLAP Queries in SQL
Module 2 of this course offers an immersive exploration of the powerful world of SQL window functions and OLAP (Online Analytical Processing) concepts. You will learn about the definition and benefits of window functions, gaining proficiency in advanced applications such as RANK(), DENSE_RANK(), LEAD(), LAG(), NTILE(n), PERCENT_RANK(), and CUME_DIST(). Additionally, you'll develop the skills to control window function behavior using PARTITION BY and ORDER BY clauses, define custom window frames with RANGE and ROWS clauses, and design, query, and analyze OLAP datasets using ROLL-UP and DRILL-DOWN levels of aggregation.

Module 3: Database Application Development
In Module 3 of this course, you'll learn how to develop database applications using versatile programming languages such as Java, Python, or C++. You'll discover how to establish connections to databases, perform essential CRUD (Create, Read, Update, Delete) operations, and write code that supports SQL features like triggers, functions, and stored procedures used to facilitate complex queries in relational databases. The focus will be on robust database interactions, including error and exception handling to address connection issues, query failures, and data validation, ensuring the reliability of your applications.

Module 4: Indexing and Hashing
Module 4 of this course provides an in-depth understanding of indexing within database systems. You'll define indexing and grasp its critical importance. Through comprehensive exploration, you'll differentiate between various types of indexes, including ordered and hash indexes, primary and secondary indexes, as well as multi-level and single-level indexes. Additionally, you'll delve into the structure of B+-trees, including nodes and leaves, and learn how these structures maintain balance, supporting efficient search operations. You'll also gain insight into B+-tree insertion and deletion operations.

Module 5: Transaction Concepts
In Module 5, you will enter into the world of database transactions and their critical role in ensuring data consistency and integrity. You will gain a comprehensive understanding of the four ACID properties (Atomicity, Consistency, Isolation, Durability) and their significance in maintaining the reliability of transactions. Additionally, you'll explore techniques for managing concurrent access to data, including discussions on COMMIT and ROLLBACK behaviors, serial and serializable schedules, and conflict serializability tests using graph-based techniques. This module will also cover concepts like equivalent serial schedules, recoverability, and cascade-less schedules, empowering you to design and manage complex database systems with confidence and precision.

Module 6: Concurrency Control
Module 6 focuses on concurrency control in database management systems. You'll define concurrency control and understand its significance in maintaining data integrity while delving into the principles of lock-based concurrency control. This module will cover key concepts such as shared and exclusive lock types, lock modes, lock compatibility, and introduce the two-phase locking protocol with its guarantees. Additionally, you'll gain insights into how transactions acquire and release locks within this protocol, and you'll explore the concept of deadlocks and their underlying causes, equipping you with essential knowledge to manage concurrent access effectively and prevent data integrity issues in database systems.

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.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

SQL for Data Science with R (Coursera) Coursera
IBM

SQL for Data Science with R (Coursera)

Much of the world's data resides in databases. SQL (or Structured Query Language) is a powerful language which is used for communicating with and extracting data from databases. A working knowledge of databases and SQL is a must if you want to become a data scientist. The purpose of this course is to introduce relational database concepts and help you learn and apply foundational knowledge of the SQL and R languages. It is also intended to get you started with performing SQL access in a data science environment.

Jun 8th 2026
5-12 Weeks
Data Manipulation at Scale: Systems and Algorithms (Coursera) Coursera
University of Washington

Data Manipulation at Scale: Systems and Algorithms (Coursera)

Data analysis has replaced data acquisition as the bottleneck to evidence-based decision making --- we are drowning in it. Extracting knowledge from large, heterogeneous, and noisy datasets requires not only powerful computing resources, but the programming abstractions to use them effectively. The abstractions that emerged in the last decade blend ideas from parallel databases, distributed systems, and programming languages to create a new class of scalable data analytics platforms that form the foundation for data science at realistic scales.

Jun 8th 2026
4 Weeks
Big Data Analysis Deep Dive (Coursera) Coursera
Alibaba Cloud Academy

Big Data Analysis Deep Dive (Coursera)

The job market for architects, engineers, and analytics professionals with Big Data expertise continues to increase. The Academy’s Big Data Career path focuses on the fundamental tools and techniques needed to pursue a career in Big Data. This course includes: data processing with python, writing and reading SQL queries, transmitting data with MaxCompute, analyzing data with Quick BI, using Hive, Hadoop, and spark on E-MapReduce, and how to visualize data with data dashboards. Work through our course material, learn different aspects of the Big Data field, and get certified as a Big Data Professional!

Jun 8th 2026
5-12 Weeks
Data Analysis with Spreadsheets and SQL (Coursera) Coursera
Meta

Data Analysis with Spreadsheets and SQL (Coursera)

This course introduces you to how to use spreadsheets and SQL queries to analyze and extract data. You will learn how to practically apply the OSEMN data analysis framework and spreadsheet functions to clean data, calculate summary statistics, evaluate correlations, and more. You’ll also dive into common data visualization techniques and learn how to use dashboards to tell a story with your data.

Jun 8th 2026
5-12 Weeks
Database Design and Basic SQL in PostgreSQL (Coursera) Coursera
University of Michigan

Database Design and Basic SQL in PostgreSQL (Coursera)

In this course you will learn more about the historical design of databases and the use of SQL in the PostgreSQL environment. Using SQL techniques and common commands (INSERT INTO, WHERE, ORDER BY, ON DELETE CASCADE, etc) will enable you to create tables, column types and define the schema of your data in PostgreSQL. You will learn about data modeling and how to represent one-to-many and many-to-many relationships in PostgreSQL.

Jun 8th 2026
Self-Paced
The Structured Query Language (SQL) (Coursera) Coursera
University of Colorado Boulder

The Structured Query Language (SQL) (Coursera)

In this course you will learn all about the Structured Query Language ("SQL".) We will review the origins of the language and its conceptual foundations. But primarily, we will focus on learning all the standard SQL commands, their syntax, and how to use these commands to conduct analysis of the data within a relational database. Our scope includes not only the SELECT statement for retrieving data and creating analytical reports, but also includes the DDL ("Data Definition Language") and DML ("Data Manipulation Language") commands necessary to create and maintain database objects.

Jun 9th 2026
5-12 Weeks
Working with Data in Android (Coursera) Coursera
Meta

Working with Data in Android (Coursera)

Learn how to work with web technologies and persistent data on Android applications even after you close or restart an app. There is a focus on web communication and developer tools and you will discover how Kotlin applications communicate over the web. You’ll learn how data formats and web protocols work in relation to Kotlin apps. Furthermore, you will practice applying asynchronous programming techniques using Kotlin.

Jun 8th 2026
5-12 Weeks
Oracle SQL Proficiency (Coursera) Coursera
LearnQuest

Oracle SQL Proficiency (Coursera)

This course is designed to help you continue learning about Oracle SQL and database management. We will look more closely at the Create, Alter, and Update commands, explore database relationships, and demonstrate how to use database views and SQL functions. It is recommended that you complete the first three courses of this specialization prior to this one.

Jun 8th 2026
2 Weeks