Nghiên cứu Tối ưu Khai Thác Dữ Liệu CSDL Đào Tạo Tín Chỉ

Khóa luận về tối ưu khai thác dữ liệu trong CSDL đào tạo tín chỉ. Nghiên cứu các phương pháp tổ chức dữ liệu hiệu quả, nâng cao hiệu suất truy vấn.

Trường đại học

Đại học Thương Mại

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Báo cáo đề tài NCKH cấp trường

2019

61
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

DANH MỤC HÌNH VẼ

DANH MỤC BẢNG BIỂU

DANH MỤC TỪ VIẾT TẮT

1. CHƯƠNG 1: TỔNG QUAN NGHIÊN CỨU ĐỀ TÀI

1.1. Tính cấp thiết nghiên cứu của đề tài

1.2. Tổng quan về đề tài nghiên cứu

1.2.1. Tổng quan về đề tài nghiên cứu trong nước

1.2.2. Tổng quan về đề tài nghiên cứu ngoài nước

1.3. Mục tiêu nghiên cứu

1.4. Đối tượng và phạm vi nghiên cứu

1.4.1. Đối tượng nghiên cứu

1.4.2. Phạm vi nghiên cứu

1.5. Phương pháp nghiên cứu

1.6. Kết cấu báo cáo nghiên cứu

2. CHƯƠNG 2: LÝ THUYẾT VỀ THIẾT KẾ VÀ TỐI ƯU HÓA HIỆU NĂNG CƠ SỞ DỮ LIỆU

2.1. Tổng quan về cơ sở dữ liệu

2.1.1. Các khái niệm liên quan

2.1.2. Kiến trúc của hệ thống CSDL

2.1.3. Lược đồ và thể hiện của CSDL

2.1.4. Mô hình dữ liệu

2.1.5. Một số các dạng chuẩn CSDL

2.2. Các vấn đề liên quan tới hiệu năng cơ sở dữ liệu và cách giám sát

2.2.1. Một số vấn đề liên quan tới hiệu năng cơ sở dữ liệu

2.2.2. Công cụ giám sát và cảnh báo sớm hiệu năng CSDL

2.3. Các phương pháp tối ưu hóa cơ sở dữ liệu mức vật lý

2.3.1. Nội dung thiết kế tệp vật lý và cơ sở dữ liệu vật lý

2.3.1.1. Thiết kế các trường
2.3.1.2. Thiết kế các bản ghi vật lý
2.3.1.3. Thiết kế các file vật lý
2.3.1.4. Ví dụ về thiết kế file

2.4. Tối ưu tổ chức dữ liệu

2.5. Tối ưu trong viết lệnh truy vấn

3. CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ MỘT SỐ GIẢI PHÁP TỐI ƯU HÓA TRÊN CƠ SỞ DỮ LIỆU TTN TRONG QUẢN LÝ ĐTTC

TÀI LIỆU THAM KHẢO

Phụ lục 1: Một số các định nghĩa liên quan đến các dạng chuẩn

Phụ lục 2: Ví dụ về các file sau khi tiến hành thiết kế vật lý

Tóm tắt

I. Tầm quan trọng của việc tối ưu CSDL đào tạo tín chỉ

Trong bối cảnh số hóa giáo dục đại học, cơ sở dữ liệu (CSDL) đào tạo tín chỉ đóng vai trò xương sống cho mọi hoạt động quản lý. Từ đăng ký học phần, xếp thời khóa biểu, quản lý điểm số đến các báo cáo thống kê, tất cả đều phụ thuộc vào hiệu suất và sự ổn định của hệ thống CSDL. Tuy nhiên, theo thời gian, sự gia tăng nhanh chóng về khối lượng dữ liệu sinh viên, điểm số, và các bản ghi học phần qua mỗi học kỳ đã tạo ra một áp lực khổng lồ lên hệ thống. Đề tài nghiên cứu "Nghiên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ" của ThS. Hoàng Ngọc Cảnh chỉ ra rằng nhiều hệ thống ban đầu được thiết kế để đáp ứng nhu cầu trước mắt, dẫn đến thiếu tính chuẩn hóa và khả năng mở rộng. Tình trạng này gây ra hiện tượng truy vấn chậm, quá tải hệ thống, thậm chí sai sót dữ liệu, ảnh hưởng trực tiếp đến trải nghiệm của sinh viên và hiệu quả công tác của nhà trường. Do đó, việc tối ưu CSDL đào tạo tín chỉ không còn là một lựa chọn mà đã trở thành yêu cầu cấp thiết. Một hệ thống được tối ưu hóa không chỉ đảm bảo tốc độ xử lý nhanh, giảm thiểu thời gian chờ đợi mà còn tăng cường tính toàn vẹn, bảo mật và nhất quán của dữ liệu. Việc áp dụng các phương pháp tổ chức dữ liệu khoa học và kỹ thuật tối ưu truy vấn T-SQL giúp hệ thống hoạt động ổn định trên hạ tầng hiện có, tiết kiệm chi phí nâng cấp phần cứng đắt đỏ. Nghiên cứu này tập trung vào việc phân tích và đưa ra các giải pháp thực tiễn, từ việc thiết kế CSDL mức vật lý và logic đến các kỹ thuật nâng cao hiệu năng, nhằm xây dựng một hệ thống quản lý đào tạo hiệu quả và bền vững.

