Tổng quan về giáo trình

Giáo trình "Hướng Dẫn Toàn Diện Về Quản Trị Cơ Sở Dữ Liệu SQL Server" (nội dung chi tiết tập trung vào hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2000) là tài liệu học tập dành cho học phần Cơ sở dữ liệu nâng cao và Quản trị Cơ sở dữ liệu trong chương trình đào tạo bậc Đại học và Cao đẳng khối ngành Công nghệ Thông tin, Kỹ thuật Phần mềm và Hệ thống Thông tin.

Mục tiêu học tập của giáo trình là cung cấp cho người học hệ thống tri thức hoàn chỉnh về nguyên lý hoạt động của một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS), từ việc cài đặt, cấu hình các phiên bản (Enterprise, Standard, Developer, Personal, Desktop Engine) đến thiết kế cấu trúc dữ liệu vật lý và logic. Người học được trang bị khả năng lập trình truy vấn nâng cao với ngôn ngữ Transact-SQL (T-SQL), quản trị giao dịch (Transactions), cơ chế khóa (Locks), phân quyền bảo mật, quản lý chỉ số (Indexes), tự động hóa tác vụ bằng Stored Procedures, Triggers, cũng như thực hiện sao lưu/phục hồi (Backup & Restore), chuyển đổi dữ liệu (DTS) và thiết lập kiến trúc nhân bản (Replication).

Cấu trúc giáo trình được xây dựng theo phương pháp tích hợp lý thuyết và thực hành: mỗi chương đều mở đầu bằng phân tích nguyên lý, tiếp nối bởi phần bài tập thực hành theo kịch bản chi tiết và kết thúc bằng hệ thống câu hỏi trắc nghiệm ôn tập. Giáo trình khai thác trực quan các công cụ quản trị như Enterprise Manager, Query Analyzer, SQL Profiler cùng hệ cơ sở dữ liệu mẫu Flight_Information, Pubs và Northwind.


Nội dung kiến thức cốt lõi

+-------------------------------------------------------------------------------+
|                       KIẾN TRÚC SQL SERVER 2000                              |
+-------------------------------------------------------------------------------+
| Dịch vụ & Công cụ:                                                           |
| - Relational Engine | DTS | Analysis Services | English Query | Profiler     |
| - Enterprise Manager | Query Analyzer | Books Online                         |
+---------------------------------------+---------------------------------------+
                                        |
      +---------------------------------+---------------------------------+
      |                                                                   |
+-----v-------------------------------+                             +-----v-------------------------------+
|    CẤU TRÚC VẬT LÝ & LOGIC          |                             |     LẬP TRÌNH & THAO TÁC DỮ LIỆU    |
+-------------------------------------+                             +-------------------------------------+
| - Files: .mdf (Chính), .ndf (Phụ),  |                             | - T-SQL Batches, Lệnh GO, Biến @/@@ |
|   .ldf (Transaction Log)            |                             | - Điều khiển: IF..ELSE, WHILE, CASE |
| - Đơn vị: Page (8KB) -> Extent (64KB)|                             | - Functions: Scalar, Aggregate, Row |
| - System DBs: master, tempdb,       |                             | - Đối tượng: Views, Cursors, SPs,   |
|   model, msdb                       |                             |   Triggers                          |
+-------------------------------------+                             +-------------------------------------+
                                        |
      +---------------------------------+---------------------------------+
      |                                                                   |
+-----v-------------------------------+                             +-----v-------------------------------+
|   GIAO DỊCH, AN NINH & BẢO VỆ       |                             |   TÍCH HỢP & NHÂN BẢN HỆ THỐNG      |
+-------------------------------------+                             +-------------------------------------+
| - WAL, Checkpoint, Dirty Pages      |                             | - Backup / Restore (Full, Log, File)|
| - Mức cô lập, Dirty Read            |                             | - DTS: Import / Export đa nguồn     |
| - Security: Logins, Users, Roles    |                             | - Replication: Snapshot, Merge,     |
| - Constraints & Indexes             |                             |   Transactional                     |
+-------------------------------------+                             +-------------------------------------+

