Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Complete Database & SQL Masterclass | RDBMS, Practical SQL
Rating: 4.4 out of 5(7,339 ratings)
22,162 students

Complete Database & SQL Masterclass | RDBMS, Practical SQL

Master SQL, DB Design, ER Modeling, Normalization, Transactions, Indexing, Views, Stored Procedures and Data Warehousing
Last updated 7/2026
English
English [Auto],French [Auto],

What you'll learn

  • Describe the fundamental elements of relational database management systems.
  • Explain the basic concepts of relational data model, entity-relationship model, relational database design, relational algebra and SQL.
  • Design ER-models to represent simple database application scenarios
  • Improve the database design by normalization.
  • Concurrency control( from scratch to advance).
  • Database indexing ( B and B+ Trees).
  • Able to create complex SQL queries using multiple tables.
  • In-depth knowledge over database design or database engineer.
  • Learn core concepts of database design.
  • Capable to answer any level of competitive exams like GATE, ISRO, PSU's or any other.
  • Write Efficient SQL Queries – Use DDL, DML, subqueries, joins, views, and indexing for performance optimization.
  • Work with Microsoft Fabric SQL – Understand schemas, stored procedures, CTEs, temp tables, and string aggregate functions

Course content

23 sections211 lectures24h 24m total length
  • Types of keys.2:44

    Summary – Types of Keys in DBMS

    • Keys are a set of one or more attributes used to uniquely identify each row (tuple) in a relation (table).

    • Keys also help establish relationships between tables.

    • There are five primary types of keys commonly used in DBMS:

      1. Candidate Key

      2. Primary Key

      3. Alternate Key

      4. Super Key

      5. Foreign Key

    • Candidate Key, Primary Key, Alternate Key, and Super Key are closely related concepts and will be studied individually.

    • Foreign Key is used to create and maintain relationships between tables.

    • Another commonly used key is the Surrogate Key.

    • Surrogate Key is a system-generated key that is created when no suitable Candidate Key is available.

    • The meaning and usage of each key type become clearer after understanding them individually, so they are typically covered in separate lessons.

    Key Takeaway

    Keys uniquely identify records and help establish relationships between tables. Understanding the different types of keys is fundamental to learning relational databases and SQL.

  • Candidate Key6:07

    Candidate Key – Summary

    • A Candidate Key is the minimum set of attribute(s) that can uniquely identify each row (tuple) in a table.

    • A Candidate Key must satisfy two conditions:

      • Uniqueness – Every value (or combination of values) must be unique; duplicate values are not allowed.

      • Not NULL – Every record must have a value; NULL values are not allowed.

    • The word "minimum" means that no unnecessary attribute is included. If any attribute is removed, it should no longer uniquely identify the record.

    • A table can have one or more Candidate Keys.

    Example

    Consider the following Employee table:

    Emp_NoEmp_NameAadhaar_NoDriving_License_No101Rahul1234-5678-9012DL12345102Priya2345-6789-0123DL23456103Amit3456-7890-1234DL34567

    Possible Candidate Keys:

    • Emp_No ✅ (Unique and NOT NULL)

    • Aadhaar_No ✅ (Unique and NOT NULL)

    • Driving_License_No ✅ (Unique and NOT NULL)

    Not Candidate Keys:

    • Emp_Name ❌ (Different employees can have the same name.)

    • Any attribute containing duplicate or NULL values

    Prime and Non-Prime Attributes

    • Prime Attributes: Attributes that are part of any Candidate Key.

      • Example: Emp_No, Aadhaar_No, Driving_License_No

    • Non-Prime Attributes: Attributes that are not part of any Candidate Key.

      • Example: Emp_Name

    Key Takeaway

    A Candidate Key is the smallest possible attribute (or combination of attributes) that uniquely identifies every record in a table. It must be unique, cannot contain NULL values, and a table may have multiple Candidate Keys.

  • Primary Key2:40

    Primary Key – Summary

    • A Primary Key is the Candidate Key selected to uniquely identify each record in a table.

    • Since a Primary Key is chosen from the Candidate Keys, it also satisfies the Candidate Key properties:

      • Unique – No duplicate values are allowed.

      • NOT NULL – Every row must have a value.

    • A table can have multiple Candidate Keys, but it can have only one Primary Key.

    • If a table has only one Candidate Key, it automatically becomes the Primary Key.

    • If there are multiple Candidate Keys, the database designer selects one as the Primary Key based on convenience, simplicity, and business requirements.

    • The chosen Primary Key should be:

      • Stable (rarely changes)

      • Easy to use and reference

      • Compact and meaningful for database operations

    Example

    Consider the following Employee table:

    Emp_NoEmp_NameAadhaar_NoDriving_License_No101Rahul1234-5678-9012DL12345102Priya2345-6789-0123DL23456103Amit3456-7890-1234DL34567

    Candidate Keys:

    • Emp_No ✅

    • Aadhaar_No ✅

    • Driving_License_No ✅

    Among these, we choose Emp_No as the Primary Key because it is:

    • Short and easy to reference

    • Stable

    • Convenient for database operations

    Relationship Between Candidate Key and Primary Key

    • Every Primary Key is a Candidate Key.

    • Not every Candidate Key becomes the Primary Key.

    Key Takeaway

    A Primary Key is the single Candidate Key chosen to uniquely identify every record in a table. It must be unique, cannot contain NULL values, and every table can have only one Primary Key.

  • Alternate Key1:17

    Alternate Key – Summary

    • An Alternate Key is a Candidate Key that is not selected as the Primary Key.

    • A table can have multiple Candidate Keys, but only one of them is chosen as the Primary Key — the remaining Candidate Keys automatically become Alternate Keys.

    • Example: In an Employee table with Candidate Keys – Emp_Number, Aadhaar_Number, Driving_License:

      • If Emp_Number is selected as the Primary Key,

      • then Aadhaar_Number and Driving_License become Alternate Keys.

    • Simple relationship: Alternate Keys = Candidate Keys − Primary Key.

    • Since Alternate Keys are Candidate Keys, they also satisfy the properties of Uniqueness and NOT NULL.

    • Alternate Keys can still be used to uniquely identify records and serve different practical purposes in the database.

    Key Takeaway: Any Candidate Key other than the selected Primary Key is called an Alternate Key.

  • Super Key4:09

    Super Key – Summary

    • A Super Key is any set of one or more attributes whose values can uniquely identify each row (tuple) in a table.

    • If a set of attributes generates uniqueness for every record, that set is a Super Key — it does not need to be minimal.

    • Forming Super Keys: adding zero or more attributes to a Candidate Key always produces a Super Key.

      • Example: If Emp_Number is a Candidate Key, then Emp_Number, (Emp_Number, Ename), (Emp_Number, Dept_No), etc. are all Super Keys.

    • Important relationship:

      • Every Candidate Key is a Super Key (a Candidate Key is simply a minimal Super Key).

      • But every Super Key is NOT a Candidate Key, because a Super Key may contain unnecessary (extra) attributes.

    • Overall picture: Candidate Keys ⊂ Super Keys; one Candidate Key is chosen as the Primary Key and the remaining ones become Alternate Keys.

    Key Takeaway: Any attribute set that guarantees uniqueness is a Super Key; the minimal ones among them are the Candidate Keys.

  • Foreign Key6:07

    Foreign Key – Summary

    • A Foreign Key is a column (or set of columns) in one table that refers to the Primary Key of another table (or, in some cases, of the same table).

    • Intuition: just like a person outside their native place is a "foreigner", the values of a Foreign Key column are not native to that table — their origin (source) is another table.

    • Example:

      • Employee table: Emp_No (Primary Key), Ename, Manager_ID, Dept_No.

      • Department table: Dept_No (Primary Key), Dept_Name, Location.

      • Dept_No in the Employee table is a Foreign Key, because its values come from the Primary Key of the Department table.

    • Parent and Child tables:

      • Parent table – the source of the values (here, Department).

      • Child table – the table using those values as a Foreign Key (here, Employee).

    • A Foreign Key can also refer to a Candidate Key of another table — it need not always be the Primary Key.

    • Self-referencing Foreign Key: a Foreign Key can refer to the Primary Key of the same table — e.g., Manager_ID in the Employee table refers to Emp_No of the same table (a manager is also an employee).

    • Foreign Keys are used to establish relationships between tables and maintain referential integrity.

    Key Takeaway: A Foreign Key binds one table to another by referring to the Primary (or Candidate) Key of the parent table.

  • Test 1 : Keys
  • Section Summary : Keys1:02