1.1. Hiểu đúng về CSDL trong quản lý đào tạo tín chỉ

Một CSDL đào tạo tín chỉ là một tập hợp có cấu trúc các dữ liệu liên quan đến quá trình đào tạo theo hệ thống tín chỉ, bao gồm thông tin sinh viên, chương trình đào tạo, lớp học phần, điểm số, và nhiều thực thể khác. Theo báo cáo nghiên cứu, các hệ thống này thường được xây dựng trên nền tảng hệ quản trị CSDL quan hệ (RDBMS) như SQL Server hay Oracle. Mục tiêu chính của hệ CSDL là cung cấp một cái nhìn trừu tượng về dữ liệu, che giấu sự phức tạp trong cách lưu trữ và bảo trì. Kiến trúc ba mức tiêu chuẩn bao gồm: mức ngoài (khung nhìn của người dùng), mức khái niệm (mô tả logic của toàn bộ CSDL), và mức trong (mô tả cách dữ liệu được lưu trữ vật lý). Việc hiểu rõ kiến trúc này là nền tảng để tiến hành các hoạt động tối ưu hóa hiệu năng CSDL một cách bài bản. Các vấn đề như dư thừa dữ liệu, tính không nhất quán, và khó khăn trong truy cập thường phát sinh từ việc thiết kế ở mức khái niệm và mức vật lý chưa tối ưu.

1.2. Lý do cấp thiết phải tối ưu hóa hiệu năng CSDL

Tính cấp thiết của việc tối ưu CSDL đào tạo tín chỉ xuất phát từ nhiều yếu tố thực tiễn. Thứ nhất, lượng dữ liệu giao dịch (thêm, sửa, xóa) tăng theo cấp số nhân qua mỗi học kỳ, đặc biệt trong các kỳ đăng ký học hoặc nhập điểm. Thứ hai, các yêu cầu nghiệp vụ thay đổi liên tục để phù hợp với quy chế của Bộ Giáo dục và Đào tạo cũng như đặc thù của từng trường, dẫn đến việc cấu trúc CSDL bị can thiệp thường xuyên và trở nên phi chuẩn. Báo cáo gốc nhấn mạnh: "hệ quả là trong bối cảnh dữ liệu đào tạo ngày càng lớn, các thiết kế và truy vấn dữ liệu nói trên sẽ bộc lộ nhiều điểm yếu". Các điểm yếu này biểu hiện qua việc hệ thống bị chậm, quá tải, và phát sinh lỗi dữ liệu. Tối ưu hóa hiệu năng giúp giải quyết các vấn đề này bằng cách rà soát, tái cấu trúc và áp dụng các kỹ thuật tiên tiến để đảm bảo hệ thống hoạt động ổn định, hiệu quả và sẵn sàng đáp ứng nhu cầu ngày càng tăng của người dùng.

II. Thách thức và các vấn đề hiệu năng CSDL đào tạo

Các hệ thống CSDL đào tạo tín chỉ thường xuyên phải đối mặt với nhiều thách thức về hiệu năng, đặc biệt khi quy mô dữ liệu ngày càng lớn và phức tạp. Một trong những vấn đề cốt lõi, như được đề cập trong nghiên cứu của ThS. Hoàng Ngọc Cảnh, là sự tồn tại của các điểm "nghẽn cổ chai" (bottlenecks). Những điểm nghẽn này có thể xuất phát từ nhiều nguyên nhân, bao gồm cấu hình phần cứng không đồng bộ, thiết kế CSDL yếu kém, và các câu lệnh truy vấn được viết một cách thiếu hiệu quả. Khi hệ thống gặp phải tình trạng nghẽn, các biểu hiện thường thấy là thời gian phản hồi rất chậm, ứng dụng bị treo, và thậm chí toàn bộ hệ điều hành trở nên ì ạch. Ví dụ, một Memory bottleneck (nghẽn bộ nhớ) thường xảy ra do các thao tác duyệt toàn bộ bảng dữ liệu (table scan) thay vì sử dụng chỉ mục (index), khiến chi phí bộ nhớ và thời gian xử lý tăng vọt. Tương tự, CPU bottleneck (nghẽn vi xử lý) xảy ra khi các đoạn mã lập trình được điều phối không tốt, gây quá tải cho một số tiến trình nhất định. Bên cạnh các vấn đề về hạ tầng, chất lượng của thiết kế CSDL ban đầu cũng là một yếu tố quyết định. Việc thiếu chuẩn hóa dữ liệu dẫn đến dư thừa thông tin, không nhất quán và gây ra các "dị thường" khi cập nhật, làm giảm nghiêm trọng hiệu năng và tính toàn vẹn của CSDL đào tạo tín chỉ.

