MÔ TẢ HỌC THUẬT: GIÁO TRÌNH QUẢN TRỊ CƠ SỞ DỮ LIỆU NÂNG CAO MS SQL SERVER
Tổng quan về giáo trình
Giáo trình Quản trị Cơ sở dữ liệu Nâng cao MS SQL Server là tài liệu học tập chuyên ngành được biên soạn bởi tập thể giảng viên Trường Cao đẳng nghề Công nghiệp Hà Nội, do Nguyễn Thị Nhung làm Chủ biên cùng đồng tác giả Vũ Thị Kim Phượng (xuất bản lưu hành nội bộ năm 2013). Trong chương trình đào tạo ngành Công nghệ thông tin và Khoa học máy tính, học phần đóng vai trò cầu nối quan trọng giữa kiến thức lý thuyết cơ sở dữ liệu nhập môn và kỹ năng thực hành quản trị, vận hành hệ thống phần mềm doanh nghiệp thực tế.
Mục tiêu học tập (learning outcomes) của giáo trình tập trung vào ba khối năng lực chính:
- Nắm vững nền tảng toán học và lịch sử tiến hóa của các hệ quản trị cơ sở dữ liệu quan hệ (RDBMS), tiêu biểu là hệ thống Microsoft SQL Server.
- Làm chủ các thao tác quản trị tài nguyên máy chủ cơ sở dữ liệu, quản lý tập tin dữ liệu/nhật ký giao tác (transaction log), và cấu hình các giao thức mạng truyền thông (Net-Libraries).
- Thành thạo việc thiết kế lược đồ quan hệ, định nghĩa kiểu dữ liệu và lập trình truy vấn dữ liệu từ cơ bản đến nâng cao thông qua ngôn ngữ Transact-SQL (T-SQL).
Về cấu trúc và cách tiếp cận, nội dung tài liệu được phân bổ tuyến tính qua 4 chương chuyên đề: đi từ tổng quan lịch sử, phân loại phiên bản và hệ thống kiểu dữ liệu (Chương I); chuyển tiếp sang mô hình quan hệ hình thức, các phép toán đại số quan hệ và cơ sở dữ liệu hệ thống (Chương II); làm quen với các tiện ích quản trị đồ họa và công cụ dòng lệnh (Chương III); đến xây dựng các câu lệnh truy vấn dữ liệu T-SQL phức tạp (Chương IV).
Điểm đặc sắc của giáo trình là sự kết hợp song song giữa cơ sở lý thuyết toán học (đại số quan hệ của Edgar F. Codd) và hướng dẫn triển khai thực tế trên hai môi trường công cụ bổ trợ của Microsoft: giao diện quản trị đồ họa SQL Server Enterprise Manager và tiện ích soạn thảo lệnh SQL Server Query Analyzer.
Nội dung kiến thức cốt lõi
Các chương/chủ đề chính
Cấu trúc nội dung giáo trình được triển khai qua 4 chương chuyên đề mang tính hệ thống hóa cao:
-
Chương I: Giới thiệu lịch sử phát triển
- Nội dung và khái niệm chính: Định nghĩa hệ quản trị cơ sở dữ liệu (HQTCSDL) với ba chức năng then chốt: định nghĩa cấu trúc, nhập dữ liệu và thao tác dữ liệu. Lịch sử tiến hóa của SQL từ mô hình dữ liệu quan hệ của Tiến sĩ Edgar F. Codd (tháng 6/1970), ngôn ngữ SEQUEL của Donald D. Chamberlin và Raymond F. Boyce tại IBM San Jose, các sản phẩm thương mại đầu tiên (System/38, SQL/DS, DB2, Oracle V2 của Relational Software, Inc.), việc chuẩn hóa ANSI (1986) và ISO (1987). Sự phát triển của Microsoft SQL Server từ phiên bản 4.2 hợp tác với Sybase trên OS/2 sang Windows NT Server, cải tiến viết lại engine ở bản 7.0, mở rộng tính năng Web ở SQL Server 2000, 2005 và 2008.
- Phân loại phiên bản SQL Server 2008: Enterprise Edition (hỗ trợ tối đa 32 CPUs, 64 GB RAM, tích hợp Analysis Services), Standard Edition (tối đa 4 CPUs, 2 GB RAM), Personal Edition (tối ưu hóa cho PC, tương thích Windows 98), Developer Edition (đầy đủ tính năng Enterprise nhưng giới hạn kết nối), Desktop Engine (kích thước CSDL tối đa 2 GB, không giao diện), và Windows CE Edition.
- Hệ thống kiểu dữ liệu trong SQL Server: Phân loại chi tiết nhóm số nguyên (
bigint 8 byte, int 4 byte, smallint 2 byte, tinyint 1 byte, bit); chuỗi ký tự non-Unicode (char(n), varchar(n) tối đa 8000 ký tự) và Unicode (nchar(n), nvarchar(n) tối đa 4000 ký tự); dữ liệu nhị phân (binary(n), varbinary(n) với tiền tố 0x); số gần đúng (float(n), real); số chính xác (decimal, numeric); dữ liệu tiền tệ (money, smallmoney); dữ liệu ngày tháng (datetime, smalldatetime); các kiểu dữ liệu đặc biệt (text, image dạng đối tượng BLOBs quản lý qua con trỏ 16-byte trỏ đến trang 8KB, cursor, sql_variant, table, uniqueidentifier, timestamp); và quy trình tạo/xóa kiểu dữ liệu do người dùng định nghĩa (User-Defined Data Types).
-
Chương II: Các thành phần của SQL Server
- Nội dung và khái niệm chính: Lý thuyết mô hình quan hệ toán học bao gồm thuộc tính (tên, kiểu dữ liệu, miền giá trị), lược đồ quan hệ $Q(A_1, A_2, \dots, A_n)$, quan hệ $r(R)$, bộ dữ liệu (tuple $t$), bậc của quan hệ ($n$-ngôi), lực lượng của quan hệ ($m$-bộ).
- Lý thuyết khóa và phụ thuộc hàm: Định nghĩa siêu khóa (Superkey), khóa chỉ định (Candidate key), khóa chính (Primary key), thuộc tính khóa (prime key), thuộc tính không khóa (non-prime key), khóa ngoại (Foreign key) và khóa phụ (second key).
- Các phép toán trên mô hình quan hệ: Nhóm phép toán cập nhật (phép chèn INSERT, phép loại bỏ DEL, phép cập nhật UPDATE/UPD); nhóm phép toán tập hợp (phép hợp Union, phép giao Intersection, phép trừ Minus/Difference, tích Descartes); nhóm phép toán quan hệ hình thức (phép chọn $\delta$/$\sigma$, phép chiếu $Q[X]$/$\pi$, phép nối $\theta$-Join, phép nối tự nhiên Natural Join, phép chia Division).
- Cơ cấu và vai trò các CSDL hệ thống: Khảo sát chi tiết chức năng của CSDL
master (lưu thông tin cấp hệ thống, cấu hình và tài khoản đăng nhập), model (khuôn mẫu khởi tạo CSDL mới và tempdb, dung lượng khoảng 1.5MB), tempdb (khu vực xử lý tạm thời cho việc sắp xếp và nối dữ liệu), msdb (hỗ trợ SQL Server Agent quản lý công việc, cảnh báo, lịch sử backup/restore, dung lượng khoảng 8.x MB), cùng hai CSDL mẫu phục vụ học tập là pubs (< 2MB) và Northwind (~ 4MB).
-
Chương III: Giới thiệu một số công cụ SQL Server
- Nội dung và khái niệm chính: Quy trình tạo lập và quản trị CSDL qua tiện ích đồ họa SQL Server Enterprise Manager: thiết lập tên CSDL (tối đa 123 ký tự), vị trí vật lý (
C:\Program Files\Microsoft SQL Server\MSSQL\Data), kích thước khởi tạo (Initial size), cơ chế tự động tăng trưởng tập tin (File growth theo MB hoặc %), giới hạn kích thước (Maximum file size/Unrestricted), cấu trúc tập tin chính (.mdf) thuộc nhóm PRIMARY và tập tin phụ (.ndf), quản lý tập tin lưu vết giao tác Transaction Log (.ldf). Cấu hình thuộc tính Options (Restrict access: single user, db_owner, sysadmin; Read only; Autoshrink).
- Tiện ích dòng lệnh SQL Query Analyzer: Cú pháp câu lệnh
CREATE DATABASE ... ON [PRIMARY] (...) LOG ON (...) [FOR LOAD | FOR ATTACH]; các thủ tục hệ thống hỗ trợ truy vấn siêu dữ liệu sp_helpfile, sp_helpdb; lệnh xóa CSDL DROP DATABASE.
- Cấu hình truyền thông mạng: Thiết lập Client Network Utility (định cấu hình giao thức TCP/IP, khai báo Server Alias, thiết lập Dynamically determine port) và Server Network Utility (kích hoạt Net-Libraries, cấu hình giao thức NWLink IPX/SPX, VIA - Virtual Interface Architecture, danh sách cổng TCP/IP cho môi trường đa phiên bản hoặc Failover Cluster).
-
Chương IV: Phát biểu cơ bản T-SQL
- Nội dung và khái niệm chính: Mở rộng chuẩn SQL thông qua ngôn ngữ Transact-SQL (T-SQL) gồm nhóm lệnh DDL và DML. Cấu trúc câu lệnh truy vấn tổng quát
SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY.
- Toán tử và biểu thức điều kiện: Toán tử so sánh (
=, !=, >, <, >=, <=), toán tử logic (AND, OR, NOT), toán tử tập hợp và mẫu chuỗi (BETWEEN ... AND ..., IN, LIKE với ký tự đại diện % và _, IS [NOT] NULL, EXISTS).
- Thư viện hàm tích hợp: Hàm số học (
ROUND, TRUNC, CEIL, FLOOR, POWER, EXP, SQRT, SIGN, ABS, MOD, LOG, SIN, COS, TAN) và các hàm nhóm thống kê (COUNT, SUM, AVG, MAX, MIN).
- Kỹ thuật kết nối bảng và đại số tập hợp: Nối bằng (Equi-Join), nối không bằng (Non Equi-Join), tự nối bảng (Self-Join), từ khóa
INNER JOIN, LEFT JOIN, RIGHT JOIN; các phép toán tập hợp UNION, UNION ALL, INTERSECT, MINUS.
- Kỹ thuật truy vấn lồng (Subquery): Xử lý truy vấn con trả về một hàng, truy vấn con trả về nhiều hàng kết hợp các toán tử so sánh tập hợp (
IN, NOT IN, ANY, SOME, ALL, EXISTS), với khả năng lồng tối đa 255 cấp SELECT.
Progression logic: Toàn bộ mạch nội dung đi từ việc tiếp cận khái niệm tổng quát và nền tảng lưu trữ vật lý $\rightarrow$ nắm vững đại số quan hệ và kiến trúc máy chủ $\rightarrow$ thao tác qua công cụ giao diện/dòng lệnh $\rightarrow$ xây dựng các kịch bản truy vấn dữ liệu T-SQL phức tạp.
Kiến thức nền tảng được xây dựng
Giáo trình thiết lập hệ thống tri thức cơ sở thông qua ba trục lý thuyết chính:
- Fundamental theories (Lý thuyết nền tảng): Lý thuyết tập hợp và logic vị từ bậc nhất bắt nguồn từ công trình nghiên cứu mô hình dữ liệu của Edgar F. Codd (1970); đại số quan hệ hình thức đóng vai trò là nền tảng toán học để tối ưu hóa và thực thi các câu lệnh truy vấn.
- Core principles (Nguyên lý cốt lõi): Nguyên lý lưu trữ và tổ chức dữ liệu vật lý (cấu trúc trang dữ liệu 8KB, con trỏ 16-byte cho các trường kiểu
text/image BLOB, cơ chế ghi nhận nhật ký giao tác Transaction Log và lệnh WRITETEXT); nguyên lý bảo toàn ràng buộc toàn vẹn dữ liệu (Enforcing Integrity Constraints); và nguyên lý kiến trúc khách/chủ (Client/Server Architecture).
- Essential frameworks (Khung kiến trúc hệ thống): Kiến trúc phân phối ứng dụng đa tầng (Windows DNA), mô hình phân tán tập tin thứ cấp (Secondary data file) và khung cấu hình giao thức mạng Net-Libraries (TCP/IP, NWLink IPX/SPX, VIA).
Kỹ năng phát triển
Người học được rèn luyện và hình thành ba nhóm năng lực chuyên môn:
- Technical skills (Kỹ năng kỹ thuật): Kỹ năng cài đặt và cấu hình tham số hệ thống Microsoft SQL Server; cấu hình giao thức kết nối mạng thông qua Client/Server Network Utility; tạo lập CSDL, bảng, và định nghĩa kiểu dữ liệu tùy biến (User-Defined Data Types); thực hiện các thủ tục bảo trì thông qua các lệnh hệ thống
sp_helpfile, sp_helpdb, DROP DATABASE.
- Analytical skills (Kỹ năng phân tích): Kỹ năng phân tích lược đồ dữ liệu; xác định đúng các loại khóa (siêu khóa, khóa chỉ định, khóa chính, khóa ngoại); phân tích phụ thuộc hàm giữa các tập thuộc tính; thiết lập điều kiện lọc và gom nhóm dữ liệu trong các mô hình bài toán quản lý phức tạp (như lược đồ quản lý nhân viên, công ty, điểm sinh viên).
- Practical competencies (Kỹ năng thực hành ứng dụng): Khả năng viết mã T-SQL hoàn chỉnh; kết hợp linh hoạt các phép nối bảng (
INNER JOIN, LEFT JOIN, RIGHT JOIN, Self-Join); áp dụng các hàm số học, hàm nhóm (AVG, SUM, COUNT, MAX, MIN) kết hợp GROUP BY và HAVING; xây dựng các câu truy vấn con lồng nhau đa cấp (Subqueries) sử dụng các toán tử logic tập hợp (IN, ANY, ALL, EXISTS).
Phương pháp giảng dạy và học tập
Giáo trình triển khai phương pháp tiếp cận sư phạm (pedagogical approach) dựa trên tiến trình kết hợp chặt chẽ giữa lý thuyết định thức và minh họa thực nghiệm:
- Tiếp cận quy nạp từ trực quan đến trừu tượng: Mỗi nội dung đều bắt đầu bằng việc giải thích ý nghĩa nghiệp vụ, tiếp nối bằng cú pháp chuẩn của ngôn ngữ T-SQL hoặc sơ đồ các bước thực hiện trên giao diện đồ họa, sau đó đưa ra bảng dữ liệu mẫu và kết quả thực thi cụ thể.
- Phương pháp đối chiếu song song (Dual-track method): Hướng dẫn người học thực hiện cùng một thao tác quản trị bằng hai phương thức: sử dụng công cụ giao diện Enterprise Manager hoặc viết mã lệnh T-SQL trong Query Analyzer, giúp người học hiểu rõ bản chất vận hành ở tầng hệ điều hành và tầng dòng lệnh.
Bài tập và tình huống ứng dụng (Case studies): Tài liệu tích hợp hệ thống các lược đồ CSDL mẫu gắn liền với bài toán quản trị thực tế của tổ chức, doanh nghiệp, bao gồm:
- Lược đồ cơ sở dữ liệu Công ty: Quản lý mối quan hệ giữa các thực thể
NhanVien, DonVi, DiaDiemDonVi, DuAn, NhanVienDuAn.
- Lược đồ cơ sở dữ liệu Quản lý điểm sinh viên: Gồm các quan hệ
Sv, Lop, Kh (Khoa), Mh (Môn học), Kq (Kết quả thi).
- Lược đồ Quản lý bán hàng (
QLBanHang) và Quản lý hành khách (PassengerAnotherdatabase).
Thực hành và tự học (Practical exercises & Self-study): Giáo trình thiết kế các bài tập thực hành theo từng bước (Step-by-step) cụ thể, ví dụ như quy trình định nghĩa kiểu dữ liệu manxb-type (kiểu char, độ dài 4) và matacgia-type (kiểu char, độ dài 10) trong Enterprise Manager. Đồng thời, tài liệu hướng dẫn người học tận dụng hệ thống tài liệu điện tử Books Online tích hợp sẵn trên máy chủ và hai cơ sở dữ liệu thực nghiệm tiêu chuẩn là pubs và Northwind để tự kiểm tra cú pháp và kết quả truy vấn.
Phương pháp đánh giá (Assessment methods): Hệ thống câu hỏi ôn tập và bài tập củng cố được bố trí ở cuối mỗi chương, đánh giá toàn diện cả khả năng nắm bắt lý thuyết (trình bày lịch sử, phân biệt các loại CSDL hệ thống, định nghĩa các loại khóa) và kỹ năng giải quyết bài toán thực hành (xác định khóa chính/khóa ngoại trên lược đồ cho trước, viết mã truy vấn phức tạp).
Điểm nổi bật và cập nhật
Giáo trình ghi nhận quá trình tiến hóa và các điểm nâng cấp công nghệ quan trọng của Microsoft SQL Server qua các thời kỳ:
- Sự phát triển của kiến trúc Database Engine: Trình bày chi tiết các bước chuyển biến từ Microsoft SQL 4.2 trên OS/2 sang Windows NT Server, bước nhảy vọt tại SQL Server 7.0 khi engine được viết lại hoàn toàn, sự mở rộng tính năng Web và độ tin cậy ở bản SQL Server 2000, cho đến các bản phát hành SQL Server 2005 và SQL Server 2008.
- Mở rộng năng lực xử lý phần cứng và dữ liệu lớn (VLDB): Phân tích các thông số kỹ thuật của bản SQL Server 2008 Enterprise Edition cho phép vận hành trên hệ thống phần cứng lên tới 32 CPUs và 64 GB RAM, đáp ứng môi trường cơ sở dữ liệu dung lượng lớn (Very Large Database Environment) quy mô Tera-Byte với khả năng phục vụ đồng thời hàng ngàn người dùng.
- Tích hợp công nghệ hiện đại: Hỗ trợ chuẩn định dạng dữ liệu mở XML; tích hợp vào mô hình lập trình Windows DNA hỗ trợ phát triển ứng dụng Web; tính năng English Query cho phép truy vấn dữ liệu thân thiện; dịch vụ tìm kiếm toàn văn Microsoft Search Services (Full-Text Search kết hợp công cụ Indexing Wizard trong Enterprise Manager).
- Hạ tầng quản trị và phân tích dữ liệu doanh nghiệp: Cung cấp công cụ xây dựng kho dữ liệu (Data Warehousing) thông qua DTS Designer; tích hợp dịch vụ phân tích dữ liệu trực tuyến (Analysis Services / OLAP); cơ chế nhân bản dữ liệu (Data Replication); và hỗ trợ các giao thức truyền dữ liệu hiệu năng cao như VIA (Virtual Interface Architecture) cùng giải pháp cân bằng tải/chịu lỗi Failover Cluster.
Đối tượng sử dụng giáo trình
Giáo trình được thiết kế chuyên biệt phục vụ các nhóm đối tượng học thuật và kỹ thuật:
| Nhóm đối tượng |
Mục đích và phương thức sử dụng |
Yêu cầu kiến thức tiên quyết (Prerequisites) |
| Sinh viên Đại học / Cao đẳng / Cao đẳng nghề |
Tài liệu học tập chính thức cho học phần Quản trị CSDL nâng cao, học phần T-SQL thuộc các ngành Công nghệ thông tin, Lập trình máy tính, Hệ thống thông tin. |
Đã hoàn thành học phần Cơ sở dữ liệu cơ bản; hiểu biết về cấu trúc dữ liệu, tư duy thuật toán và thao tác trên hệ điều hành Windows. |
| Giảng viên chuyên ngành |
Tài liệu tham khảo chuẩn để biên soạn bài giảng lý thuyết, giáo án thực hành phòng máy và xây dựng ngân hàng đề thi đánh giá năng lực truy vấn dữ liệu. |
Có kiến thức sâu về hệ quản trị cơ sở dữ liệu quan hệ và giải thuật đại số quan hệ hình thức. |
| Lập trình viên & Quản trị viên hệ thống |
Tài liệu tra cứu độc lập (reference manual) về cú pháp T-SQL, các hàm toán học/nhóm, cơ chế lưu trữ tập tin .mdf/.ldf và phương pháp cấu hình Net-Libraries. |
Nắm vững kiến thức quản trị máy chủ mạng và lập trình ứng dụng kết nối cơ sở dữ liệu. |
Câu hỏi thường gặp
1. Giáo trình này phù hợp với ai?
Giáo trình phù hợp với sinh viên các hệ Cao đẳng, Đại học chuyên ngành Công nghệ thông tin đang theo học các môn Cơ sở dữ liệu nâng cao, cũng như các kỹ thuật viên quản trị hệ thống và lập trình viên phần mềm cần tra cứu quy trình quản trị Microsoft SQL Server và cú pháp lập trình Transact-SQL.
2. Cần kiến thức nền nào để học giáo trình này?
Người học cần trang bị kiến thức nền tảng về Tin học đại cương, kiến thức nhập môn cơ sở dữ liệu, hiểu biết cơ bản về mô hình quan hệ bảng, cùng các kỹ năng thao tác cơ bản trên hệ điều hành Microsoft Windows (như Windows 98, 2000, XP hoặc Windows Server).
3. Điểm khác biệt của giáo trình này so với các tài liệu cơ sở dữ liệu khác là gì?
Tài liệu kết hợp chặt chẽ giữa nền tảng lý thuyết đại số quan hệ toán học của Ted Codd và hướng dẫn triển khai thực tế trên cả hai công cụ: giao diện đồ họa (Enterprise Manager) và dòng lệnh (Query Analyzer). Đồng thời, giáo trình đi sâu vào chi tiết kỹ thuật của hệ thống kiểu dữ liệu, cơ chế cấp phát trang dữ liệu 8KB cho đối tượng BLOB, vai trò các CSDL hệ thống (master, model, tempdb, msdb) và các giao thức mạng (TCP/IP, NWLink, VIA).
4. Làm sao để tự học hiệu quả với tài liệu này?
Người học nên cài đặt phiên bản Microsoft SQL Server (như Developer Edition hoặc Enterprise Edition) trên môi trường máy tính cá nhân để thực hành song song:
- Đọc kỹ lý thuyết đại số quan hệ và các mệnh đề T-SQL trong từng chương.
- Tái lập các bảng dữ liệu mẫu (
NHANVIEN, DONVI, KHACHHANG, DONHANG) trong Query Analyzer để kiểm chứng kết quả truy vấn.
- Thực hiện đầy đủ các bài tập phân tích khóa và viết truy vấn lồng nhau ở phần câu hỏi cuối mỗi chương.
5. Có tài liệu bổ trợ nào kèm theo giáo trình không?
Giáo trình tích hợp và hướng dẫn khai thác hệ thống sách hướng dẫn điện tử trực tuyến Books Online của Microsoft cài đặt kèm theo hệ quản trị, đồng thời sử dụng trực tiếp hai cơ sở dữ liệu mẫu tiêu chuẩn là pubs và Northwind được tích hợp sẵn trong SQL Server để người học thực hành các bài tập truy vấn và quản lý dữ liệu.
Kết luận
Giáo trình Quản trị Cơ sở dữ liệu Nâng cao MS SQL Server là tài liệu học thuật có cấu trúc chặt chẽ, cung cấp đầy đủ hệ thống tri thức từ lý thuyết mô hình quan hệ, phân loại kiểu dữ liệu, kiến trúc CSDL hệ thống cho đến kỹ năng thực hành quản trị máy chủ và lập trình truy vấn nâng cao bằng Transact-SQL.
Lộ trình học tập đề xuất theo giáo trình:
$$\text{Nắm vững lịch sử & Kiểu dữ liệu (Chương I)} \longrightarrow \text{Hệ thống hóa Đại số quan hệ & CSDL hệ thống (Chương II)} \longrightarrow \text{Làm chủ Công cụ Enterprise Manager & Query Analyzer (Chương III)} \longrightarrow \text{Thực hành Lập trình truy vấn T-SQL phức tạp (Chương IV)}$$
Để tối ưu hóa quá trình tiếp thu kiến thức, người học nên kết hợp nghiên cứu giáo trình với việc khai thác hệ thống tài liệu tra cứu trực tuyến Books Online và thực hành trực tiếp trên các bộ dữ liệu mẫu pubs và Northwind đi kèm hệ thống Microsoft SQL Server.