THUẬT TOÁN GỘP CẢI TIẾN VÀ XINSERT

Một phần của tài liệu Chuyển đổi dữ liệu giữa XML và cơ sở dữ liệu quan hệ (Trang 89)

Mục đích của chương trình ứng dụng là minh hoạ một số thuật toán chuyển đổi dữ liệu từ XML sang RDB. Đồng thời, chương trình ứng dụng có thể đáp ứng được các yêu cầu như ánh xạ mô hình, ánh xạ dữ liệu và ánh xạ kết quả. Trọng tâm của chương trình không dừng lại ở sự chuyển đổi các phần tử, thuộc tính XML đơn giản, chương trình còn áp dụng các thuật toán đã trình bày để chuyển đổi cả những toán tử được đặc tả trong DTD và cấu trúc phức tạp của các phần tử, thuộc tính và toán tử được biểu diễn trong XML.

Hầu hết các thuật toán chuyển đổi dữ liệu từ XML sang CSDL quan hệ đã được trình bày đều xử lý trên dữ liệu đầu vào là các định nghĩa DTD có dạng “*.dtd”. Giả sử dữ liệu đầu vào của các thuật toán có hai tập tin riêng biệt gồm tập tin DTD định nghĩa cấu trúc của tài liệu XML và tập tin XML lưu trữ dữ liệu tương ứng với cấu trúc của tập tin DTD định nghĩa. Các tập tin này được lưu trữ cùng thư mục với ứng dụng.

Nơi lưu trữ CSDL quan hệ thông thường là các hệ quản trị CSDL như Access, SQL server, Oracle, ….

Chương trình ứng dụng xuất kết quả truy vấn dữ liệu từ CSDL quan hệ dưới dạng file XML.

Chương trình ứng dụng bao gồm hai modul chính được thực hiện tuần tự.

- Modul ánh xạ mô hình: Ứng dụng thuật toán gộp cải tiến để sinh lược đồ quan hệ.

- Modul ánh xạ dữ liệu: Chuyển dữ liệu XML vào CSDL quan hệ được thực hiện bởi thuật toán XInsert.

a. Modul ánh xạ mô hình

b. Modul ánh xạ dữ liệu Begin

End

Đơn giản hoá DTD KhoaHoc Phân tích DTD Xây dựng đồ thị DTD G Thuật toán Inline(G) Sinh lƣợc đồ quan hệ

3.1.2 Chƣơng trình DEMO

Trước khi chạy chương trình ứng dụng , file DTD phải được tạo ra theo đúng tiêu chuẩn của XML và được lưu trữ vào cùng thư mục của ứng dụng. Sau đó, người dùng nhập vào tên file DTD theo dạng “*.dtd”. Chương trình ứng dụng có thể hiển thị nội dung của file DTD đó nếu nó tìm thấy. Kết quả như hình sau:

Begin

End

Đọc file XML Xây dựng cây

DOM Thuật toán XInsert Các bảng dữ liệu quan hệ Lƣợc đồ quan hệ

Chương trình ứng dụng tiến hành đọc file DTD, đơn giản hoá DTD, phân tích thành các phần tử , thuộc tính, toán tử, …. để xây dựng đồ thị DTD. Dựa trên đồ thị này, thuật toán gộp cải tiến sẽ sinh lược đồ quan hệ.

Khi người dùng yêu cầu chuyển đổi dữ liệu từ XML sang cơ sở dữ liệu quan hệ thì chương trình ứng dụng yêu cầu nhập tên file XML. Tương tự như file DTD, file XML cũng phải được tạo ra từ trước và lưu vào cùng thư mục với chương trình ứng dụng. Đặc biệt là nội dung file XML phải đúng cú pháp XML và phải là file tương ứng với file DTD vừa mới sinh lược đồ. Trước khi ánh xạ dữ liệu, ta có thể kiểm tra lại nội dung file XML như hình sau:

Sau khi yêu cầu ánh xạ dữ liệu sang cơ sở dữ liệu quan hệ, chương trình ứng dụng sẽ thông báo kết quả ánh xạ. Sau khi ánh xạ thành công, ta có thể truy vấn nội dung của các bảng dữ liệu đã được tạo ra trong hệ quản trị cơ sở dữ liệu SQL server. Kết quả truy vấn sẽ kết xuất dữ liệu chứa trong các bảng dưới dạng file XML như minh hoạ ở hình sau:

3.1.3 KẾT LUẬN

Phần chương trình ứng dụng đã đáp ứng được mục đích chuyển đổi dữ liệu từ XML sang CSDL quan hệ. Chương trình ứng dụng có thể giải quyết được các đặc tả phức tạp của DTD như thuật toán gộp cải tiến đã trình bày, xây dựng tốt đồ thị DTD và đồ thị sau khi gộp các nút, sinh lược đồ quan hệ dựa trên định nghĩa DTD. Chương trình ứng dụng cũng đã biểu diễn được thuật toán XInsert bằng cách xây dựng cây DOM dựa trên file XML và ánh xạ dữ liệu đó sang lược đồ quan hệ. Như vậy, chương trình ứng dụng minh hoạ đã kết hợp hai thuật toán gộp cải tiến và XInsert để hoàn thành quá trình chuyển đổi dữ liệu từ XML sang CSDL quan hệ.