2.1. Phân tích các loại nghẽn cổ chai Bottlenecks

Nghiên cứu đã chỉ ra bốn loại nghẽn cổ chai chính ảnh hưởng đến hiệu năng CSDL:

  1. CPU bottlenecks: Xảy ra khi CPU hoạt động ở mức trên 80% liên tục, gây treo các tiến trình. Nguyên nhân có thể do cấu hình phần cứng hoặc phổ biến hơn là do các đoạn mã lệnh truy vấn phức tạp, tính toán nhiều gây quá tải.
  2. Memory bottlenecks: Biểu hiện qua việc trả kết quả truy vấn rất chậm và bộ nhớ vật lý gần như cạn kiệt. Lý do chính là các câu lệnh không sử dụng chỉ mục (indexing), buộc hệ thống phải thực hiện quét toàn bộ bảng (table scan), một hoạt động cực kỳ tốn kém tài nguyên.
  3. Network bottlenecks: Khó nhận biết hơn, liên quan đến luồng dữ liệu trao đổi giữa máy chủ và người dùng. Nguyên nhân có thể là do không kiểm soát thời gian chờ (timeout) của các kết nối hoặc cho phép quá nhiều yêu cầu trực tiếp đến CSDL.
  4. I/O bottlenecks: Phản ánh sự chậm trễ của các thiết bị vào/ra, chẳng hạn như ổ cứng có tốc độ đọc/ghi thấp, không tương xứng với tốc độ xử lý của CPU và RAM, làm giảm hiệu năng tổng thể của hệ thống.

2.2. Hậu quả từ việc thiết kế CSDL phi chuẩn hóa

Việc thiết kế CSDL ban đầu thường chạy theo tiến độ, đặt nặng việc "giải quyết vấn đề trước mắt", dẫn đến cấu trúc CSDL bị phi chuẩn hóa. Chuẩn hóa dữ liệu là quá trình tổ chức các cột và bảng trong CSDL quan hệ để giảm thiểu dư thừa dữ liệu. Khi một CSDL không đạt các dạng chuẩn cơ bản (ví dụ 3NF hoặc BCNF), nó sẽ phải đối mặt với các dị thường cập nhật (update anomalies), dị thường chèn (insertion anomalies), và dị thường xóa (deletion anomalies). Ví dụ, thông tin của một sinh viên có thể bị lặp lại ở nhiều bảng khác nhau. Khi cần cập nhật địa chỉ của sinh viên đó, người quản trị phải thay đổi ở tất cả các nơi, nếu bỏ sót sẽ dẫn đến tình trạng dữ liệu không nhất quán. Về lâu dài, một lược đồ CSDL phi chuẩn sẽ trở nên khó bảo trì, khó mở rộng và là nguyên nhân gốc rễ gây ra các câu truy vấn chậm.

III. Phương pháp tối ưu tổ chức dữ liệu CSDL hiệu quả

Để giải quyết các thách thức về hiệu năng, việc áp dụng các phương pháp tối ưu tổ chức dữ liệu là bước đi nền tảng và mang lại hiệu quả lâu dài cho CSDL đào tạo tín chỉ. Quá trình này không chỉ đơn thuần là điều chỉnh các câu lệnh truy vấn mà phải bắt đầu từ gốc rễ, đó là cấu trúc của CSDL. Nghiên cứu của ThS. Hoàng Ngọc Cảnh đã hệ thống hóa hai hướng tiếp cận chính: tối ưu tổ chức thiết kế các thực thể và áp dụng công nghệ đặc thù của hệ quản trị dữ liệu. Hướng tiếp cận đầu tiên tập trung vào các kỹ thuật kinh điển như thiết kế lược đồ CSDL (Database Schema), chuẩn hóa dữ liệu (Normalization)phi chuẩn hóa (Denormalization). Chuẩn hóa giúp loại bỏ sự dư thừa và đảm bảo tính nhất quán, trong khi phi chuẩn hóa, một cách có chủ đích, lại có thể cải thiện tốc độ truy vấn cho các tác vụ đọc dữ liệu và báo cáo bằng cách giảm số lượng phép nối (JOIN) giữa các bảng. Việc cân bằng giữa hai kỹ thuật này đòi hỏi sự am hiểu sâu sắc về bản chất ứng dụng, liệu đó là hệ thống xử lý giao dịch trực tuyến (OLTP) hay hệ thống phân tích trực tuyến (OLAP). Bên cạnh đó, thiết kế CSDL vật lý cũng đóng vai trò quan trọng, bao gồm việc lựa chọn kiểu dữ liệu phù hợp, thiết kế các bản ghi và tổ chức file vật lý để tối ưu hóa không gian lưu trữ và tốc độ truy cập.

