An open API service indexing awesome lists of open source software.

https://github.com/techtalksofficial/mastering-rdbms

Learn MySQL, SQL Server, and key DBMS concepts with practical examples and clear explanations.
https://github.com/techtalksofficial/mastering-rdbms

database database-management

Last synced: 8 months ago
JSON representation

Learn MySQL, SQL Server, and key DBMS concepts with practical examples and clear explanations.

Awesome Lists containing this project

README

          

# Mastering RDBMS (Relational Database Management System)

## Overview

In the field of database management, Database Management Systems (DBMS) are crucial for efficiently managing and manipulating data. DBMSs can be broadly classified into two types:

1. **Relational DBMS (RDBMS)**
2. **Non-Relational DBMS**

A **Relational Database Management System (RDBMS)** is a type of DBMS that structures data into tables, with relationships defined between these tables to ensure data integrity and support complex queries.

### Examples of RDBMS:

- **MySQL**
- **Microsoft SQL Server**
- **PostgreSQL**
- **Oracle**
- **IBM DB2**

## Repository Contents

This repository is designed to provide a comprehensive course on **MySQL** and **Microsoft SQL Server**, two widely used RDBMS platforms. The course covers fundamental and advanced topics, with each lecture focusing on a specific aspect of RDBMS.

### Course Outline

Below is the list of lectures included in this course. Each lecture is accompanied by:

- **Two SQL Files**: One for MySQL and one for SQL Server.
- **Lecture Guide**: A detailed README file explaining the topic and SQL scripts.

#### Lectures:

1. **Lecture01-DatabaseAndTableCreationAndDataInsertion**
- Overview of databases and tables
- Creating databases and tables
- Inserting data into tables

2. **Lecture02-DatabaseOperationsAndDataManipulation**
- CRUD operations (Create, Read, Update, Delete)
- Using `SELECT` with conditions (`WHERE`)
- Data modification commands (`INSERT`, `UPDATE`, `DELETE`)

3. **Lecture03-AggregateFunctionsAndTableAlteration**
- Using aggregate functions (`SUM`, `AVG`, `COUNT`, etc.)
- Altering tables (adding/removing columns)
- Basic data analysis with SQL

4. **Lecture04-DatabaseRelationshipsAndKeys**
- Understanding primary keys, foreign keys, and unique constraints
- Creating and managing relationships (One-to-One, One-to-Many, Many-to-Many)
- Introduction to joins

5. **Lecture05-SQLJoinsAndViews**
- Types of joins (Inner, Left, Right, Full, Cross)
- Creating and managing database views
- Querying data through views

6. **Lecture06-SubqueriesAndNestedQueries**
- Introduction to subqueries
- Writing nested queries
- Performance considerations for complex queries

7. **Lecture07-StoredProceduresAndFunctions**
- Writing stored procedures for reusable logic
- Creating user-defined functions
- Parameterized queries and error handling

8. **Lecture08-TriggersAndTransactions**
- Creating and using triggers for automated tasks
- Understanding transactions (`COMMIT`, `ROLLBACK`, Savepoints)
- Ensuring data consistency with transactions

9. **Lecture09-IndexesAndPerformanceOptimization**
- Types of indexes (Clustered, Non-Clustered)
- Improving query performance
- Best practices for database optimization

10. **Lecture10-DataSecurityAndUserManagement**
- Managing roles and permissions
- Securing sensitive data with encryption
- User creation and management

11. **Lecture11-AdvancedQueryTechniques**
- Common Table Expressions (CTEs)
- Window functions for advanced querying
- Recursive queries

12. **Lecture12-DatabaseBackupAndRecovery**
- Backup strategies in MySQL and SQL Server
- Restoring databases
- Disaster recovery planning

13. **Lecture13-NoSQLIntegrationAndHybridSystems**
- Overview of NoSQL databases
- Integrating RDBMS with NoSQL for hybrid systems
- Practical examples of RDBMS and NoSQL usage

### Comments and Syntax

To enhance understanding, extensive comments are included within the SQL files. Both SQL Server and MySQL use the `--` syntax for comments to explain the code and concepts in detail.

## Documentation References

For further reading and official documentation, you can refer to:

- [MySQL Documentation](https://dev.mysql.com/doc/)
- [Microsoft SQL Server Documentation](https://docs.microsoft.com/en-us/sql/sql-server/)

## Credits

This course has been meticulously designed, organized, and prepared by [TechTalksOfficial](https://github.com/TechTalksOfficial).

Special thanks to the developer community and resources that supported the creation of this repository.

**Team Members:**
- [Yousuf Naveed Khan](https://github.com/YousufNaveedKhan)
- [Muneeb Hassan Siddiqui](https://github.com/muneebhassansiddiqui)

Feel free to explore the materials and utilize the resources provided. If you have any questions or need further assistance, please do not hesitate to reach out.