While EF Core (Module 11) allows you to avoid writing SQL most of the time, a professional .NET developer must understand what is happening “under the hood.” When an app is slow or a report is wrong, you won’t fix it in C#; you’ll fix it in the database.
SQL Server is a Relational Database Management System (RDBMS). It organizes data into tables that relate to one another.
SELECT and INSERT, plus advanced features like variables and error handling.These are the “rules” of your data. Without them, your database becomes a “data swamp.”
UserId).CategoryId in the Products table).Age >= 18).In a normalized database, data is split across tables. Joins allow you to stitch them back together for a report.
Normalization is the process of organizing data to reduce redundancy.
Products table).If a query is slow, Indexes are usually the answer.
SELECT fast but makes INSERT/UPDATE slightly slower.Instead of sending a long SQL string from C#, you save the query on the SQL Server and call it by name.
A Transaction ensures that a group of operations either all succeed or all fail. Imagine a bank transfer:
In modern development, we often use EF Core for 90% of tasks (simple CRUD) and Dapper or Raw SQL for the remaining 10% (complex reports or high-performance bulk updates). Knowing how to write a manual JOIN or INDEX is what separates a senior developer from a junior.