3.1. Kỹ thuật chuẩn hóa và phi chuẩn hóa dữ liệu

Quá trình chuẩn hóa dữ liệu là việc đưa lược đồ quan hệ về các dạng chuẩn (Normal Form - NF) như 1NF, 2NF, 3NF và BCNF. Mục tiêu chính là để loại bỏ các dị thường cập nhật gây ra bởi sự lặp lại dữ liệu. Một CSDL được chuẩn hóa tốt sẽ có cấu trúc logic, dễ bảo trì và đảm bảo tính toàn vẹn dữ liệu. Tuy nhiên, trong một số trường hợp, việc chuẩn hóa quá mức có thể làm tăng số lượng bảng, đòi hỏi nhiều phép nối (JOIN) phức tạp khi truy vấn, từ đó làm giảm hiệu năng đọc dữ liệu. Đây là lúc kỹ thuật phi chuẩn hóa phát huy tác dụng. Phi chuẩn hóa là quá trình thêm dữ liệu dư thừa vào một hoặc nhiều bảng một cách có chủ đích để cải thiện hiệu suất. Ví dụ, thay vì phải nối ba bảng để lấy tên sinh viên, tên lớp và tên khoa, ta có thể lưu sẵn tên khoa trong bảng lớp học phần để truy vấn nhanh hơn. Quyết định phi chuẩn hóa cần được cân nhắc kỹ lưỡng dựa trên tần suất truy vấn và mức độ chấp nhận rủi ro về tính nhất quán dữ liệu.

3.2. Hướng dẫn thiết kế CSDL vật lý và cấu trúc tệp

Thiết kế CSDL vật lý là quá trình chuyển đổi lược đồ CSDL logic thành các đặc tả kỹ thuật để lưu trữ dữ liệu. Giai đoạn này bao gồm các quyết định quan trọng như:

  • Chọn kiểu dữ liệu (Data Type): Lựa chọn kiểu dữ liệu phù hợp (ví dụ: int thay vì varchar cho mã số) giúp tiết kiệm không gian lưu trữ và tăng tốc độ xử lý.
  • Thiết kế bản ghi vật lý: Sắp xếp các trường trong một bản ghi để tận dụng tối đa dung lượng của một trang (page) bộ nhớ, từ đó giảm số lần đọc/ghi đĩa.
  • Tổ chức tệp (File Organization): Lựa chọn cách sắp xếp các bản ghi trên thiết bị lưu trữ. Các phương pháp phổ biến bao gồm tổ chức tuần tự, tổ chức băm (hashed), và tổ chức file theo chỉ mục (indexed). Mỗi phương pháp có ưu và nhược điểm riêng về tốc độ truy cập tuần tự và ngẫu nhiên. Việc lựa chọn đúng phương pháp tổ chức tệp cho từng bảng dữ liệu sẽ cải thiện đáng kể hiệu năng CSDL.

IV. Bí quyết tối ưu truy vấn T SQL cho CSDL đào tạo

Bên cạnh việc tổ chức dữ liệu khoa học, tối ưu truy vấn T-SQL là yếu tố then chốt quyết định trực tiếp đến tốc độ phản hồi của CSDL đào tạo tín chỉ. Một câu lệnh truy vấn được viết kém hiệu quả có thể làm tê liệt cả hệ thống, dù cho cấu trúc CSDL có được thiết kế tốt đến đâu. Nghiên cứu đã chỉ ra rằng, nguyên nhân của các truy vấn chậm rất đa dạng, từ lỗi chỉ mục (index), kế hoạch thực thi (execution plan) kém, đến việc lạm dụng các toán tử phức tạp trong mệnh đề WHERE. Để cải thiện hiệu năng CSDL, cần áp dụng một loạt các kỹ thuật và tuân thủ các nguyên tắc vàng khi viết mã. Một trong những bí quyết quan trọng nhất là hiểu và tận dụng tối đa sức mạnh của indexing. Việc tạo các Clustered IndexNon-Clustered Index phù hợp trên các cột thường được sử dụng trong các điều kiện tìm kiếm hoặc nối bảng có thể giảm thời gian truy vấn từ vài phút xuống còn vài mili giây. Ngoài ra, việc phân tích Execution Plan do hệ quản trị CSDL tạo ra giúp lập trình viên xác định các điểm yếu trong câu lệnh, chẳng hạn như các thao tác "Table Scan" hoặc "Index Scan" tốn kém. Thay vì viết các câu truy vấn dài và phức tạp trực tiếp trong mã ứng dụng, việc sử dụng Stored ProcedureView cũng là một cách hiệu quả để giảm lưu lượng mạng và tăng cường bảo mật cho hệ thống tối ưu CSDL.

