SQL Server là một hệ quản trị cơ sở dữ liệu quan trọng, đặc biệt trong môi trường doanh nghiệp sử dụng công nghệ Microsoft. Dưới đây là kế hoạch học tập chi tiết trong 3 tháng (12 tuần), chia thành các giai đoạn từ cơ bản đến nâng cao. Kế hoạch này tập trung vào hai nhánh chính: SQL (Ngôn ngữ truy vấn) và Quản trị/Thao tác (Database Administration & Development).
📅 Kế hoạch Học SQL Server Trong 3 Tháng (12 Tuần)
Giai đoạn 1: Nền tảng SQL và Cấu trúc CSDL (Tháng 1 - Tuần 1 đến 4)
Trọng tâm là nắm vững ngôn ngữ truy vấn cơ bản (CRUD) và hiểu về thiết kế cơ sở dữ liệu.
Tuần
Chủ đề Chính
Kiến thức Cần Nắm Vững (Lý thuyết & Thực hành)
Bài tập Đề xuất
Tuần 1
Giới thiệu & Môi trường
1. Cài đặt: SQL Server Express/Developer Edition và SQL Server Management Studio (SSMS). 2. Khái niệm: CSDL (Database), Bảng (Table), Quan hệ (Relationships). 3. Ngôn ngữ SQL: DDL (Data Definition Language) và DML (Data Manipulation Language).
Tạo một Database mẫu (ví dụ: QLBanHang). Sử dụng DDL để tạo 3-4 bảng cơ bản (KhachHang, SanPham).
Tuần 2
Truy vấn Dữ liệu Cơ bản (SELECT)
1. Cơ bản:SELECT và FROM. 2. Lọc:WHERE (các toán tử so sánh: $=, <, >, LIKE, IN, BETWEEN$). 3. Sắp xếp:ORDER BY (ASC, DESC). 4. Toán tử logic:AND, OR, NOT.
Thực hành truy vấn dữ liệu từ các bảng mẫu. Lọc danh sách khách hàng theo tên, địa chỉ, hoặc khoảng ngày đăng ký.
Tuần 3
Thao tác Dữ liệu (CRUD)
1. Thêm (CREATE):INSERT INTO. 2. Cập nhật (UPDATE):UPDATE và điều kiện WHERE. 3. Xóa (DELETE):DELETE FROM và điều kiện WHERE (cẩn thận). 4. Ràng buộc:NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY.
Chèn dữ liệu mẫu vào các bảng. Cập nhật thông tin khách hàng. Thử nghiệm xóa dữ liệu. Áp dụng các ràng buộc khóa chính/khóa ngoại.
Tuần 4
Truy vấn Nâng cao & Hàm
1. Hàm Tập hợp:COUNT(), SUM(), AVG(), MIN(), MAX(). 2. Nhóm dữ liệu:GROUP BY và lọc nhóm HAVING. 3. Hàm Scalar:GETDATE(), CONCAT(), UPPER()/LOWER(). 4. Alias: Đặt tên tạm thời cho cột và bảng.
Tính tổng số lượng hàng bán, giá trị trung bình đơn hàng. Nhóm dữ liệu theo Khách hàng và tính tổng chi tiêu của họ.
Giai đoạn 2: Quan hệ & Lập trình T-SQL (Tháng 2 - Tuần 5 đến 8)
Trọng tâm là kết hợp dữ liệu từ nhiều bảng (Joins) và làm quen với lập trình trong SQL Server (T-SQL).
Tuần
Chủ đề Chính
Kiến thức Cần Nắm Vững (Lý thuyết & Thực hành)
Bài tập Đề xuất
Tuần 5
Kết hợp Bảng (JOINS) Cơ bản
1. Khái niệm: Tại sao cần Joins. 2. Các loại Joins:INNER JOIN, LEFT JOIN (LEFT OUTER JOIN), RIGHT JOIN (RIGHT OUTER JOIN). 3. CROSS JOIN và FULL JOIN.
Truy vấn danh sách Khách hàng cùng với các Đơn hàng mà họ đã đặt (LEFT JOIN). Lấy danh sách Đơn hàng và chi tiết Sản phẩm (INNER JOIN).
Tuần 6
Subqueries & CTEs
1. Subqueries: Truy vấn con trong WHERE, SELECT, và FROM. 2. Truy vấn con tương quan (Correlated Subqueries).3. Common Table Expressions (CTEs): Cú pháp WITH (giúp truy vấn phức tạp dễ đọc hơn).
Tìm Khách hàng có đơn hàng lớn hơn giá trị trung bình của tất cả đơn hàng (dùng Subquery). Viết truy vấn tương tự dùng CTE.
Tuần 7
Lập trình T-SQL (Phần 1)
1. Biến: Khai báo (DECLARE) và gán giá trị (SET). 2. Cấu trúc điều khiển:IF...ELSE, CASE Expression. 3. Vòng lặp:WHILE (cần hạn chế sử dụng trong lập trình CSDL).
Viết khối T-SQL nhỏ sử dụng IF...ELSE để kiểm tra tồn kho trước khi thêm đơn hàng. Sử dụng CASE để phân loại đơn hàng thành "Lớn", "Trung bình", "Nhỏ".
Tuần 8
Stored Procedures
1. Khái niệm: Stored Procedures là gì và lợi ích. 2. Cú pháp:CREATE PROCEDURE, tham số đầu vào (INPUT), tham số đầu ra (OUTPUT). 3. Thực thi:EXECUTE hoặc EXEC.
Viết một Stored Procedure để thêm Đơn hàng mới, có kiểm tra đầu vào và trả về ID đơn hàng vừa tạo (dùng tham số OUTPUT).
Giai đoạn 3: Tối ưu & Chức năng Nâng cao (Tháng 3 - Tuần 9 đến 12)
Trọng tâm là tối ưu hiệu suất, bảo trì và các đối tượng CSDL phức tạp.
Tuần
Chủ đề Chính
Kiến thức Cần Nắm Vững (Lý thuyết & Thực hành)
Bài tập Đề xuất
Tuần 9
Functions (Hàm) & Views
1. User-Defined Functions (UDFs): Hàm Scalar và Hàm Table-valued. 2. VIEW: Khái niệm, tạo và sử dụng VIEW (đơn giản hóa truy vấn phức tạp).
Viết một UDF để tính Thuế dựa trên giá trị đơn hàng. Tạo một VIEW kết hợp thông tin Khách hàng, Đơn hàng và Tổng giá trị.
Tuần 10
Index & Tối ưu Hiệu suất
1. Index: Clustered Index và Non-Clustered Index. Khi nào và đặt Index ở đâu. 2. Phân tích truy vấn: Sử dụng SET STATISTICS IO ON và xem Execution Plan (Kế hoạch Thực thi) trong SSMS.
Tạo Non-Clustered Index trên các cột thường dùng trong WHERE và ORDER BY. Chạy các truy vấn cũ và so sánh hiệu suất/chi phí trước và sau khi thêm Index.
Viết một Trigger để tự động cập nhật số lượng tồn kho Sản phẩm sau khi có Đơn hàng mới. Viết một khối Transaction để đảm bảo Đơn hàng và Chi tiết Đơn hàng được thêm thành công hoặc thất bại đồng thời.
Tuần 12
Quản trị CSDL (DBA) Cơ bản & Tổng kết
1. Bảo mật: User, Login, Role, Permission (Phân quyền). 2. Backup & Restore: Tạo bản sao lưu toàn bộ (Full Backup). 3. Tổng kết: Xây dựng dự án CSDL hoàn chỉnh, bao gồm 10+ bảng, Stored Procedures, Functions, Views và Indexes.
Tạo một User mới và phân quyền chỉ được SELECT trên một số bảng nhất định. Thực hiện Backup CSDL và thử Restore lại trên máy tính khác.
🛠️ Công cụ & Tài nguyên Học tập
Phần mềm: Cài đặt SQL Server Developer Edition (Miễn phí) và SQL Server Management Studio (SSMS).
Microsoft Learn (Docs): Nguồn tài liệu chính thức và chi tiết nhất về SQL Server và T-SQL.
Website: w3schools, SQLBolt (cho kiến thức SQL chung).
Blogs: Tham khảo các blog của các chuyên gia SQL Server (ví dụ: Brent Ozar, SQL Authority).
Chúc bạn thành công với hành trình chinh phục SQL Server trong 3 tháng tới!