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.
- Host: GitHub
- URL: https://github.com/techtalksofficial/mastering-rdbms
- Owner: TechTalksOfficial
- Created: 2024-12-03T19:02:31.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-12-03T20:30:46.000Z (over 1 year ago)
- Last Synced: 2024-12-26T01:14:17.153Z (over 1 year ago)
- Topics: database, database-management
- Language: TSQL
- Homepage:
- Size: 39.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
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.