4.1. Cách sử dụng Indexing và Execution Plans hiệu quả

Indexing (đánh chỉ mục) là kỹ thuật tạo ra các cấu trúc dữ liệu đặc biệt giúp tăng tốc độ truy xuất dữ liệu từ các bảng. Thay vì phải quét toàn bộ bảng (Full Table Scan), hệ quản trị CSDL có thể sử dụng chỉ mục để nhanh chóng xác định vị trí của các bản ghi thỏa mãn điều kiện. Cần tạo index cho các cột khóa ngoại (Foreign Key) và các cột thường xuyên xuất hiện trong mệnh đề WHERE, JOIN. Tuy nhiên, việc tạo quá nhiều index cũng có thể làm chậm các thao tác ghi (INSERT, UPDATE, DELETE). Do đó, cần cân bằng hợp lý. Execution Plan (Kế hoạch thực thi) là một bản đồ chi tiết về cách SQL Server sẽ thực thi một câu truy vấn. Bằng cách phân tích kế hoạch này, lập trình viên có thể phát hiện các bước tốn nhiều tài nguyên nhất và tìm cách tối ưu hóa câu lệnh T-SQL tương ứng, ví dụ như viết lại điều kiện WHERE để tận dụng index hoặc thay đổi thứ tự các bảng trong phép JOIN.

4.2. Tránh các lỗi phổ biến khi viết lệnh truy vấn

Một số lỗi phổ biến cần tránh để đảm bảo tối ưu truy vấn bao gồm:

  • Sử dụng SELECT *: Luôn chỉ định rõ các cột cần lấy thay vì dùng SELECT *. Việc này giúp giảm lượng dữ liệu truyền qua mạng và giảm tải cho bộ nhớ.
  • Lạm dụng toán tử LIKE '%...': Khi điều kiện tìm kiếm bắt đầu bằng ký tự đại diện (%), hệ thống không thể sử dụng index hiệu quả và phải thực hiện quét toàn bộ bảng.
  • Sử dụng hàm trên cột trong mệnh đề WHERE: Ví dụ, WHERE YEAR(NgaySinh) = 2000 sẽ ngăn cản việc sử dụng index trên cột NgaySinh. Cách viết tốt hơn là WHERE NgaySinh >= '2000-01-01' AND NgaySinh < '2001-01-01'.
  • Tránh dùng Cursor: Cursor xử lý dữ liệu theo từng dòng, vốn rất chậm. Hầu hết các tác vụ dùng cursor đều có thể được thay thế bằng các câu lệnh SQL dựa trên tập hợp (set-based), cho hiệu năng CSDL cao hơn nhiều.

V. Case study Tối ưu CSDL thi trắc nghiệm thực tiễn

Để minh họa cho tính hiệu quả của các giải pháp đã đề xuất, báo cáo nghiên cứu đã tiến hành thử nghiệm trên một module cụ thể: CSDL thi trắc nghiệm trong hệ thống quản lý đào tạo tín chỉ của Trường Đại học Thương mại. Module này được chọn vì tính phức tạp và yêu cầu cao về hiệu năng, đặc biệt là trong các kỳ thi tập trung với hàng ngàn sinh viên truy cập đồng thời. Trước khi tối ưu, lược đồ CSDL của hệ thống thi trắc nghiệm tồn tại một số vấn đề về thiết kế, gây ảnh hưởng đến tốc độ xử lý và khả năng mở rộng. Quá trình tối ưu hóa được thực hiện theo hai hướng chính: tái cấu trúc thiết kế và cải thiện lệnh truy vấn. Về mặt thiết kế, nhóm nghiên cứu đã phân tách rõ ràng hai lược đồ con: một cho việc quản lý ngân hàng câu hỏi và một cho việc xử lý bài thi của sinh viên. Các thực thể được tổ chức lại, các kiểu dữ liệu được tối giản và các khóa ngoại được sử dụng triệt để nhằm giảm dư thừa dữ liệu. Một trong những cải tiến quan trọng nhất là việc áp dụng kỹ thuật đánh chỉ mục (indexing) trên các bảng có số lượng bản ghi lớn và tần suất truy vấn cao. Kết quả thực nghiệm đã cho thấy sự cải thiện vượt trội về hiệu năng, chứng minh rằng việc tối ưu CSDL đào tạo tín chỉ không chỉ là lý thuyết mà hoàn toàn có thể áp dụng thành công trong thực tế.

5.1. Tái cấu trúc lược đồ dữ liệu quản lý bài thi