Các chương/chủ đề chính

  • Tổng quan và Kiến trúc Hệ thống (Chương 1 - Chương 2): Trình bày các đặc trưng của SQL Server 2000, khả năng tương thích hệ điều hành (Windows 2000 DataCenter, Advanced Server, Professional, Windows NT 4.0 Server SP5, Windows 98, Windows CE). Phân loại các phiên bản: Enterprise (hỗ trợ tới 32 CPU, 64 GB RAM), Standard (hỗ trợ tới 4 CPU, 2 GB RAM), Developer, Personal, Desktop Engine (MSDE giới hạn 2 GB, không giao diện người dùng). Giới thiệu các thành phần cốt lõi: Relational Database Engine, Data Transformation Services (DTS), Analysis Services, Meta Data Services, English Query, SQL Server Books Online, cùng các công cụ Enterprise Manager, Query Analyzer và SQL Profiler.
  • Cấu trúc Lưu trữ và Thực thi Cơ sở Dữ liệu (Chương 2 - Chương 3): Mô tả 4 cơ sở dữ liệu hệ thống (master, tempdb, model, msdb). Phân tích cấu trúc vật lý gồm Primary Data File (.mdf), Secondary Data File (.ndf), Transaction Log File (.ldf), đơn vị phân bổ dữ liệu Page (8 KB) và Extent (64 KB gồm 8 Page liên tục; phân loại Mixed Extents và Uniform Extents). Trình bày nguyên tắc Write-Ahead Logging (WAL), bộ nhớ đệm Data Cache, Dirty Page, Checkpoint Process và Lazy Writer phục vụ cơ chế phục hồi Roll Forward / Roll Back. Hệ thống hóa các kiểu dữ liệu: số nguyên (bigint, int, smallint, tinyint, bit), số thực/tiền tệ (decimal, numeric, money, smallmoney, float, real), ngày tháng (datetime, smalldatetime), chuỗi ký tự (char, varchar, text, nchar, nvarchar, ntext), nhị phân (binary, varbinary, image) và các kiểu đặc biệt (cursor, sql_variant, table, uniqueidentifier).
  • Lập trình Transact-SQL (T-SQL) (Chương 4): Nguyên tắc xử lý nhóm lệnh (Batch), Execution Plan, tín hiệu kết thúc GO, cách ghi chú thích (-- và /* ... */). Cú pháp câu lệnh điều khiển luồng: BEGIN...END, IF...ELSE, vòng lặp WHILE với BREAK/CONTINUE, lệnh nhảy GOTO, lệnh thoát RETURN, biểu thức logic CASE...WHEN...THEN...ELSE...END. Phân loại biến cục bộ (@variable) và biến toàn cục hệ thống (@@ERROR, @@ROWCOUNT, @@IDENTITY, @@FETCH_STATUS, @@CONNECTIONS, @@TRANSCOUNT, @@SERVERNAME...). Phân loại hàm: Rowset Functions (OPENQUERY), Aggregate Functions (AVG, SUM, COUNT, MIN, MAX), Scalar Functions (hàm toán học ABS, CEILING, FLOOR, POWER, ROUND, SQRT; hàm chuỗi; hàm ngày tháng GETDATE, DATEADD, DATEDIFF, DATENAME, DATEPART; hàm hệ thống DB_ID, DB_NAME, HOST_ID, ISNULL, OBJECT_ID, USER_ID và hàm chuyển đổi CONVERT).
  • Giao dịch, Khóa và Bảo mật (Chương 5 - Chương 7): Khái niệm và tính chất của Transaction, các mức cô lập giao dịch, hiện tượng đọc dữ liệu bẩn (Dirty Read). Kiến trúc an ninh: cơ chế xác thực Login, phân quyền người dùng (Users), nhóm quyền (Roles), cấp phát và thu hồi quyền trên đối tượng cơ sở dữ liệu (Object Permissions).
  • T-SQL Nâng cao, Toàn vẹn Dữ liệu và Chỉ số (Chương 8 - Chương 11): Cú pháp phân nhóm DDL, DCL, DML; các phép nối dữ liệu (INNER JOIN, LEFT/RIGHT/FULL OUTER JOIN), phép hợp (UNION), mệnh đề phân tích CUBE, ROLLUP, COMPUTE, COMPUTE BY. Triển khai các ràng buộc dữ liệu: PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK, DEFAULT, NOT NULL, thuộc tính IDENTITY. Kỹ thuật lập chỉ số: Clustered Index, Non-clustered Index, thuộc tính chỉ số và dịch vụ tìm kiếm toàn văn (Full-text Search, Full-text Catalogs, Full-text Indexes).
  • Khung nhìn, Con trỏ, Thủ tục và Trigger (Chương 12 - Chương 17): Định nghĩa và cập nhật dữ liệu qua Views, khung nhìn phân tán (Distributed Partitioned Views). Vòng đời sử dụng Cursor: Khai báo (DECLARE), Mở (OPEN), Truy vấn (FETCH FIRST/NEXT/LAST/ABSOLUTE/RELATIVE), Đóng (CLOSE) và Giải phóng vùng nhớ (DEALLOCATE). Xây dựng Stored Procedures (System SPs, User-defined SPs, tham số, lệnh RAISERROR, tái biên dịch Re-compiling). Cơ chế Trigger: INSERT, UPDATE (Table level, Column level), DELETE, mã hóa ENCRYPTION, Cascading Triggers, Nested Triggers và INSTEAD OF Triggers.
  • Vận hành Quản trị: Sao lưu, Chuyển dịch và Nhân bản (Chương 18 - Chương 20): Các loại sao lưu (Full Backup, Transaction Log Backup, File/Filegroup Backup), mô hình phục hồi (Recovery Models), kỹ thuật cắt tỉa log (Truncate Log). Dịch vụ chuyển đổi dữ liệu DTS: trích xuất, chuyển đổi và nạp dữ liệu (Import/Export) giữa SQL Server với Oracle, DB2, Microsoft Access, Excel, Text file. Kiến trúc Replication: mục tiêu nhất quán dữ liệu (Data consistency), độc lập site (Site autonomy), các mô hình Snapshot Replication, Transactional Replication (Log Reader Agent, Immediate Updating Subscriber) và Merge Replication cùng cơ chế giải quyết tranh chấp (Conflict Resolution).