Tuy nhiên, quá trình chuyển đổi của hai thuật toán gộp cải tiến và XInsert chưa ánh xạ đầy đủ các ràng buộc ngữ nghĩa của định nghĩa DTD. Để có thể giải quyết được khá đầy đủ ngữ nghĩa của các toán tử và các ràng buộc của định nghĩa DTD ta có thể áp dụng thuật toán CPI để xây dựng chương trình ứng dụng hoàn chỉnh hơn.

Có nhiều cách để chuyển đổi dữ liệu từ CSDL quan hệ sang XML. Ngoài vấn đề kết xuất dữ liệu truy vấn ra file XML, ta có thể tìm thấy rất nhiều phần mềm khác hỗ trợ quá trình chuyển đổi này trong đó có phần mềm DB2XML. DB2XML có thể biểu diễn cả thuật toán FT, Net và có thể chuyển đổi một số ràng buộc ngữ nghĩa của CSDL quan hệ sang XML.

PHẦN KẾT LUẬN

Luận văn nghiên cứu sự chuyển đổi dữ liệu giữa tài liệu XML và CSDL quan hệ theo hướng tiếp cận cấu trúc và một số ràng buộc ngữ nghĩa. Phần trọng tâm của luận văn tập trung nghiên cứu các vấn đề sau:

1. Chuyển đổi dữ liệu từ XML sang CSDL quan hệ

 Thuật toán gộp cơ sở là thuật toán đơn giản nhất dùng để ánh xạ mô hình dữ liệu. Thuật toán này đưa ra hướng giải quyết vấn đề đệ qui và phân mảnh nhưng lại tạo ra quá nhiều quan hệ.

 Thuật toán gộp chia sẻ thực hiện gộp tốt hơn thuật toán gộp cơ sở nên số lượng các quan hệ được sinh ra giảm đáng kể.

 Thuật toán gộp cải tiến là thuật toán được phát triển từ hai thuật toán gộp cơ sở và gộp chia sẻ. Ưu điểm của gộp cải tiến là đơn giản hoá DTD, xử lý hiệu quả các chu trình, sinh lược đồ ngắn gọn và đầy đủ, giảm dư thừa dữ liệu ….

 Thuật toán XInsert là một thuật toán ánh xạ dữ liệu dựa trên mô hình DOM. Đây là một thuật toán được đánh giá rất cao về tính chặt chẽ. Độ phức tạp của thuật toán XInsert là O(n).

 Thuật toán CPI là một thuật toán ánh xạ mô hình . Trọng tâm của thuật toán là tìm ra những ràng buộc về mặt ngữ nghĩa theo đặc tả XML để ánh xạ sang các ràng buộc trên lược đồ quan hệ. Đây là một thuật toán khá phức tạp và được xem là một trong những vấn đề quan trọng trong quá trình chuyển đổi.

2. Chuyển đổi dữ liệu từ CSDL quan hệ sang XML

 Thuật toán FT chuyển mô hình quan hệ phẳng sang mô hình XML phẳng theo ánh xạ 1-1.

 Thuật toán NeT sử dụng toán tử lồng để đưa ra mô hình nội dung tốt nhất có thể chứa toán tử “*” và toán tử “+”.

 Thuật toán CoT ánh xạ các lược đồ quan hệ có nhiều bảng kết nối với nhau và ánh xạ một số ràng buộc ngữ nghĩa sang lược đồ XML. Thuật toán này thực hiện chuyển đổi tương ứng ngược với thuật toán CPI.

3. Phần chƣơng trình ứng dụng

Luận văn đã minh họa được một số thuật toán chuyển đổi từ XML sang CSDL quan hệ và xử lý được các trường hợp có phần tử, thuộc tính, toán tử kết hợp phức tạp về mặt cấu trúc. Cụ thể là chương trình minh hoạ đầy đủ các bước của thuật toán gộp cải tiến và ánh xạ thành công dữ liệu theo thuật toán XInsert.

Do thời gian có hạn nên luận văn chỉ tập trung giải quyết vấn đề chuyển đổi ở mức lược đồ và mức dữ liệu. Luận văn đã trình bày chi tiết từ các thuật toán đơn giản đến thuật toán phức tạp và có sự đánh giá, so sánh giữa các thuật toán. Tuy nhiên, ngoài các thuật toán giới thiệu ở đây vẫn còn một số thuật toán chưa được xem xét như các thuật toán về vấn đề ràng buộc thường gặp như phụ thuộc hàm, phụ thuộc đa trị [13], ràng buộc toàn ven cho XML [14].

Hƣớng phát triển của luận văn

 Cài đặt các thuật toán đã giới thiệu thành một ứng dụng hoàn chỉnh có thể chuyển đổi tốt cho nhiều cấu trúc XML phức tạp khác nhau.

 Tiếp tục nghiên cứu sâu vấn đề chuyển đổi bảo toàn các ràng buộc ngữ nghĩa.

 Khai thác sức mạnh của XML và nghiên cứu CSDL XML: Tích hợp lược đồ CSDL XML và xử lý truy vấn trên dữ liệu tích hợp đó.

PHỤ LỤC

TÀI LIỆU THAM KHẢO

73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110

Một phần của tài liệu Chuyển đổi dữ liệu giữa XML và cơ sở dữ liệu quan hệ (Trang 89)

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

(100 trang)