Lược đồ ban đầu của CSDL thi trắc nghiệm có cấu trúc chưa thực sự tối ưu. Nhóm nghiên cứu đã tiến hành tái cấu trúc bằng cách:

  • Phân tách lược đồ: Tách biệt rõ ràng lược đồ quản lý ngân hàng câu hỏi (thực thể: Học phần, Câu hỏi, Đáp án) và lược đồ quản lý bài thi (thực thể: Bài thi sinh viên, Danh mục câu hỏi, Danh mục đáp án). Điều này giúp giảm sự phức tạp và tăng tính modular.
  • Tối giản kiểu dữ liệu: Sử dụng các kiểu dữ liệu số nguyên (int, tinyint) cho các khóa chính, khóa ngoại và các trường trạng thái thay vì các kiểu dữ liệu ký tự, giúp tiết kiệm bộ nhớ và tăng tốc độ so sánh, nối bảng.
  • Nguyên tắc thiết kế: Áp dụng nguyên tắc một sinh viên chỉ có một bản ghi bài thi cho một học phần, và các danh mục câu hỏi, đáp án chỉ lưu khóa ngoại. Thiết kế này tuân thủ các dạng chuẩn cơ bản, giúp giảm kích thước bảng và tránh dư thừa dữ liệu.

5.2. Đánh giá hiệu năng truy vấn sau khi tối ưu hóa

Một trong những thử nghiệm cụ thể được ghi nhận là việc áp dụng Non-Clustered Index trên bảng tblSinhVienLopHocPhanDeThi. Bảng này lưu trữ thông tin về bài thi của từng sinh viên trong một lớp học phần cụ thể và thường xuyên được truy vấn để lấy dữ liệu. Trước khi có index, một câu lệnh SELECT đơn giản để lấy thông tin bài thi của một sinh viên phải thực hiện thao tác Clustered Index Scan, tức là quét qua một phần lớn của bảng, gây tốn kém tài nguyên. Sau khi tạo một Non-Clustered Index trên các cột MaSinhVienMaLopHocPhan, kế hoạch thực thi (Execution Plan) đã chuyển sang sử dụng thao tác Index Seek, trực tiếp tìm đến bản ghi cần thiết. Báo cáo đã đưa ra so sánh hiệu năng cho thấy chi phí truy vấn giảm đáng kể (Hình 23 trong tài liệu gốc), chứng tỏ việc áp dụng các kỹ thuật tối ưu hóa câu lệnh T-SQL mang lại hiệu quả tức thì và rõ rệt.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

27/09/2025
Khóa luận nghiên cứu các phương pháp tổ chức tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ

Trích đoạn nội dung tài liệu

Chương 1: Tổng quan nghiên cứu đề tài Chương này sẽ trình bày sơ lược về tổng quan đề tài nghiên cứu: tính cấp thiết, tình hình nghiên cứu về đề tài ở trong và ngoài nước, mục tiêu nghiên cứu, đối tượng, phạm vi nghiên cứu, và các phương pháp nghiên cứu khi tìm hiểu về vấn đề phi chuẩn khi thiết kế CSDL trong hệ thống thông tin. Chương 2: Lý thuyết về thiết kế và tối ưu hóa hiệu năng cơ sở dữ liệu Nội dung chương này sẽ trình bày một cách tổng quan nhất về CSDL, bao gồm các khái niệm cơ bản, kiến trúc 3 mức của hệ thống CSDL, giới thiệu một số mô hình dữ liệu phổ biến và một số các dạng chuẩn khi thiết kế CSDL, đồng thời liệt kê ra các vấn đề thường gặp với hiệu năng hoạt động của CSDL cũng như cách thức tối ưu hóa CSDL trên các khía cạnh thiết kế và tổ chức dữ liệu. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 11 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 Chương 3: Thử nghiệm và đánh giá một số giải pháp tối ưu hóa trên cơ sở dữ liệu thi trắc nghiệm trong quản lý đào tạo tín chỉ Nội dung chương này sẽ đề cập đến một số kết quả đạt được khi áp dụng các kỹ thuật tối ưu trên cơ sở dữ liệu đào tạo tín chỉ của Trường Đại học Thương mại, bao gồm tổ chức thiết kế lại các thực thể và tối ưu lệnh truy vấn trong các store, view, function,… ThS.

Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 12 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 CHƯƠNG 2: LÝ THUYẾT VỀ THIẾT KẾ VÀ TỐI ƯU HÓA HIỆU NĂNG CƠ SỞ DỮ LIỆU 1. Tổng quan về cơ sở dữ liệu 1. Các khái niệm liên quan Trong những năm gần đây, thuật ngữ CSDL – Database đã trở nên quen thuộc trong hầu hết mọi lĩnh vực.