Kiến thức nền tảng được xây dựng

  1. Lý thuyết lưu trữ và quản lý dữ liệu mức thấp: Hiểu rõ cơ chế phân bổ không gian đĩa thông qua Page 8 KB và Extent 64 KB, cách thức lưu trữ bản ghi và cơ chế quản lý con trỏ tập tin dữ liệu.
  2. Nguyên lý phục hồi và nhất quán giao dịch: Nắm vững chu trình ghi log trước (Write-Ahead Logging), tiến trình Checkpoint và Lazy Writer để đảm bảo trạng thái nguyên vẹn của dữ liệu qua các thao tác Roll Forward và Roll Back khi có sự cố.
  3. Mô hình phân quyền và an toàn thông tin: Nắm vững cấu trúc bảo mật phân cấp nhiều tầng gồm Login cấp máy chủ, User cấp cơ sở dữ liệu và Permission trên từng đối tượng bảng/view/stored procedure.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical Skills): Cài đặt và cấu hình các dịch vụ SQL Server; tạo lập và chỉnh sửa cấu trúc bảng; viết kịch bản T-SQL có cấu trúc điều khiển phức tạp; xây dựng Trigger và Stored Procedure kiểm soát nghiệp vụ; thiết lập chính sách sao lưu và phục hồi dữ liệu định kỳ.
  • Kỹ năng phân tích (Analytical Skills): Phân tích hiệu năng câu truy vấn bằng execution plan trong Query Analyzer; chẩn đoán các lỗi giao dịch và mức độ tranh chấp khóa (Locking/Dirty Read); lựa chọn kiểu dữ liệu tối ưu cho từng trường thông tin.
  • Kỹ năng thực thi thực tế (Practical Competencies): Thực hiện tích hợp và chuyển đổi dữ liệu giữa các định dạng không đồng nhất thông qua DTS; thiết lập mô hình đồng bộ dữ liệu giữa các trạm làm việc thông qua cấu hình Replication.

Phương pháp giảng dạy và học tập

TIẾP CẬN SƯ PHẠM 3 BƯỚC:
[1. Lý thuyết & Kiến trúc] ---> [2. Thao tác GUI / Kịch bản T-SQL] ---> [3. Trắc nghiệm & Bài tập Lab]
   - Phân tích nguyên lý           - Enterprise Manager Wizard             - Câu hỏi củng cố cuối chương
   - Cấu trúc vật lý/logic         - Query Analyzer / osql                 - Thao tác trên CSDL Flight_Info

Cách tiếp cận sư phạm

Giáo trình áp dụng mô hình đào tạo thực nghiệm: bắt đầu từ việc trực quan hóa các khái niệm trừu tượng (như cấu trúc Page/Extent, mô hình Client/Server, chu trình Checkpoint) bằng sơ đồ kiến trúc, sau đó hướng dẫn người học thao tác trực tiếp trên giao diện quản trị đồ họa (Enterprise Manager) và chuyển dần sang kiểm soát hoàn toàn hệ thống bằng câu lệnh T-SQL trong Query Analyzer.

