This course is designed to introduce students to the world of relational databases and the SQL language, which is the standard for interacting with these databases. SQL is used for a wide range of applications, from managing and querying data to creating and maintaining databases. By the end of this course, students will have a solid understanding of SQL and be able to perform tasks such as querying databases, inserting, updating, and deleting data, and designing simple database structures.
Prerequisites: No prior knowledge of SQL or databases is required. Familiarity with basic computer operations and data concepts is beneficial.
1) Introduction to Databases and SQL
*What is a Database?
*Types of Databases
*Introduction to SQL
*SQL Syntax Basics
*Installing SQL Server(PostgreSQL)
2) Retrieving Data
*SELECT statement and its clauses
*Filtering Data using WHERE clause
*Sorting Data using ORDER BY clause
*Using DISTINCT keyword
*Limiting Results using LIMIT, OFFSET
3) Filtering and Sorting Data
*Using Comparison Operators
*Using Logical Operators
*Combining Conditions using AND, OR, NOT
*Sorting Data using ORDER BY clause
*Using NULL and IS NULL, IS NOT NULL operators
4) Joins
*Introduction to Joins
*Inner Join
*Left Join
*Right Join
*Full Join
*Cross Join
*Self Join
5) Aggregate Functions and Grouping Data
*Using Aggregate Functions (COUNT, SUM, AVG, MIN, MAX)
*GROUP BY clause
*HAVING clause
6) Data Modification
*INSERT statement
*UPDATE statement
*DELETE statement
*Modifying data using subqueries
7) Creating and Modifying Tables
*CREATE TABLE statement
*ALTER TABLE statement
*Adding and modifying columns
*Dropping and renaming tables
8) Constraints and Indexes
*Primary Key Constraint
*Foreign Key Constraint
*Unique Constraint
*Not Null Constraint
*Creating and managing indexes
9) Transactions and Concurrency Control
*Introduction to Transactions
*Transaction Control Commands (COMMIT, ROLLBACK, SAVEPOINT)
10) Normalization
*1st Normal Form
*2nd Normal Form
*3rd Normal Form
11) Advanced Topics
*Stored Procedures
*User-Defined Functions
*Indexing Strategies