Các ứng dụng tin học vào công tác quản lý ngày càng nhiều và đa dạng, hầu hết mọi lĩnh vực kinh tế, xã hội,…đều đã ứng dụng các thành tựu mới của tin học vào phục vụ công tác chuyên môn của mình. Chính vì lẽ đó mà ngày càng nhiều người quan tâm đến phân tích, thiết kế, xây dựng và ứng dụng CSDL. Trước khi các hệ CSDL ra đời, mỗi chương trình ứng dụng đều có một tệp dữ liệu tương ứng và mỗi khi chương trình ứng dụng cần được sửa đổi hoặc mở rộng thì tệp dữ liệu tương ứng cũng phải sửa đổi theo. Việc lưu trữ thông tin của một tổ chức trong một hệ xử lý tệp như vậy có những nhược điểm sau: - Dư thừa dữ liệu và không nhất quán: vì cùng một dữ liệu có thể được lưu trữ trong nhiều tệp khác nhau nên khi tiến hành cập nhật có thể bỏ sót và dẫn tới không nhất quán.

- Khó khăn trong việc truy cập dữ liệu: vì các môi trường xử lý tệp truyền thống không cho phép dữ liệu được tìm kiếm theo cách thức thuận tiện và hiệu quả. - Sự cô lập của dữ liệu: vì dữ liệu nằm rải rác trong nhiều tệp và các tệp có thể có khuôn dạng khác nhau nên khó viết các chương trình ứng dụng mới để tìm các dữ liệu thích hợp. - Các vấn đề toàn vẹn: vì khi có thêm những ràng buộc mới thì khó thay đổi các chương trình để có thể tuân thủ đúng các ràng buộc trên. - Các vấn đề tính nguyên tố của các giao tác: với hệ thống xử lý tệp truyền thống khó có thể đảm bảo được tính chất “hoặc thực hiện hoàn toàn hoặc không thực hiện gì” và khó đưa ra được hệ thống trở về trạng thái nhất quán trước khi xảy ra sự cố.

- Các dị thường của truy cập tương tranh: vì để tăng tính hiệu quả và trả lời nhanh hơn, nhiều hệ thống cho phép nhiều người dùng có thể cập nhật dữ liệu đồng thời, vì vậy có thể dẫn tới khả năng dữ liệu không nhất quán. - Các vấn đề an toàn: thông thường thì mỗi người dùng của hệ CSDL chỉ được phép truy cập một phần của CSDL và điều đó cũng là một biện pháp giữ cho dữ liệu trong CSDL an toàn. Còn với hệ xử lý tệp truyền thống thì các chương trình ứng dụng được thêm vào hệ thống theo một cách thức không tiên liệu trước nên rất khó đảm bảo được các ràng buộc an toàn như vậy. Hoàng Ngọc Cảnh – TT.

Công nghệ thông tin 13 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 Chính vì những lý do nêu trên mà các hệ CSDL đã ra đời. Cơ sở dữ liệu Một CSDL là một tập hợp các dữ liệu có liên quan với nhau chứa thông tin về một tổ chức nào đó (như một trường đại học, một ngân hàng, một công ty, một nhà máy,…) được lưu trữ trên các thiết bị nhớ thứ cấp (như từ, đĩa từ,…) để đáp ứng nhu cầu khai thác thông tin của nhiều NSD với nhiều mục đích khác nhau. Như vậy, CSDL có các tính chất đặc trưng: - CSDL phản ánh thông tin về hoạt động của một tổ chức nhất định, nghĩa là biểu thị một phần nào đó của thế giới thực (thế giới nhỏ). - CSDL phải là tập hợp các thông tin mang tính hệ thống tức là CSDL phản ánh được một cách trung thực sự thay đổi của thế giới nhỏ.

- Thông tin lưu trữ trong CSDL được chia sẻ cho nhiều NSD và nhiều ứng dụng khác nhau. Từ đó có thể thấy việc xây dựng và khai thác CSDL liên quan tới một số vấn đề như đảm bảo tính nhất quán và toàn vẹn dữ liệu, tính bảo mật và quyền khai thác của NSD, tính an toàn cho dữ liệu khi xảy ra sự cố. Hệ quản trị CSDL Hệ quản trị CSDL là một tập hợp các chương trình cho phép người dùng định nghĩa, tạo lập, bảo trì các CSDL và cung cấp các truy cập có điều khiển đến các CSDL này. Một số các hệ quản trị CSDL điển hình như IMS (Information Management System), IDS (Integrated Data Store), Sysbase, Access, Foxpro, SQL-Server, Oracle,… Như vậy một hệ quản trị CSDL là phần mềm tương tác với các chương trình ứng dụng của người dùng và CSDL.