Bài tập và kịch bản thực hành (Case Studies)

Giáo trình xây dựng một cơ sở dữ liệu nghiệp vụ hoàn chỉnh mang tên Flight_Information bao gồm 15 bảng liên kết:

  • Bảng danh mục và dịch vụ: Airlines_Master, Category_Master, Class_Master, City_Master, Day_Master, Meal, Service, Status_Master, Airline_Service, Airline_Meal.
  • Bảng chuyến bay và giao dịch khách hàng: Flight, Flight_days, Flight_details, Passenger, Reservation.

Hệ thống bài tập yêu cầu người học giải quyết các bài toán vận hành cụ thể trên cơ sở dữ liệu mẫu:

  1. Viết truy vấn cập nhật điều chỉnh giá vé tăng 10% cho một hãng hàng không xác định (IC01).
  2. Xử lý logic xóa dữ liệu liên kết dịch vụ suất ăn (meal_code = 'CONV') của hãng Air India (AI).
  3. Thực hiện thay đổi lược đồ cơ sở dữ liệu: xóa cột Type trong bảng Flight, xóa bảng Status_Master.
  4. Chuẩn hóa dữ liệu bằng lệnh T-SQL kết hợp điều kiện CASE để chuyển đổi mã giới tính từ 'F', 'M' sang chuỗi 'Females', 'Males'.

Phương pháp đánh giá và hướng dẫn tự học

  • Đánh giá: Mỗi chương tích hợp bộ câu hỏi trắc nghiệm kiểm tra kiến thức về các tham số hệ thống, khả năng phân biệt công cụ quản trị (Service Manager, Enterprise Manager, Query Analyzer), lựa chọn kiểu dữ liệu phù hợp với trường thuộc tính, và xác định cú pháp lệnh chính xác.
  • Tự học: Giáo trình hướng dẫn người học cài đặt phiên bản Developer Edition trên môi trường máy trạm cá nhân (Windows 2000 Professional hoặc Windows NT Workstation), sử dụng công cụ tra cứu tích hợp sẵn SQL Server Books Online (BOL) để tra cứu cú pháp và thực nghiệm các kịch bản mẫu từ hai cơ sở dữ liệu có sẵn là Pubs và Northwind.

Điểm nổi bật và cập nhật

Danh mục Chi tiết kỹ thuật trong giáo trình
Mở rộng nền tảng Web & XML Hỗ trợ XML trực tiếp trong Database Engine; tích hợp kiến trúc Windows DNA phục vụ ứng dụng Web; tích hợp Microsoft Search Services.
Dịch vụ Chuyển dịch Dữ liệu (DTS) Import/Export hai chiều giữa SQL Server với Oracle, IBM DB2, Microsoft Access, Microsoft Excel và Text file.
Phân tích dữ liệu & Khai phá (OLAP) Phân hệ Analysis Services cung cấp công cụ khối đa chiều (Multi-dimension cubes) và kỹ thuật khai phá dữ liệu (Data Mining).
Truy vấn ngôn ngữ tự nhiên Hỗ trợ English Query cho phép lập trình viên và người dùng đặt câu hỏi truy vấn dữ liệu bằng tiếng Anh thông thường.
Công cụ giám sát chuyên sâu SQL Profiler cho phép ghi vết (capture), kiểm tra và lưu vết toàn bộ hoạt động, sự kiện diễn ra trên máy chủ vào tập tin văn bản.
Kiến trúc Nhân bản (Replication) Phân loại rõ Snapshot Replication, Transactional Replication (sử dụng Log Reader Agent) và Merge Replication với cơ chế xử lý xung đột.

Giáo trình nêu rõ sự phát triển của Microsoft SQL Server từ phiên bản 6.0, 7.0 lên SQL Server 2000. Engine của hệ quản trị được tối ưu hóa cho môi trường cơ sở dữ liệu quy mô rất lớn (Very Large Database Environment - VLDB) lên đến dung lượng Terabyte và phục vụ hàng ngàn người dùng kết nối đồng thời.


