Databases (SQL & NoSQL) – Course Table
of Contents
Module 1: Introduction to Databases
1.1 What is a Database?
1.2 Types of Databases: SQL vs NoSQL
1.3 Relational Databases vs Non-Relational Databases
1.4 Database Management Systems (DBMS) Overview
1.5 Database Models: Relational, Document, Key-Value, Column, Graph
1.6 Understanding Database Design Concepts
1.7 Installing and Configuring Database Servers (MySQL, PostgreSQL, MongoDB)
Module 2: SQL Databases – Introduction and Fundamentals
2.1 What is SQL?
2.2 SQL Syntax and Basic Structure
2.3 Understanding Tables, Rows, and Columns
2.4 Primary Keys and Foreign Keys
2.5 Data Types in SQL (Integer, VARCHAR, Date, etc.)
2.6 Creating and Modifying Tables
2.7 Basic SQL Queries: SELECT, WHERE, ORDER BY
2.8 Filtering Data with Comparison and Logical Operators
Module 3: Advanced SQL Queries
3.1 Joining Tables: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN
3.2 Aggregate Functions: COUNT, AVG, SUM, MIN, MAX
3.3 Grouping Data with GROUP BY
3.4 Filtering Groups with HAVING
3.5 Subqueries and Nested Queries
3.6 SQL Transactions and ACID Properties
3.7 Using Indexes for Performance Optimization
3.8 Views and Stored Procedures
Module 4: Database Normalization and Design
4.1 Introduction to Database Normalization
4.2 First, Second, and Third Normal Forms
4.3 Denormalization and Performance Trade-offs
4.4 Entity-Relationship (ER) Diagrams
4.5 Designing a Database Schema
4.6 Keys in Database Design (Primary, Foreign, Composite)
4.7 Data Integrity Constraints and Referential Integrity
Module 5: Advanced SQL Features and Optimization
5.1 Working with Triggers
5.2 Handling Constraints (CHECK, UNIQUE, NOT NULL)
5.3 Performance Tuning: Query Optimization Techniques
5.4 Database Locking and Deadlocks
5.5 Backup and Restore Techniques in SQL
5.6 Full-Text Search in SQL
5.7 SQL Injection and Security Best Practices
Module 6: Introduction to NoSQL Databases
6.1 What is NoSQL?
6.2 Types of NoSQL Databases: Document, Key-Value, Column-Family, Graph
6.3 When to Use NoSQL Databases
6.4 NoSQL vs SQL: Pros and Cons
6.5 Understanding CAP Theorem in NoSQL
6.6 Popular NoSQL Databases (MongoDB, Cassandra, Redis, CouchDB)
6.7 Installing and Configuring NoSQL Databases
Module 7: Working with Document-Oriented NoSQL Databases (MongoDB)
7.1 Introduction to MongoDB
7.2 MongoDB Architecture and Components
7.3 CRUD Operations in MongoDB: Insert, Query, Update, Delete
7.4 Working with BSON (Binary JSON)
7.5 MongoDB Indexing for Performance
7.6 Aggregation Framework in MongoDB
7.7 Data Modeling in MongoDB: Embedding vs Referencing
7.8 MongoDB Security and Authentication
Module 8: Working with Key-Value NoSQL Databases (Redis)
8.1 Introduction to Redis
8.2 Redis Data Structures: Strings, Hashes, Lists, Sets, Sorted Sets
8.3 Redis Commands for Key-Value Operations
8.4 Redis Persistence and Caching
8.5 Redis Pub/Sub for Real-Time Applications
8.6 Advanced Redis Features: Lua Scripting, Redis Cluster
8.7 Redis Security and Authentication
Module 9: Working with Column-Family NoSQL Databases (Cassandra)
9.1 Introduction to Cassandra
9.2 Cassandra Architecture and Data Model
9.3 Creating Keyspaces and Tables in Cassandra
9.4 Writing and Querying Data in Cassandra
9.5 Advanced Querying Techniques in Cassandra (CQL)
9.6 Cassandra Clustering and Replication
9.7 Performance Optimization in Cassandra
9.8 Security and Backup in Cassandra
Module 10: Working with Graph NoSQL Databases (Neo4j)
10.1 Introduction to Neo4j and Graph Databases
10.2 Graph Theory Basics: Nodes, Relationships, and Properties
10.3 Cypher Query Language (CQL)
10.4 Modeling Graph Data in Neo4j
10.5 Traversing Graphs and Querying Graph Data
10.6 Performance Optimization in Neo4j
10.7 Integrating Neo4j with Applications
10.8 Neo4j Security and Access Control
Module 11: Integrating SQL and NoSQL in Full-Stack Applications
11.1 Choosing Between SQL and NoSQL Databases for Your Application
11.2 Using SQL and NoSQL Together in Microservices Architecture
11.3 Data Synchronization Between SQL and NoSQL Databases
11.4 Using ORMs with SQL (Sequelize, TypeORM) and NoSQL (Mongoose)
11.5 Implementing Caching Strategies with Redis in Full-Stack Apps
11.6 Example Project: Building a Full-Stack Application with MongoDB and PostgreSQL
Module 12: Database Administration and Maintenance
12.1 Database Backup and Recovery Strategies
12.2 Database Security Best Practices (Encryption, User Management)
12.3 Monitoring and Performance Tuning (SQL and NoSQL)
12.4 Scaling Databases for High Availability
12.5 Data Replication and Sharding in NoSQL
12.6 Managing Transactions and ACID Compliance in NoSQL
12.7 Database Migration: Schema Changes and Data Transfer
Module 13: Building a Complete Project with SQL and NoSQL
Project: Build a Full-Stack Application with SQL and NoSQL
Integrating PostgreSQL for Relational Data and MongoDB for Unstructured Data
CRUD Operations with SQL and NoSQL
Implementing Authentication, Authorization, and Data Validation
Data Modeling and Performance Optimization
Deploying the Application with SQL and NoSQL Databases