Một hệ quản trị CSDL cung cấp các phương tiện sau: - Ngôn ngữ định nghĩa dữ liệu (Data Denifition Language - DDL): cho phép người dùng định nghĩa CSDL (đặc tả các kiểu và các cấu trúc dữ liệu, đặc tả các ràng buộc trên các dữ liệu được lưu trữ trong CSDL) Ví dụ: Tạo bảng Co chứa dữ liệu về thực thể công ty (bao gồm Số hiệu công ty có tối đa 2 kí tự, Tên công ty có tối đa 10 kí tự, Vốn của công ty có tối đa 4 số) như sau: Create table Co(Sohieu Char(2), Ten Char(10), Von Number(4,0)) - Ngôn ngữ thao tác dữ liệu (Data Manipulation Language - DML): cho phép người dùng thêm, xóa, cập nhật dữ liệu và truy xuất dữ liệu trong CSDL. Một ngôn ThS. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 14 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 ngữ cho phép người dùng truy cập hoặc thao tác CSDL được tổ chức bởi một mô hình thích hợp.

Ví dụ: Update… Insert… Delete… Select…From…Where… - Các kiểm soát, các điều khiển đối với việc truy cập vào CSDL. Ví dụ: Hệ thống an ninh ngăn cấm sự cố tình truy cập vào CSDL một cách trái phép hoặc hệ thống ràng buộc toàn vẹn duy trì tính nhất quán của DL hoặc hệ thống điều khiển khôi phục CSDL khi có sự cố. Hệ cơ sở dữ liệu Hệ CSDL là dùng để chỉ một CSDL và một hệ quản trị CSDL để truy cập vào CSDL đó. Mục đích chính của một hệ CSDL là cung cấp cho người dùng một cách nhìn trừu tượng về dữ liệu.

Điều đó có nghĩa là hệ thống che dấu những chi tiết phức tạp về cách thức dữ liệu được lưu trữ và bảo trì. Một hệ CSDL là một hệ thống gồm 4 thành phần: CSDL, NSD, phần mềm hệ quản trị CSDL, phần cứng. Hình 1: Hệ cơ sở dữ liệu Như vậy một hệ CSDL cho phép nhiều NSD thao tác lên cùng một CSDL. Các NSD khác nhau đòi hỏi một cách nhìn khác nhau về CSDL mà họ cần.

Mỗi một cách nhìn là một phần của CSDL hoặc là dữ liệu tổng hợp từ CSDL. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 15 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 1. Kiến trúc của hệ thống CSDL Theo ANSI – SPARC có 3 mức biểu diễn một CSDL: mức trong, mức khái niệm, và mức ngoài.

Sau đây là hình vẽ mô tả kiến trúc 3 mức của CSDL: Hình 2: Kiến trúc 3 mức của CSDL 1. Mức trong Mức này còn được gọi là mức vật lý. Đây là mức thấp nhất của CSDL, mô tả dữ liệu được thực sự lưu trữ như thế nào trong CSDL. Đây là mức thể hiện các cài đặt có tính chất vật lý của CSDL để đạt được tối ưu trong các thao tác tìm kiếm, lưu trữ để tận dụng được các vùng nhớ còn trống.

Ngoài ra đây còn là mức phản ánh các cấu trúc dữ liệu, các tổ chức tệp được dùng cho lưu trữ dữ liệu trên các thiết bị nhớ thứ cấp. Điều đó cũng có nghĩa là mức này tiếp xúc với các phương thức truy nhập của hệ điều hành để đặt dữ liệu vào các thiết bị nhớ, xây dựng các tập chỉ mục, truy xuất dữ liệu,…liên quan đến các vấn đề như cấp phát vùng nhớ cho dữ liệu và các chỉ mục, các mô tả bản ghi để lưu trữ, các kỹ thuật nén dữ liệu và giải mã dữ liệu. Mức khái niệm Mức này còn được gọi là mức logic. Đây là mức mô tả những dữ liệu nào được lưu trữ trong CSDL và có những mối quan hệ nào giữa các dữ liệu này.

Nói một cách cụ thể hơn, mức logic biểu diễn các thực thể (trong thế giới nhỏ), các thuộc tính và các mối quan hệ giữa các thực thể đó. Ngoài ra mức này cũng cho thấy các ràng buộc trên dữ liệu, các thông tin về ngữ nghĩa của dữ liệu, các thông tin về an ninh và toàn vẹn của dữ liệu. Tuy nhiên mức này chỉ quan tâm đến cái gì được lưu trữ ở trong CSDL chứ không quan tâm đến cách thức để lưu trữ. Hoàng Ngọc Cảnh – TT.

Công nghệ thông tin 16 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 1. Mức ngoài Mức này còn được gọi là mức khung nhìn. Đây là mức cao nhất của CSDL, nó mô tả chỉ một phần của toàn bộ CSDL, phần thích hợp với một NSD nhất định.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