Tổng quan về giáo trình
Giáo trình SQL Server 2019 do Thạc sĩ Nguyễn Thị Minh Châu (chủ biên cùng nhóm tác giả) biên soạn vào tháng 07 năm 2022, phục vụ trực tiếp cho công tác giảng dạy và học tập học phần Hệ quản trị cơ sở dữ liệu SQL Server trong chương trình đào tạo sinh viên ngành Công nghệ Thông tin (CNTT) tại Trường Đại học Quảng Nam (ĐHQN). Môn học giữ vị trí cốt lõi trong khối kiến thức cơ sở ngành và chuyên ngành, trang bị cho người học năng lực tổ chức, quản trị và khai thác dữ liệu quan hệ theo mô hình Client/Server.
Mục tiêu học tập của giáo trình hướng đến việc cung cấp cho sinh viên nền tảng lý thuyết hoàn chỉnh về hệ quản trị cơ sở dữ liệu quan hệ (RDBMS), đồng thời rèn luyện kỹ năng thực hành xây dựng CSDL, lập trình tập lệnh Transact-SQL (T-SQL), quản lý các đối tượng dữ liệu mức nâng cao (khung nhìn, bẫy sự kiện, thủ tục lưu trữ, hàm), thiết lập cơ chế an toàn - bảo mật và kết nối cơ sở dữ liệu với các ứng dụng thực tế.
Giáo trình được cấu trúc thành 7 chương nối tiếp nhau theo tiến trình sư phạm từ cơ bản đến chuyên sâu:
- Giới thiệu về hệ quản trị SQL Server 2019.
- Các thao tác cơ bản trong SQL Server.
- Ngôn ngữ truy vấn có cấu trúc (SQL) trong SQL Server.
- Khung nhìn (View) và Bẫy sự kiện (Trigger).
- Thủ tục lưu trữ (Stored Procedure) và Hàm (User Defined Function).
- Bảo mật & phân quyền người dùng trong SQL Server.
- Kết nối vào SQL Server từ các ngôn ngữ lập trình để xây dựng các ứng dụng liên quan đến CSDL.
Điểm đặc thù của tài liệu là phương pháp tiếp cận song song giữa công cụ trực quan (SQL Server Management Studio - SSMS) và ngôn ngữ câu lệnh T-SQL, kết hợp việc sử dụng một lược đồ cơ sở dữ liệu mẫu thực tế xuyên suốt (CSDL quản lý điểm sinh viên Trường Đại học Quảng Nam - QLSINHVIEN) kèm hệ thống câu hỏi ôn tập, bài tập thực hành và bài tập tự giải sau mỗi chương.
Nội dung kiến thức cốt lõi
Các chương và chủ đề chính
- Chương 1: Giới thiệu về hệ quản trị SQL Server 2019: Khái quát về hệ quản trị CSDL quan hệ Microsoft SQL Server theo mô hình Client/Server, quản lý tới 30.000 người dùng đồng thời; các thành phần kiến trúc chính bao gồm Database Engine, Integration Services, Analysis Services, Notification Services, Reporting Services, Full Text Search Service, và Service Broker; các mô hình kết nối (Desktop, mạng diện rộng WAN qua OLE DB/ODBC/DB-Library/Embedded SQL, Internet thông qua IIS/ASP); phân loại CSDL hệ thống (master, msdb, resource, tempdb), Database Snapshot và CSDL người dùng (User-defined database); cấu trúc hệ thống tệp tin vật lý gồm tệp dữ liệu chính (
.mdf), tệp dữ liệu phụ (.ndf) và tệp nhật ký giao tác (.ldf); phân loại các ấn bản (Express, Standard, Enterprise, Developer, Web); các yêu cầu hệ thống và quy trình cài đặt MS SQL Server 2019 Express, SSMS, cấu hình dịch vụ mạng bằng SQL Server Configuration Manager (TCP/IP, Named Pipes, Network Service). - Chương 2: Các thao tác cơ bản trong SQL Server: Giới thiệu hệ thống kiểu dữ liệu phong phú (ký tự:
char,nchar,varchar,nvarchar,text,ntext; kiểu số:tinyint,smallint,int,bigint,numeric,decimal,real,float,money; ngày tháng:smalldatetime,datetime; luận lý:bit; nhị phân:binary,varbinary,image); hướng dẫn đăng nhập thông qua Windows Authentication và SQL Server Authentication; thao tác khởi tạo, xóa, chỉnh sửa cấu hình bảng dữ liệu trên giao diện đồ họa SSMS; cách xử lý ràng buộc chặn lưu bảng (Prevent saving changes that require table re-creation); xây dựng sơ đồ quan hệ CSDL (Database Diagram); mở cửa sổ soạn thảo câu lệnh (SQL Editor); nguyên lý và kỹ thuật sao lưu - phục hồi dữ liệu (Full backup, Differential backup, Transaction log backup). - Chương 3: Ngôn ngữ truy vấn có cấu trúc (SQL) trong SQL Server: Lịch sử phát triển SQL từ ngôn ngữ SEQUEL của IBM theo mô hình E.F. Codd; cú pháp T-SQL mở rộng; giá trị
NULL; ngôn ngữ định nghĩa dữ liệu (DDL) với hệ thống ràng buộc toàn vẹn (CHECK,PRIMARY KEY,FOREIGN KEY,UNIQUE,DEFAULT); ngôn ngữ thao tác dữ liệu (DML) với các lệnhINSERT,UPDATE,DELETE; cú pháp truy xuấtSELECTvới các mệnh đề lọc, sắp xếp (ORDER BY), gom nhóm thống kê (GROUP BY,HAVING); các phép kết nối bảng (Inner Join, Outer Join, Cross Join, Self Join); kỹ thuật truy vấn con (Subquery); ngôn ngữ điều khiển dữ liệu (DCL) thông qua các lệnh phân quyềnGRANT,DENY,REVOKE. - Chương 4: Khung nhìn (View) và Bẫy sự kiện (Trigger): Kỹ thuật định nghĩa, cấu trúc lại và cập nhật dữ liệu qua khung nhìn (View); bản chất của bẫy sự kiện (Trigger) kích hoạt tự động theo sự kiện
INSERT,UPDATE,DELETEtrên bảng dữ liệu; mối quan hệ giữa Trigger và giao tác (Transaction); định nghĩa và kiểm soát DML Trigger, DDL Trigger, các thao tác kích hoạt hoặc vô hiệu hóa (ENABLE/DISABLE TRIGGER). - Chương 5: Thủ tục lưu trữ (Stored Procedure) và Hàm (User Defined Function): Khái niệm, phân loại, cấu trúc và lợi ích của Stored Procedure (biên dịch trước, tái sử dụng, bảo mật); cách truyền tham số đầu vào, tham số mặc định, khai báo biến, sử dụng lệnh
RETURNtrả về giá trị; định nghĩa hàm người dùng (Inline Table-Valued Function và Multi-Statement Table-Valued Function). - Chương 6: Bảo mật & phân quyền người dùng trong SQL Server: Tổng quan kiến trúc an ninh nhiều lớp; kỹ thuật mã hóa dữ liệu và phòng ngừa lỗ hổng bảo mật; quản lý định danh đăng nhập máy chủ tính năng (Login), tài khoản người dùng cơ sở dữ liệu (User), nhóm quyền (Role); thiết lập và hủy bỏ quyền thao tác trên các đối tượng CSDL (Object Permissions).
- Chương 7: Kết nối vào SQL Server từ các ngôn ngữ lập trình: Thiết lập cấu hình máy chủ chấp nhận kết nối từ xa thông qua dịch vụ SQL Server Browser và tường lửa mạng (Windows Firewall); kỹ thuật lập trình tương tác CSDL bằng ngôn ngữ C#, xây dựng lớp chuyên trách truy cập dữ liệu (Data Access Class).
Kiến thức nền tảng được xây dựng
- Lý thuyết cơ sở dữ liệu quan hệ (RDBMS): Hệ thống hóa mô hình dữ liệu quan hệ, đại số quan hệ và tính toàn vẹn dữ liệu dựa trên các ràng buộc khóa chính, khóa ngoại và biểu thức kiểm tra.
- Kiến trúc Client/Server và xử lý phân tán: Cung cấp nguyên lý phân định chức năng giữa máy trạm (Client) và máy chủ (Server), cơ chế xử lý yêu cầu dữ liệu tập trung và quản trị tài nguyên động của Database Engine.
- Nguyên lý an toàn giao tác và phục hồi: Xây dựng hiểu biết về nhật ký giao tác (Transaction log), cam kết dữ liệu (Commit) và các cấp độ sao lưu dự phòng nhằm đảm bảo tính bền vững (ACID) của hệ thống.
Kỹ năng phát triển
- Kỹ năng kỹ thuật (Technical skills): Cài đặt và cấu hình dịch vụ mạng SQL Server 2019; thiết kế bảng và định dạng trường thuộc tính; viết tập lệnh truy vấn T-SQL từ cơ bản đến nâng cao; lập trình Stored Procedure, Trigger, Function; quản trị tài khoản, phân quyền Role; lập trình kết nối ứng dụng C#.
- Kỹ năng phân tích (Analytical skills): Phân tích thiết kế lược đồ quan hệ thông qua Database Diagram; phân tích tối ưu hóa đường dẫn truy vấn dữ liệu bằng các phép Join và truy vấn con lồng nhau; phân tích rủi ro hệ thống để lựa chọn mô hình sao lưu (Full, Differential hay Transaction Log).
- Năng lực thực tiễn (Practical competencies): Khắc phục các sự cố mất dữ liệu do lỗi phần cứng hoặc thao tác nhầm của người dùng; xử lý các ngoại lệ bảo mật và cấu hình môi trường mạng nội bộ/diện rộng cho hệ thống thông tin quản lý.
Phương pháp giảng dạy và học tập
Giáo trình được thiết kế theo phương pháp sư phạm tiếp cận theo quy trình hành động (Action-oriented approach), kết hợp giữa cung cấp lý thuyết định nghĩa và hướng dẫn thực hành từng bước (step-by-step) có hình ảnh giao diện thực tế minh họa trực tiếp từ phiên bản phần mềm.
TIẾN TRÌNH SƯ PHẠM CỦA GIÁO TRÌNH
[ Lý thuyết nền tảng & Cú pháp ]
[ Minh họa trực quan qua SSMS / T-SQL (CSDL QLSINHVIEN) ]
[ Câu hỏi ôn tập lý thuyết cuối chương ]
[ Bài tập thực hành có hướng dẫn (CSDL QuanlyPM, QLNV) ]
[ Bài tập tự giải & Đồ án kết nối ứng dụng C# ]
Hệ thống bài tập và nghiên cứu tình huống (case studies) trong giáo trình được phân bổ rõ ràng:
- Case study xuyên suốt bài giảng: Cơ sở dữ liệu
QLSINHVIEN(Quản lý sinh viên - điểm thi của Trường Đại học Quảng Nam) làm chuẩn mực cho các ví dụ minh họa về câu lệnh SELECT, View, Trigger, Procedure. - Case study thực hành độc lập:
- Cơ sở dữ liệu
QuanlyPM(Quản lý phòng máy gồm các bảng:PhongMay,MayTinh,MonHoc,DangKy) với các ràng buộc khóa và yêu cầu cấu hình chi tiết về kích thước ban đầu, kích thước gia tăng của tệp.mdfvà.ldf. - Cơ sở dữ liệu
QLNV(Quản lý nhân viên gồm các bảng:PhongBan,NhanVien) phục vụ kiểm tra kỹ năng phân quyền và kịch bản sao lưu/khôi phục nâng cao.
- Cơ sở dữ liệu
Phương pháp đánh giá kết quả học tập được xác lập thông qua ba hợp phần cuối mỗi chương:
- Hệ thống câu hỏi ôn tập: Kiểm tra khả năng ghi nhớ và phân biệt các khái niệm (ví dụ: phân biệt các loại tệp tin, bản chất của các loại kết nối JOIN, cơ chế hoạt động của Trigger).
- Bài tập thực hành có hướng dẫn: Rèn luyện kỹ năng thao tác chuẩn xác theo kịch bản mẫu (ví dụ: tạo CSDL với thông số dung lượng xác định, thực hiện chuỗi sao lưu Full -> Differential -> Log, giả lập sự cố xóa CSDL và phục hồi dữ liệu).
- Bài tập tự giải: Đòi hỏi người học tự vận dụng cú pháp T-SQL để giải quyết bài toán nghiệp vụ mà không có hướng dẫn từng bước.
Để tự học hiệu quả, người học được định hướng cài đặt môi trường thực hành độc lập (bản SQL Server 2019 Express và SSMS), hoàn thành tuần tự các bài thực hành định lượng trước khi chuyển sang các nội dung lập trình đối tượng nâng cao.
Điểm nổi bật và cập nhật
- Tích hợp công nghệ hiện đại của ấn bản SQL Server 2019: Giáo trình phản ánh các bước tiến công nghệ của bản phát hành Microsoft SQL Server 2019 (ra mắt chính thức ngày 04/11/2019), bao gồm kiến trúc cụm dữ liệu lớn (Big Data Cluster), tích hợp công cụ phân tích dữ liệu phân tán Apache Spark, hệ thống tệp Hadoop Distributed File System (HDFS) và giải pháp hồ dữ liệu (Data Lake).
- Mở rộng khả năng hỗ trợ đa nền tảng: Giới thiệu tính tương thích của SQL Server 2019 trên hệ điều hành Windows, hệ điều hành Linux và triển khai trong môi trường Docker Container; hỗ trợ giải mã bảng mã ký tự chuẩn quốc tế UTF-8; hỗ trợ công nghệ trực quan hóa dữ liệu ngoài thông qua PolyBase.
- Khả năng quản trị môi trường dữ liệu quy mô lớn (VLDB): Phân tích khả năng vận hành của hệ thống trên các cơ sở dữ liệu quy mô Terabyte/Petabyte, quản trị hiệu suất bộ nhớ trong (in-memory OLTP), tính năng tự động tối ưu hóa cơ sở dữ liệu (Intelligent Query Processing).
- Tính kết nối và ứng dụng công nghiệp: Giáo trình làm rõ phương thức liên kết giữa SQL Server với các máy chủ dịch vụ chuyên dụng như Microsoft Internet Information Services (IIS), E-Commerce Server, Proxy Server; cung cấp giải pháp lập trình ứng dụng CSDL tích hợp đa ngôn ngữ (Visual Basic, C#, C++, ASP.NET), đặc biệt xây dựng chi tiết lớp truy cập dữ liệu trong môi trường Microsoft .NET Framework.
Đối tượng sử dụng giáo trình
- Sinh viên đại học và cao đẳng: Tài liệu được biên soạn phục vụ trực tiếp cho sinh viên năm thứ 2 hoặc năm thứ 3 thuộc các ngành Công nghệ Thông tin, Kỹ thuật Phần mềm, Hệ thống Thông tin, Khoa học Dữ liệu trong khuôn khổ học phần Quản trị Cơ sở dữ liệu hoặc Hệ quản trị CSDL SQL Server.
- Yêu cầu kiến thức tiên quyết (Prerequisites): Người học cần hoàn thành học phần Tin học đại cương, học phần Cơ sở dữ liệu (nắm vững mô hình dữ liệu thực thể - kết hợp ERD, lý thuyết đại số quan hệ và các dạng chuẩn), đồng thời có kiến thức lập trình cơ bản (ưu tiên ngôn ngữ C# hoặc hướng đối tượng).
- Giảng viên chuyên ngành: Giảng viên có thể sử dụng toàn bộ cấu trúc 7 chương để xây dựng đề cương chi tiết học phần, giáo án bài giảng lý thuyết trên lớp và hệ thống bài tập thực hành tại phòng máy tính (sử dụng trực tiếp các bộ thông số thực hành
QuanlyPMvàQLNV). - Đối tượng tự học và tham khảo: Các kỹ sư phần mềm, lập trình viên phát triển ứng dụng .NET, chuyên viên quản trị hệ thống có nhu cầu tra cứu cú pháp T-SQL, tìm hiểu cơ chế bảo mật phân quyền hoặc triển khai các giải pháp sao lưu - phục hồi CSDL doanh nghiệp.
Câu hỏi thường gặp
1. Giáo trình này phù hợp với những đối tượng người học nào?
Giáo trình phù hợp với sinh viên các chuyên ngành Công nghệ Thông tin, Hệ thống Thông tin và các ngành kỹ thuật liên quan tại các trường đại học, cao đẳng; đồng thời là tài liệu tham khảo cho giảng viên giảng dạy học phần CSDL và lập trình viên cần nắm vững hệ quản trị SQL Server 2019.
2. Người học cần chuẩn bị kiến thức nền tảng nào trước khi học giáo trình này?
Người học cần nắm vững lý thuyết cơ sở dữ liệu quan hệ (khái niệm bảng, khóa chính, khóa ngoại, các phép toán đại số quan hệ) và tư duy lập trình căn bản (biến, vòng lặp, rẽ nhánh, hướng đối tượng) để tiếp thu thuận lợi phần T-SQL ở Chương 3-5 và lập trình kết nối ứng dụng C# ở Chương 7.
3. Điểm khác biệt của giáo trình này so với các tài liệu SQL Server khác là gì?
Giáo trình cập nhật các tính năng của ấn bản SQL Server 2019 (Big Data Cluster, PolyBase, HDFS, hỗ trợ Linux/Docker), cấu trúc bài bản 7 chương từ cấu hình cài đặt, quản trị đồ họa, truy vấn T-SQL, đối tượng lập trình nâng cao đến phân quyền an ninh và viết mã nguồn kết nối C#. Các bài học sử dụng đồng nhất các CSDL mẫu sát thực tế đào tạo như QLSINHVIEN, QuanlyPM, QLNV.
4. Làm thế nào để tự học và thực hành hiệu quả theo giáo trình?
Người học cần tiến hành cài đặt môi trường SQL Server 2019 Express cùng SSMS theo hướng dẫn Chương 1, thực hành trực tiếp các câu lệnh truy vấn T-SQL trên máy tính cá nhân, thực hiện tuần tự các bài tập quản trị sao lưu phục hồi dữ liệu tại Chương 2 và chủ động hoàn thành các bài tập tự giải ở cuối mỗi chương.
5. Giáo trình có cung cấp các tài liệu bổ trợ hoặc kịch bản thực hành cụ thể không?
Giáo trình tích hợp sẵn hệ thống bảng tham số kỹ thuật CSDL, lược đồ quan hệ, các kịch bản thực hành tình huống chi tiết (nhập liệu, cấu hình dung lượng file, sao lưu nhiều giai đoạn, giả lập xóa CSDL để phục hồi) cùng danh mục tài liệu tham khảo chuyên ngành được liệt kê ở phần phụ lục.
Kết luận
Giáo trình SQL Server 2019 của tác giả ThS. Nguyễn Thị Minh Châu là tài liệu học thuật hoàn chỉnh, cung cấp hệ thống tri thức chuẩn xác về hệ quản trị cơ sở dữ liệu quan hệ từ mức độ thiết kế, lập trình thao tác dữ liệu đến mức độ quản trị hệ thống và an toàn thông tin.
Tiến trình học tập được kiến nghị theo 3 giai đoạn:
- Giai đoạn 1 (Chương 1 - 2): Thiết lập môi trường hệ thống, nắm vững các kiểu dữ liệu, thao tác quản trị bảng trên giao diện SSMS và quy trình sao lưu - phục hồi dữ liệu.
- Giai đoạn 2 (Chương 3 - 5): Rèn luyện chuyên sâu ngôn ngữ T-SQL, kỹ thuật truy vấn kết nối/truy vấn con, và làm chủ các đối tượng xử lý phía máy chủ (View, Trigger, Stored Procedure, Function).
- Giai đoạn 3 (Chương 6 - 7): Triển khai cơ chế bảo mật, phân quyền người dùng và lập trình xây dựng ứng dụng tương tác CSDL bằng ngôn ngữ C#.
Người học được khuyến nghị kết hợp khai thác hệ thống bài tập thực hành mẫu trong giáo trình cùng các tài liệu hướng dẫn kỹ thuật trực tuyến từ Microsoft SQL Docs để tối ưu hóa năng lực ứng dụng thực tế.