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

Coursera

Relational Database Implementation and Applications

Illinois Institute of Technology via Coursera

Overview

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. 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. Software Requirements: VS Code editor, MySQL Workbench, PostgreSQL To succeed in this course, learners should possess a solid understanding of relational database design. If you haven't yet mastered these skills, we strongly recommend completing Introduction to Relational Databases and Relational Database Design beforehand. These foundational courses are designed to equip you with the essential knowledge necessary to excel in this material.

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.

Taught by

Gerald Balekaki

Reviews

Start your review of Relational Database Implementation and Applications

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.