Xây dựng các XQuery khai thác ngân hàng câu hỏi qua web

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Cơ sở dữ liệu XML trong tổ chức quản lý ngân hàng câu hỏi theo tiêu chuẩn QTI Luận văn ThS Công nghệ thông tin 1 01 10 (Trang 67 - 76)

Trong phần này chúng tôi trình bày một số XQuery thực thi một số truy vấn điển hình trong quản lý và khai thác ngân hàng câu hỏi trắc nghiệm.

4.3.1. Một vài truy vấn điển hình

Truy vấn 1: Lấy ra tất cả câu hỏi thuộc loại đơn lựa chọn có trong ngân hàng, kết quả trả về là một trang html

Hình 4.2: Truy vấn listItem.xql

Truy vấn listItem.xql sau khi thực thi trả lại kết quả như sau

Hình 4.3: Trang web hiển thị kết quả thực thi listItem.xql

Truy vấn 2: Truy vấn dưới đây liệt kê tất cả các câu hỏi thuộc Bài 5 và Bài 6 có trong ngân hàng, kết quả trả về được thể hiện dưới dạng trang html. Với yêu cầu này ta có thể xây dựng truy vấn XQuery theo hai cách:

- Cách 1: Chọn trực tiếp các trong sưu tập B5 tương ứng với Bài 5 và sưu tập B6 tương ứng với B6

- Cách 2: Chọn các câu hỏi trong ngân hàng tương ứng sưu tập MSExcel với điều kiện assessmentItem[@title='Biểu đồ, đồ thị' and @title='Hoàn thiện trang bảng tính và in ấn']

Truy vấn ItemB5_6.xql dưới đây được thực hiện theo cách 1

Hình 4.4: Truy vấn ItemB5_6.xql

Sau khi thực thi truy vấn kết qủa trả về như sau:

Hình 4.5: Trang web hiển thị kết quả thực thi ItemB5_6.xql

4.3.2. Xây dựng truy vấn tự động sinh bài thi trắc nghiệm

Trước hết cần phải phân tích yêu cầu đặt ra để phân tách thành các truy vấn con, từ các truy vẫn con đó lại tiếp tục phân tích xem có thể tách thành các truy vấn con nữa hay không. Cụ thể ở phần này, để giải quyết yêu cầu đặt ra ở phần 4.1 ta cần phải xây dựng truy vấn đáp ứng các yêu cầu:

- Chọn 10 câu hỏi ngẫu nhiên rải đều các bài: để giải quyết thì ta cần phải xây dựng một hàm để sinh tập ra 10 số ngẫu nhiên phải đảm bảo yêu cầu các số này là số nguyên, đều nhỏ hơn tổng số câu hỏi trong tập câu hỏi lấy ra.

Hình 4.6: Đoạn mã để sinh ra $num số ngẫu nhiên nhỏ hơn $max

- Tối thiểu phải có một câu thuộc nội dung “Công thức và hàm”: ở đây vì câu hỏi được lưu theo từng bài nên ta chọn câu hỏi trực tiếp trong sưu tập tương ứng với bài đó, và ở yêu cầu này không bắt buộc là câu hỏi thuộc loại choice hay selectPoint nên chúng ta có thể dễ dàng đưa ra câu truy vấn như sau:

Hình 4.8: Đoạn mã để lấy ra các câu hỏi thuộc bài “Công thức và hàm”

- Chọn 4 câu tình huống thực hành ở dạng chọn điểm cho trước trên ảnh:

giải quyết bằng cách chọn ngẫu nhiên 4 câu hỏi mà thẻ assessmentItem có thuộc tính identifier bằng selectPoint

Hình 4.7: Đoạn mã để lấy ra các câu hỏi thuộc dạng selectPoint

Như vậy số câu còn lại đều thuộc loại đơn lựa chọn cần lấy ra là 5 câu, trong 5 câu này đều có thể nằm ở các bài nhưng với điều kiện là chúng không thể là câu hỏi đã được lựa chọn cho yêu cầu “Công thức và hàm

Hình 4.7: Đoạn mã chọn ra các câu hỏi còn lại Kết hợp các yêu cầu trên để được một truy vấn hoàn chỉnh như sau

Hình 4.8: Mã nguồn của truy vấn MSExcelQuestion.xql

4.3.3. Kết quả thử nghiệm

Chúng tôi đã chạy thử truy vấn trong 10 lần và nhận thấy 10 tập câu hỏi lấy ra cơ bản là khác nhau, nhiều nhất là 2/10 câu trùng nhau giữa hai lần thực thi, đa số sự sự trùng lặp này nằm ở phía các câu hỏi thuộc loại selectPoint vì chỉ có 13 câu hỏi thuộc loại này đưa vào thử nghiệm.

Dưới đây là kết quả của một lần thực thi truy vấn

Hinh 4.9: Kết quả thực thi truy vấn MSExcelQuestion.xql

Ở đây mới giải quyết cho một yêu cầu cụ thể và thấy việc sử dụng eXist trong quản lý ngân hàng câu hỏi là phù hợp, tuy nhiên sử dụng eXist để thay thế

ngay các hệ quản trị CSDL hiện dùng thì cũng cần phải có thêm thời gian để thử nghiệm và cần thêm nhiều câu hỏi hơn nữa trong quá trình thử nghiệm.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Cơ sở dữ liệu XML trong tổ chức quản lý ngân hàng câu hỏi theo tiêu chuẩn QTI Luận văn ThS Công nghệ thông tin 1 01 10 (Trang 67 - 76)

Tải bản đầy đủ (PDF)

(82 trang)