Requirements

  • No Prerequisites.

Description

"Why should I buy this course instead of the hundreds of SQL courses available?"

Here's a stronger version.

Complete SQL & Database Masterclass | DBMS, RDBMS & Database Design

Master SQL and Database Engineering with Confidence

Databases are the backbone of every modern application. Whether you're building web applications, designing enterprise systems, preparing for interviews, or pursuing a career in software or data engineering, a strong understanding of SQL and database concepts is essential.

This course is designed to take you from complete beginner to advanced through a structured, practical, and industry-focused learning path.

Instead of memorizing isolated topics, you'll understand how databases actually work, why they are designed the way they are, and how SQL is used to solve real-world problems.

Every concept is explained step by step using practical examples, visual illustrations, and hands-on SQL demonstrations.

What You'll Learn

Database Fundamentals

  • Relational Database Concepts

  • ER Modeling

  • Keys and Relationships

  • Functional Dependencies

  • Relational Algebra

  • Database Design Principles

  • Normalization (1NF to BCNF)

SQL from Beginner to Advanced

  • DDL, DML and DCL

  • SELECT Queries

  • Filtering and Sorting

  • Joins

  • Group By & Having

  • Aggregate Functions

  • Subqueries

  • Views

  • Indexes

  • Stored Procedures

  • Common Table Expressions (CTEs)

  • Temporary Tables

  • Window Functions

  • Performance Optimization

