ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
] ^
BÙI THỊ ĐÔNG
CƠ SỞ DỮ LIỆU XML
TRONG TỔ CHỨC QUẢN LÝ
NGÂN HÀNG CÂU HỎI THEO CHUẨN QTI
LUẬN VĂN THẠC SĨ
HÀ NỘI - 2007
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS. NGUYỄN ĐÌNH HÓA
i
MỤC LỤC
MỤC LỤC i
DANH MỤC CÁC TỪ VIẾT TẮT iii
DANH MỤC CÁC HÌNH VẼ iv
MỞ ĐẦU 1
CHƯƠNG 1 SÁT HẠCH TRẮC NGHIỆM BẰNG MÁY TÍNH VÀ CHUẨN
QTI 3
1.1. Sát hạch trắc nghiệm bằng máy tính 3
1.1.1 Sự phát triển của các hệ thống sát hạch 3
1.1.2 Các đặc điểm của trắc nghiệm trực tuyến 5
1.1.3 Sử dụng trắc nghiệm trực tuyến trong các hệ thống e-Learning 6
1.2. Đặc tả QTI 7
1.2.1. Mục đích đưa ra đặc tả QTI 7
1.2.2. Các đối tượng chính trong QTI 8
CHƯƠNG 2 XML VÀ CƠ SỞ DỮ LIỆU XML 10
2.1. XML 10
2.1.1. Giới thiệu 10
2.1.2. Cấu trúc của tài liệu XML 11
2.1.3. Định nghĩa kiểu tài liệu – DTD 13
2.1.4. Tài liệu hướng dữ liệu và tài liệu hướng văn bản 14
2.1.5. Mô hình đối tượng của tài liệu XML (DOM) 15
2.2. Các ngôn ngữ truy vấn XML 18
2.2.1. XPath 18
2.2.2. XQuery 19
4.2. Tự động sinh bài thi trắc nghiệm 59
4.3. Tổ chức và quản lý ngân hàng câu hỏi trong eXist 59
4.4. Xây dựng các XQuery khai thác ngân hàng câu hỏi qua web 61
KẾT LUẬN 70
TÀI LIỆU THAM KHẢO 71
PHỤ LỤC 74 iii
DANH MỤC CÁC TỪ VIẾT TẮT
Stt Từ hoặc cụm từ Từ viết tắt Từ Tiếng Anh
1. Trắc nghiệm trực tuyến iBT internet Based Testing
2. Đào tạo trên Web WBT Web Based Training
3. Đặc tả về tính khả thi tương
tác giữa câu hỏi và bài trắc
nghiệm của tổ chức IMS
Global
IMS QTI IMS Q
uestion & Test
I
nteroperability Specification
4. Ngôn ngữ đánh dấu mở
rộng
XML eXtensible Markup Language
5. Mô hình đối tượng tài liệu DOM Document Object Model
6. Định nghĩa kiểu tài liệu DTD Document Type Definition
7. Giao diện lập trình ứng
dụng đơn giản cho XML
SAX Simple API for XML
Hình 3.3: Tổ chức lưu trữ dữ liệu XML 45
Hình 3.4: Phân tích biểu thức đường dẫn 47
Hình 3.5: Thuật toán Ancestor-Descendant 49
Hình 3.6: Thời gian thực thi truy vấn trung bình theo dung lượng dữ liệu 53
Hình 3.7: Các biểu tượng của eXist 54
Hình 3.8: Cửa sổ eXist Database Startup 54
Hình 3.9: Trang eXist 55
Hình 3.10: Cửa sổ điền thông số kết nối đến CSDL 56
Hình 3.11: Cửa sổ làm việc sau khi kết nối 57
Hình 4.1: Kết quả xác thực số câu hỏi có trong sưu tập MSExcel 61
Hình 4.2: Truy vấn listItem.xql 62
Hình 4.3: Trang web hiển thị kết quả thực thi listItem.xql 62
Hình 4.4: Truy vấn ItemB5_6.xql 63
Hình 4.5: Trang web hiển thị kết quả thực thi ItemB5_6.xql 64
Hình 4.6: Đoạn mã để sinh ra $num số ngẫu nhiên nhỏ hơn $max 65
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” 65
Hình 4.7: Đoạn mã để lấy ra các câu hỏi thuộc dạng selectPoint 65
Hình 4.7: Đoạn mã chọn ra các câu hỏi còn lại 66
Hình 4.8: Mã nguồn của truy vấn MSExcelQuestion.xql 67
Hinh 4.9: Kết quả thực thi truy vấn MSExcelQuestion.xql 68
1
MỞ ĐẦU
Chương 3: eXist – Hệ CSDL XML nguyên bản
Chương này trình bày cách thức tổ chức dữ liệu, đánh chỉ số và thực thi
truy vấn của eXist. Trong chương này cũng giới thiệu một số bước rất cơ bản
để
những người mới làm quen có thể sử dụng eXist. 2
Chương 4: Sử dụng eXist trong quản lý ngân hàng câu hỏi theo chuẩn QTI
Trình bày cách thức tổ chức, quản lý và khai thác ngân hàng câu hỏi tuân
theo chuẩn QTI. Ngoài ra phần này cũng tập chung vào việc thử nghiệm với bộ
câu hỏi cho một môn học cụ thể, tập trung vào việc giải quyết một yêu cầu cụ
thể.
Phần kết luận đưa ra tổng kết các kết quả luận văn đã làm được và một số hướ
ng
nghiên cứu tiếp theo của luận văn. 3
CHƯƠNG 1 SÁT HẠCH TRẮC NGHIỆM BẰNG MÁY TÍNH
VÀ CHUẨN QTI
1.1. Sát hạch trắc nghiệm bằng máy tính
1.1.1 Sự phát triển của các hệ thống sát hạch
Từ những năm 2000 trở lại đây, các tổ chức giáo dục đã và đang triển khai
ứng dụng các công nghệ mới trong dạy và học để tăng chất lượng, hiệu quả trong
giáo dục và đào tạo. Từ việc đưa các bài giảng phổ biến kiến thức lên truyền hình
đến việc sử dụng hạ tầng mạng máy tính để triển khai các khóa học từ cơ bản đế
n
nâng cao trên Internet, chính điều này đã làm tăng kênh tiếp thu kiến thức và kỹ
CSDL ngân hàng câu hỏi và các chức năng quản lý, phân phát bài thi thông qua
mạng Intranet/Internet. Ngân hàng câu hỏi được xem là phần nội dung của hệ
thống, trong đó các câu hỏi được phân loại theo môn học hoặc theo chủ đề, rồi
được tập hợp lại trong CSDL đặt ở máy chủ. Các chức năng quản lý ngoài nhiệm
vụ quản lý toàn bộ các đối tượng tham gia hệ thống nh
ư thí sinh, giáo viên còn
có nhiệm vụ tổ chức những câu hỏi được rút ra từ ngân hàng thành bài thi và
phân phối cho thí sinh thông qua trình duyệt web, đồng thời phân tích các
phương án trả lời và hiển thị kết quả bài thi của thí sinh đó. Trong một số hệ
thống sát hạch trực tuyến, các thành phần của hệ thống có thể được sử dụng như
những phân hệ độc lập như phân hệ tạo câu hỏi (Authoring Tool), phân hệ quản
lý ngân hàng câu hỏi (Item Bank System), phân hệ tổ chức và phân phối bài sát
hạch (Delivery System). Các phân hệ này có thể hoạt động độc lập, đặc biệt là
phân hệ tạo câu hỏi (do cần huy động nhiều tài nguyên trên máy tính đơn nên
thường được cài đặt vào máy tính đơn thay vì hoạt động trên nền web) hoặc có
thể kết nối với nhau thành một hệ thống nhất khi tổ chức kỳ thi [17].
Việc tổ chức và phân phối bài trắc nghiêm đến thí sinh được thự
c hiện theo nhiều
phương thức, trong đó, có thể kể đến hai phương thức phổ biến là:
(1) dùng phần mềm thi trắc nghiệm cài đặt sẵn trên máy tính cá nhân (Computer
Based Testing - CBT);
(2) dùng phần mềm thi trắc nghiệm trực tuyến (Online Testing hay Internet
Based Testing - iBT).
Trắc nghiệm trực tuyến là một phương thức triển khai thi trắc nghiệm được ra
đời cùng với sự phát triển của công nghệ Web và ngày càng được quan tâm và
ứng dụng rộng rãi. Trắc nghiệm tr
ực tuyến được hiểu như sau:
Trắc nghiệm trực tuyến (Online Testing) là hình thức thi trắc nghiệm áp dụng
cho loại trắc nghiệm khách quan, trong đó các công đoạn tổ chức bài thi, thi,
chấm thi, đánh giá và tổng hợp kết quả đều có thể được thực hiện thông qua trình
Khi tham gia những kỳ thi tổ chức theo hình thức thi trắc nghiệm trực tuyến thí
sinh có thể thực hiện bài thi ở ngay hội đồng thi
được uỷ quyền tại địa phương,
do đó, giúp giảm chi phí đi lại cho thí sinh.
Giáo viên dễ dàng xây dựng và cập nhật ngân hàng câu hỏi. Hệ thống
thi trắc nghiệm trực tuyến giúp cho giáo viên dễ dàng hơn trong việc xây dựng
ngân hàng câu hỏi nhờ việc phân chia thành các dạng câu hỏi. Giáo viên cũng có
thể dễ dàng cập nhật các câu hỏi từ bất kỳ máy tính nào có kết nối với hệ thống
trắc nghiệm. H
ệ thống thi trắc nghiệm trực tuyến cho phép các giáo viên trong
cùng bộ môn dễ dàng sử dụng chung các câu hỏi trong ngân hàng. Ngân hàng
câu hỏi dùng chung có ý nghĩa là mối liên kết thực hiện giao lưu chia sẻ kinh
nghiệm và học tập giữa các giáo viên trong việc đánh giá. Nhờ thực hiện chung
trên mạng, các câu hỏi có thể được sử dụng chung, tiết kiệm công sức, không lặp 6
lại những câu hỏi đã có, từ đó có thể phát triển nhiều câu hỏi đa dạng và phong
phú hơn. Do đó, nếu sử dụng thi trắc nghiệm trực tuyến trong việc đánh giá kết
quả của một môn học, một chương trình học trong trường đại học cũng rất thuận
lợi.
Có thể gặp các sự cố trên đường truyền. Trắc nghiệm trực tuyế
n sử dụng
hạ tầng mạng máy tính để truyền tải bài thi từ máy chủ tới máy tính của thí sinh,
do đó, có thể gặp một số sự cố như: thí sinh đang làm bài thi thì mất điện, tính an
toàn và bảo mật cho các câu hỏi không cao khi truyền tải trên đường truyền… Do
vậy, mỗi hệ thống trắc nghiệm trực tuyến cần có những biện pháp khắc phục
nhược điểm này
1.1.3 Sử dụng trắc nghiệm trực tuyến trong các hệ thống e-Learning
Đối tượng tham gia các khóa học e-Learning đặc biệt là hình thức đào tạo
tuy nhiên khi triển khai ở diện rộng và việc chuyên nghiệp hóa từng chức năng
thì từng phân hệ nên được xây dựng một cách độc lập và dữ liệu ra của phân hệ
này có thể dùng làm dữ liệu vào của phân hệ kia. Với hệ thống quản lý ngân hàng
câu hỏi thì có thể sử dụng dữ liệu ra của phân hệ soạn thảo câu hỏi để làm dữ liệu
vào của mình, mặt khác thì dữ liệu ra của phân h
ệ này được dùng làm dữ liệu vào
cho phân hệ phân phát bài thi.
1.2. Đặc tả QTI
Đặc tả IMS Question & Test Interoperability (QTI) [2,17] mô tả cấu trúc
cơ bản để biểu diễn dữ liệu câu hỏi (item), bài thi (assessment) và các báo cáo kết
quả tương ứng. Bởi vậy, đặc tả cho phép trao đổi dữ liệu của câu hỏi, bài thi và
kết quả giữa các hệ quản trị học LMS, cũng như giữa các người tạo ra nội dung,
các thư viện nội dung và tuyển tập các nội dung. Đặc tả IMS QTI được mô tả
bằng ngôn ngữ XML. XML là một ngôn ngữ đánh dấu mềm dẻo và thường được
sử dụng để mã hóa các mô hình dữ liệu cho các ứng dụng trên Internet và ứng
dụng phân tán. Đặc tả IMS QTI có thể mở rộng và tuỳ biến để các hệ thống
chuyên dụng hay cá nhân đều có thể áp dụng.
1.2.1. Mục đích đưa ra đặc tả QTI
Nhóm làm việc IMS QTI đặc biệt liên quan tới các nhà sản xuất nội dung (ví
dụ như các nhà tạo câu hỏi và xây dựng bài thi), các nhà kinh doanh bán ra các
hệ thống và công cụ học ảo, các người dùng câu hỏi/bài thi (ví dụ như người học,
giáo viên, người đào tạo…). Thị trường đích bao gồm giáo dục tiểu học, trung
học, đại học, đào tạo về thương mại và quân sự. Các đặc tả IMS QTI dự định
hướng t
ới các yêu cầu quốc tế, tập trung vào các tính năng sau:
- Khả năng cung cấp các ngân hàng câu hỏi tới người dùng mà không quan
tâm tới môi trường học ảo của người dùng đó.
- Khả năng sử dụng nhiều nguồn ngân hàng câu hỏi trong một môi trường
học ảo.
- Hỗ trợ cho các công cụ để phát triển các ngân hàng câu hỏi mới một cách
điểm của tất cả các item trong nó thành điểm của bài trắc nghiệm.
- Section: Một section được sử dụng để xây dựng các đối tượng đánh giá
theo thứ bậc. Một section cũng có thể chứa một hoặc nhiều section khác.
Một section có thể xem như một chủ đề trong một môn học cần được
lượng giá trong bài trắc nghiệm.
Ngoài 3 đối tượng cơ bản nêu trên, còn có một số đối tượng khác thường
xuyên có mặt trong tài liệu tuân thủ QTI, đáng chú ý là: object-bank và
assessment-bank. 9
- Object-bank: đây là một tập các item và section. Một object-bank có một
định danh duy nhất và nhờ có meta-data mà nội dung của nó có thể được
tìm thấy bởi các hệ thống. Một object-bank được sử dụng để chứa cơ sở
dữ liệu về đánh giá các đối tượng được sử dụng trong các bài trắc nghiệm
(assessment). Các Object-bank được chuyển đổi sử dụng nhờ đóng gói
thành gói chuẩn (QTI package). Một QTI package là một file ZIP trong đó
gồ
m một file chứa XML meta-data (imsmanifest.xml), file XML mô tả
các đối tượng dữ liệu (item, section) – các đối tượng dữ liệu này được
chứa trong cặp thẻ <questestinterop> </questestinterop> và cuối cùng là
các tài nguyên khác như hình ảnh, âm thanh. Các object-bank sử dụng
trong trường hợp cần tổng hợp bài thi từ các thành phần đơn lẻ là các item
và các section.
Phân hệ tổ chức và phân phối bài sát hạch cần tổng hợp các item, section
thành các bài thi trước khi phân phối đến thi sinh.
- Assessment-bank: là một tập các bài trắc nghiệm (assessment) mà trong
các bài trắ
c nghiệm này đều có chứa các item, section. Một assessment-
Việc sử dụng Internet trong thương mại điện tử đang phát triển theo số
mũ trong những năm gần đây. Như vậy các tổ chức trong các doanh nghiệp chấp
nhận XML như là một giao thức độc lập với phần mềm nền để trao đổi thông tin
doanh nghiệp giữa các ứng dụng khác nhau. XML nổi bật như là một nguyên lý
chuẩn để th
ể hiện dữ liệu, trao đổi dữ liệu điện tử bằng việc cung cấp một cú
pháp đơn giản cho dữ liệu. Dữ liệu biểu diễn bằng XML thì cả máy và con người
đều hiểu và đọc được. Với sự phát triển của việc phân phối dữ liệu XML, một mô
hình dữ liệu hiệu quả và việc quản lý CSDL mềm dẻo là cần thiết để quả
n lý dữ
liệu như vậy trong một tổ chức.
Các yêu cầu này được xem như một nhân tố thúc đẩy cộng đồng nghiên
cứu CSDL giới thiệu một số loại mô hình quản lý dữ liệu khác trước. Hầu hết các
giải pháp sử dụng các CSDL truyền thống như CSDL phân cấp, hướng đối tượng
và quan hệ như mô hình nền tảng để lưu dữ liệu XML sử dụng khả
năng của bản
thân CSDL đó hoặc có thể sử dụng sự trợ giúp của phần mềm trung gian thứ 3.
Một giải pháp khác bắt nguồn từ việc thiết kế các hệ thống quản trị dữ liệu mới
xử lý cho riêng dữ liệu XML. Khác với cách tiếp cận truyền thống, các hệ thống 11
này đặc biệt được tùy biến theo các đặc tính riêng biệt và các ràng buộc của
XML. Cấu trúc lưu trữ nền tảng của các hệ thống như thế này có thể khác nhau
nhưng chúng đều bảo đảm các yêu cầu đưa ra.
" Ưu điểm khi sử dụng XML
Trong quá trình hoàn thiện và phát triển, XML đã đối mặt với nhiều thử
thách để thuyết phục các nhà lập trình rằng XML là sự lựa chọn hàng đầu vì tính
dễ hiểu, dễ đọc và dễ thực hiện. Dưới đây là một số lợi ích mà XML mang lại:
Các phần tử bên trong một phần tử đặc tính của XML nghĩa là tính đệ quy
và khả năng các tài liệu XML được thể hiện bởi các cây. Các tài liệu XML được
thể hiện dưới dạng các cây có gán nhãn, không thứ tự và có gốc. Trong đó từng
nút tương xứng với từng phần tử, và từng cạnh gán nhãn với phần tử đuôi thể
hiện một mối quan hệ cha con. Thêm vào đó, cây có một nút đặc biệt
được gọi là
gốc.
Hình 2.1: Một tài liệu XML “books.xml”
bookstore
book
@category
title author year
@lang
COOKING
en
Everyday
Italian
Giada De
Laurentiis
2005 30.00
price
book
@category
title author year
@lang
CHILDREN
en
Harry Potter
J K.
một lần trong thẻ mở. Tuy nhiên một tài liệu XML hợp khuôn dạng thì không có
nghĩa là hợp lệ. Để kiể
m tra tính hợp lệ của một tài liệu XML thì chúng ta phải
dựa vào DTD hoặc Schema (giản đồ) đi kèm với nó.
2.1.3. Định nghĩa kiểu tài liệu – DTD
DTD và Schema là hai cách để quy định những luật về nội dung của một
tài liệu XML. Chúng là các phần cơ bản của thế giới XML và định nghĩa sức
mạnh cốt lõi của XML đối với các nhà phát triển ứng dụng.
Cấu trúc của một tài liệu XML được định nghĩa riêng biệt hoặc nó gắn
liền với một định nghĩa kiểu – DTD hay xu thế hiện tại thì nó còn được gắn liền
với một giản đồ XML. Một DTD định nghĩa các khối xây dựng nên một tài liệu
XML hợp lệ, điển hình là sự miêu tả từng phần tử được cho phép trong tài liệu. 14
Cụ thể, DTD miêu tả các thuộc tính của từng phần tử và giá trị của các
thuộc tính; DTD cũng có thể miêu tả cây phân cấp các phần tử trong tài liệu.
Hình 2.3: Một tài liệu DTD đơn giản “book.dtd” cho “books.xml”
Tuy DTD hỗ trợ các đặc tính để định nghĩa kiểu tài liệu XML như thế
nhưng nó vẫn còn một số nhược điểm. Nhược điểm đầu tiên đó là tài liệu DTD
không sử dụng định dạng XML, do đó người dùng cần phải hiểu thêm về một
định dạng mới, và cũng vì lý do này mà làm cho người dùng mới khó viêt và khó
hiểu. Nhược điể
m thứ 2 là kiểu dữ liệu có sẵn cho một thuộc tính hoặc một phần
tử bị giới hạn. Cuối cùng, DTD không có khả năng mở rộng và không hỗ trợ
namespace.
2.1.4. Tài liệu hướng dữ liệu và tài liệu hướng văn bản
Các tài liệu XML thuộc một trong hai loại sau: data-centric (hướng dữ
liệu) và document-centric (hướng văn bản).
của chúng ta là dữ liệu nửa cấu trúc, như các trang vàng trong sổ điện thoại hoặc
dữ liệu sức khỏe, chúng ta có 2 lựa chọn. Chúng ta có thể c
ố gắng làm cho dữ
liệu của chúng ta phù hợp với một CSDL có cấu trúc như một CSDL quan hệ
hoặc chúng ta có thể lưu nó trong NXD (NXD này được thiết kế cho dữ liệu nửa
cấu trúc).
Để lưu và lấy các tài liệu hướng văn bản, chúng ta sẽ cần một NXD hoặc
CMS. Một số CSDL hỗ trợ XML cũng cung cấp việc lưu trữ nguyên bản. Chúng
được thiết kết để lưu các phân đ
oạn nội dung như các thủ tục, các chương, từng
từ điển và có thể bao gồm cả các tài liệu metadata như các tên tác giả, ngày sửa,
số tài liệu. Các hệ quản trị nội dung thường có các chức năng thêm vào như
người hiệu chỉnh, … Mặc dù các CMS thường sử dụng một NXD để lưu và NXD
trong trường hợp này bị ẩn so với người dùng.
2.1.5. Mô hình đối tượng của tài liệu XML (DOM)
" DOM là gì
W3C DOM là một định nghĩa trung lập với phần mềm nền và ngôn ngữ.
DOM định nghĩa các giao diện cho các đối tượng khác nhau mà không cung cấp
chi tiết của việc thực thi nó, và nó có thể được thực hiện bằng bất kỳ ngôn ngữ
nào. DOM cho phép các nhà phát triển đọc, tìm kiếm, sửa đổi, thêm và xóa đối
với một tài liệu XML. DOM đưa ra một tính năng chuẩn để định vị tài liệu và
điều khiển cấu trúc và n
ội dung của các tài liệu XML và HTML.
Trong DOM các tài liệu XML được thể hiện giống như các đối tượng
trong cấu trúc cây. DOM định nghĩa các giao diện cho từng thành phần trong một
tài liệu XML (các phần tử, khối dữ liệu, thuộc tính …) và các phương thức đặc
biệt để duyệt cấu trúc và điều khiển tài liệu. 16
cận chung đó.
DOM thường được bổ sung dưới dạng một tầng giữa trình phân ngữ XML
và ứng dụng, cần thông tin trong tài liệu, nghĩa là trình phân ngữ đọc dữ liệu ứng
dụng từ tài liệu XML rồi nạp d
ữ liệu vào một DOM. Sau đó DOM được dùng bởi
một ứng dụng cao cấp hơn. Ứng dụng đó có thể thực hiện những gì mà nó muốn
với thông tin này, kể cả việc đặt nó vào một mô hình đơn lẻ khác.
Do đó, để viết một ứng dụng sẽ truy cập một tài liệu XML thông qua DOM, ta
cần có một trình phân ngữ XML và một thực thi DOM cài đặt trên máy. 17
" Các thực thi DOM
DOM không chỉ đơn thuần là một API để làm việc với các dữ liệu XML, nó
còn được dùng để làm việc với các trang HTML các trang CSS, và nhiều dữ liệu
đa dạng khác. Thực tế, có thể chuyên hoá các thực thi DOM để chỉ làm việc với
các tài liệu XML, hoặc có thể xây dựng chúng để làm việc với một số kiểu dữ
liệu khác.
Dynamic HTML trở nên hữu dụng, bởi các nội dung của các tư liệu HTML
được phổ bi
ến thông qua mô hình đối tượng. Khi một trang Web được nạp vào
trình duyệt Web theo DHTML, các đối tượng được tạo cho mỗi và mọi thành
phần trên trang. Điều này cho phép người viết trên trang Web chèn ký mã script
trên trang, để gọi các phương pháp và các tính chất trên đối tượng đó.
" Các giao diện mở rộng trong DOM
Giao diện cơ bản nhất mà ta sẽ gặp với DOM sẽ là giao diện nút. Giao diện
này biểu thị một nút đơn lẻ trong cây tài liệu. Do hầu hết các đối tượng trong
DOM đều là nút, nên hầu hết các giao diện đều là mở rộng của giao diện nút.
Điều này có nghĩa là các đối tượng thực thi các giao diện này sẽ có tất cả các tính
vấn định vị dữ liệu nửa cấu trúc qua các biểu thức đường dẫn và có thể được tăng
tốc truy vấn bằng việc sử dụng chỉ số. Đặc biệt đối với các CSDL XML chứa
nhiều tài liệu thì các chỉ số sẽ tạo điều kiện thuận l
ợi cho việc truy vấn.
2.2.1. XPath
XPath mô hình hóa một tài liệu XML như một cây gồm các nút: các nút phần
tử, các nút thuộc tính và các nút văn bản (nội dung). Cú pháp nguyên thủy xây
dựng trong Xpath là biểu thức. Một biểu thức khi thực thi sẽ tạo ra một đối
tượng, một tập hợp nút (một tập hợp không có thứ tự các nút không có sự trùng
lặp), một giá trị Boolean (true hoặc false), một số hoặc một xâu (một xâu ký tự).
Ví dụ, “bookstore//title” là để tìm tất cả các title
được chứa trong từng bookstore.
Trong Xpath thì dấu “//” thể hiện mối quan hệ “tổ tiên – con cháu” (“ancestor-
descendant”), dấu “/” thể hiện mối quan hệ “cha-con” (“parent-child”). Ví dụ
thực thi truy vấn “bookstore//title”, nếu một phương án duyệt cây đơn giản thì có
thể dẫn đến việc quét toàn bộ cây dữ liệu XML mặc dù kết quả trả về có thể là rất
ít. Phương án khác là: đầu tiên lấy ra các phần tử title và bookstore, sau đó tìm
các mối quan hệ ancestor-descendant giữa các tập phầ
n tử vừa lấy ra. Cách này
được xem như là thao tác nối cấu trúc.
Để xử lý một tài liệu XML chương trình ứng dụng phải có cách di chuyển bên
trong tài liệu để lấy ra giá trị của các phần tử hay các thuộc tính. Do đó ngôn ngữ
XML Path hay Xpath đã ra đời. Xpath đóng vai trò quan trọng trong việc truy
vấn dữ liệu trong các chương trình ứng dụng, vì nó cho phép ta lựa chọn hay
sàng lọc ra những phần tử nào mình muốn để phục vụ cho nhu cầu trao
đổi dữ
liệu hay hiển thị dữ liệu.
Khi làm việc với CSDL quan hệ thì ta dùng các câu lệnh SQL như “SELECT
… FROM … WHERE …” để trích ra một số thông tin từ một bảng. Khi làm việc
ký tự “[“ và “]”, được áp dụng cho các nút phần tử đã chỉ ra ở bước định vị. Biểu
thức chính quy có thể đưa vào các ràng buộc trên nội dung văn bản hoặc các
thuộc tính của các nút phần t
ử đã chỉ ra. Thêm vào đó, các biểu thức chính quy
cũng có thể bao gồm cả các biểu thức đường dẫn khác được gọi là các biểu thức
đường dẫn lồng nhau.