Đối tượng sử dụng giáo trình

  • Sinh viên đại học/cao đẳng: Dành cho sinh viên năm thứ 2 hoặc năm thứ 3 thuộc các chuyên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm, Hệ thống Thông tin Quản lý, Mạng máy tính và Truyền thông dữ liệu đang theo học các học phần về Quản trị Cơ sở Dữ liệu hoặc Lập trình Cơ sở Dữ liệu.
  • Yêu cầu tiên quyết (Prerequisites): Người học cần hoàn thành môn Cơ sở dữ liệu đại cương, nắm vững mô hình dữ liệu quan hệ, đại số quan hệ, lý thuyết chuẩn hóa dữ liệu (1NF, 2NF, 3NF) và có kiến thức cơ bản về hệ điều hành Windows.
  • Giảng viên: Sử dụng làm tài liệu giảng dạy lý thuyết trên lớp và làm tài liệu hướng dẫn bài tập phòng thực hành (Lab Manual) nhờ hệ thống bài tập thực hành theo từng bước (Step-by-step) đã được thiết kế sẵn.
  • Tự học và tham khảo: Dành cho các kỹ sư phần mềm, lập trình viên phát triển ứng dụng cần nắm vững cú pháp T-SQL, cơ chế viết Trigger/Stored Procedure và các chuyên viên quản trị hệ thống (System Administrators) muốn nâng cao kỹ năng cấu hình, sao lưu và đồng bộ dữ liệu.

Câu hỏi thường gặp

1. Giáo trình này phù hợp với ai?

Tài liệu được biên soạn phục vụ sinh viên chuyên ngành Công nghệ Thông tin ở bậc đại học, cao đẳng, các giảng viên phụ trách bộ môn hệ thống thông tin và các lập trình viên cần tài liệu học tập có hệ thống về cơ chế vận hành của hệ quản trị cơ sở dữ liệu quan hệ SQL Server.

2. Cần chuẩn bị kiến thức nền tảng nào trước khi học?

Người học cần có kiến thức cơ bản về mô hình cơ sở dữ liệu quan hệ, các phép toán đại số quan hệ, kỹ năng tư duy thuật toán lập trình cơ bản và thao tác sử dụng hệ điều hành Windows.

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 thuần túy là gì?

Thay vì chỉ hướng dẫn cú pháp câu lệnh truy vấn chuẩn (ANSI SQL), giáo trình phân tích sâu cấu trúc phần cứng và vật lý (Page, Extent, cấu trúc file .mdf, .ndf, .ldf), cơ chế phục hồi giao dịch (Write-Ahead Logging, Checkpoint) và các dịch vụ tích hợp cấp máy chủ như DTS, Replication và Analysis Services.

4. Làm sao để tự học và thực hành hiệu quả theo giáo trình?

Người học nên cài đặt phiên bản SQL Server 2000 Developer Edition, tạo lập cơ sở dữ liệu mẫu Flight_Information theo hướng dẫn ở Chương 3, kết hợp sử dụng công cụ Enterprise Manager để nắm bắt trực quan và Query Analyzer để thực thi các khối lệnh T-SQL từ cơ bản đến nâng cao.

5. Giáo trình sử dụng những tài liệu và công cụ bổ trợ nào?

Tài liệu khai thác trực tiếp công cụ tra cứu tích hợp SQL Server Books Online (BOL), các công cụ dòng lệnh osql, bcp, công cụ giám sát SQL Profiler và các cơ sở dữ liệu ví dụ đi kèm hệ thống như Northwind và Pubs.


Kết luận

Giáo trình "Hướng Dẫn Toàn Diện Về Quản Trị Cơ Sở Dữ Liệu SQL Server" cung cấp một lộ trình học tập logic và đầy đủ về quản trị dữ liệu quan hệ: từ kiến trúc vật lý, lập trình T-SQL, bảo mật, tối ưu chỉ số, đến tự động hóa quản trị và phân tán dữ liệu.

Lộ trình học tập đề xuất:

  1. Nắm vững kiến trúc phần mềm, cấu trúc lưu trữ tập tin và kiểu dữ liệu (Chương 1 - Chương 3).
  2. Lập trình cú pháp T-SQL, hàm, cấu trúc điều khiển và biến hệ thống (Chương 4).
  3. Thiết lập giao dịch, an ninh người dùng, ràng buộc toàn vẹn và chỉ số (Chương 5 - Chương 11).
  4. Xây dựng các đối tượng xử lý nâng cao: View, Cursor, Stored Procedure, Trigger (Chương 12 - Chương 17).
  5. Triển khai sao lưu, phục hồi, chuyển đổi DTS và cấu hình nhân bản dữ liệu Replication (Chương 18 - Chương 20).

Nguồn học liệu bổ trợ chính quy được khuyến nghị đi kèm là tài liệu tra cứu trực tuyến SQL Server Books Online và hệ thống cơ sở dữ liệu mẫu thực hành được cung cấp trong giáo trình.