Transactions & Concurrency

  • ACID Properties

  • Locking Mechanisms

  • Deadlocks

  • Recovery Techniques

  • Concurrency Control

Database Storage & Performance

  • File Organization

  • Indexing Strategies

  • B-Trees

  • B+ Trees

  • Multi-Level Indexing

  • Query Optimization Concepts

Data Warehousing

  • Fact Tables

  • Dimension Tables

  • Slowly Changing Dimensions (SCD Type 1–6)

Practical SQL

Learn SQL using a modern SQL environment with practical examples covering:

  • Constraints

  • Operators

  • System Functions

  • Window Functions

  • Common Table Expressions

  • Temporary Tables

  • Views

  • Stored Procedures

  • Performance-Oriented SQL Techniques

Why This Course Is Different

This isn't just another SQL course that teaches syntax.

You'll understand the concepts behind every SQL statement and learn why database systems behave the way they do.

Throughout the course you'll work with practical examples that build strong problem-solving skills rather than simply memorizing commands.

The curriculum has been carefully designed to connect database theory with practical SQL, helping you develop a complete understanding of database engineering.


Who Should Take This Course?

  1. Students learning Database Management Systems (DBMS)

  2. Beginners starting SQL from scratch

  3. Software Developers

  4. Backend Developers

  5. Data Engineers

  6. Data Analysts

  7. Computer Science Students

  8. Interview Preparation (SQL & DBMS)

  9. Anyone wanting a strong foundation in relational databases

What You'll Get

  • 25+ Hours of HD Video Lessons

  • Step-by-Step Practical Demonstrations

  • Downloadable Resources

  • Assignments

  • Lifetime Access

  • Certificate of Completion

  • Regular Course Updates

  • Instructor Support

By the End of This Course

You'll be able to:

  • Design relational databases confidently.

  • Write efficient SQL queries for real-world scenarios.

  • Understand how enterprise database systems are designed.

  • Improve SQL query performance using indexing techniques.

  • Work with advanced SQL features such as CTEs, Window Functions, Views, and Stored Procedures.

  • Understand transactions, concurrency control, and recovery mechanisms.

  • Build a strong foundation for careers in Software Development, Database Engineering, Data Engineering, and Analytics.

Enroll Today

Whether you're preparing for interviews, strengthening your database fundamentals, or looking to master SQL for your career, this course provides the knowledge and practical skills needed to become confident in database engineering.

Join thousands of learners and start mastering SQL and Database Engineering today!

Who this course is for:

  • Academic Students
  • Competitive Exams Aspirants
  • GATE CS/IT
  • Willing to Learn
  • Database Engineer
  • Database Designer