Chuyển đổi sở liệu quan hệ XML Nguyễn Thị Lan Trường Đại học Khoa học Tự nhiên Khoa Toán – Cơ - Tin Luận văn Thạc sĩ ngành: Bảo đảm toán cho máy tính hệ thống tính toán Mã số: 60 46 35 Người hướng dẫn: PGS.TS Đỗ Trung Tuấn Năm bảo vệ: 2011 Abstract Chương 1: Tổng quan XML sở liệu quan hệ Chương 2: Chuyển đổi sở liệu quan hệ XML Chương 3: Chương trình thử nghiệm: trình bày việc cài đặt thuật toán ngôn ngữ lập trình C# môi trường ASP.NET; Xây dựng chương trình ứng dụng demo việc “Quản lý học viên” Trung tâm tin học ngoại ngữ Trường Cao đẳng Công nghiệp Nam Định; Cài đặt thuật toán để chuyển đổi tích hợp XML với CSDL hệ thống thông tin “Quản lý học viên” Trung tâm tin học ngoại ngữ Trường Cao đẳng Công nghiệp Nam Định Keywords Cơ sở liệu quan hệ; Ngôn ngữ định dạng; Hệ thống thông tin; Toán tin Content LỜI MỞ ĐẦU Ngày công nghệ thông tin ứng dụng rộng rãi lĩnh vực kinh tế, trị, xã hội, y tế giáo dục, … đóng vai trò quan trọng trình chuyển dịch kinh tế, xã hội, làm thay đổi đáng kể lối sống, phong cách làm việc nhận thức công việc Với phát triển vượt bậc lĩnh vực công nghệ mạng cho đời nhiều dịch vụ từ xa, đặc biệt đời dịch vụ “application as a service” Các giao dịch, tương tác, giao tiếp với thông qua môi trường Internet Điều biến công nghệ thông tin trở thành công cụ thiếu phát triển lĩnh vực, ngành nghề Cùng với phát triển có hàng loạt ngôn ngữ giao thức giao tiếp, thiết kế trang web đời để phục vụ cho mục đích, dịch vụ định Có thể kể đến nhiều ngôn ngữ phát triển phổ biến HTML, DHTML, Java, PHP, ASP, … loại ngôn ngữ có ưu nhược điểm riêng [4] Với ngôn ngữ XML [8] phát triển năm gần phổ biến rộng rãi ngôn ngữ lập trình, chẳng hạn ngôn ngữ NET, Java, Một số đặc trưng ngôn ngữ XML là: - XML dùng để lưu trữ liệu từ tập tin sở liệu - XML trao đổi liệu dễ dàng hệ thống không tương thích với XML dùng để chia sẻ liệu dễ dàng ứng dụng, dễ dàng mở rộng nâng cấp sang hệ thống máy chủ, ứng dụng, trình duyệt khác - XML độc lập với ứng dụng, phần cứng phần mềm làm cho liệu sử dụng hiệu - XML dùng để tạo ngôn ngữ đánh dấu tùy theo mục đích sử dụng chẳng hạn ngôn ngữ đánh dấu cho thiết bị không dây Chính thế, XML ngày trở nên phổ biến, điểm quan trọng XML cho phép dễ dàng xử lý, chuyển tải trao đổi liệu nhiều ứng tài liệu người dùng với định dạng khác Trước thực trạng kiến thức hiểu biết XML, em thấy tính thiết thực vấn đề gợi ý giảng viên hướng dẫn, em chọn đề tài “Chuyển đổi sở liệu quan hệ XML” làm đề tài cho luận văn thạc sỹ Luận văn trình bày gồm ba chương: Chƣơng 1: Tổng quan XML sở liệu quan hệ - Trình bày tổng quan cấu trúc tài liệu XML, tạo tài liệu XML hợp khuôn dạng - Định nghĩa kiểu tài liệu (DTD), lược đồ (Schema), mô hình đối tượng tài liệu (DOM) - Phân tích tài liệu XML theo DOM - Định dạng tài liệu XML dùng bảng định kiểu (CSS) - Các khái niệm sở sở liệu (CSDL) quan hệ Chƣơng 2: Chuyển đổi sở liệu quan hệ XML - Phi chuẩn lược đồ quan hệ - Kết nối lược đồ quan hệ phi chuẩn - Ánh xạ CSDL sang tài liệu XML - Ánh xạ CSDL quan hệ kết nối thành DOM chuyển thành tài liệu XML - Chuyển CSDL quan hệ sang tài liệu XML - Chuyển tài liệu XML sang sở liệu quan hệ - Phương pháp băm nhỏ hay phân tách tài liệu XML thành bảng CSDL - Cài đặt thuật toán o Thuật toán Chuyển đổi sở liệu quan hệ XML o Thuật toán biểu diễn tài liệu XML theo DOM o Thuật toán hiển thị tài liệu XML dạng bảng Chƣơng 3: Chương trình thử nghiệm - Trình bày việc cài đặt thuật toán ngôn ngữ lập trình C# môi trường ASP.NET Xây dựng chương trình ứng dụng demo việc “Quản lý học viên” Trung tâm tin học ngoại ngữ Trường Cao đẳng Công nghiệp Nam Định - Cài đặt thuật toán để chuyển đổi tích hợp XML với CSDL hệ thống thông tin “Quản lý học viên” Trung tâm tin học ngoại ngữ Trường Cao đẳng Công nghiệp Nam Định Kết luận: Tóm tắt nội dung chính, kết đạt hướng nghiên cứu luận văn CHƢƠNG TỔNG QUAN VỀ XML VÀ CƠ SỞ DỮ LIỆU QUAN HỆ 1.1 Khái quát đời phát triển XML XML hệ thống có luật dùng cho việc thiết kế khổ mẫu (format) cho văn giúp tạo cấu trúc cho liệu Trong thực tế XML ngôn ngữ lập trình, XML - giúp máy tính dễ dàng tạo liệu, đọc liệu, trao đổi liệu làm cho cấu trúc liệu trở nên rõ ràng dễ hiểu hơn, XML mở rộng, có tảng hoàn toàn độc lập hỗ trợ tính quốc tế hóa, nội địa hóa XML hỗ trợ hoàn toàn unicode Mục đích XML đơn giản hóa việc chia sẻ liệu hệ thống khác nhau, đặc biệt hệ thống kết nối với Internet Các ngôn ngữ dựa XML (chẳng hạn như: RDF, RSS, MathML, XHTML, SVG, GML cXML) định nghĩa theo cách thông thường, cho phép chương trình sửa đổi kiểm tra hợp lệ ngôn ngữ mà không cần có hiểu biết trước hình thức chúng XML tài liệu văn có cấu trúc, cho phép biểu diễn thông tin đối tượng thực tế, dễ dàng chuyển tải trao đổi liệu nhiều ứng dụng khác 1.2 Tài liệu XML Một tài liệu HTML tồn số thẻ không quy định trình biên dịch bỏ qua thẻ Tuy nhiên với tài liệu XML điều xảy Khi xây dựng tài liệu XML, phải tuân thủ theo số quy luật định Những tài liệu XML tuân thủ quy luật gọi định dạng Với tài liệu định dạng đúng, Internet Explorer thông báo lỗi nạp tài liệu [8] Một tài liệu XML định dạng [11] chưa tài liệu hợp lệ Một tài liệu XML xem hợp lệ đảm bảo quy tắc đặc tả tài liệu DTD hay giản đồ Một DTD hay schema định nghĩa thứ từ cấu trúc liệu tới kiểu liệu, thuộc tính yêu cầu, ràng buộc thành phần thuộc tính kết hợp tài liệu Phương thức kiểm tra tài liệu thường sử dụng giao tiếp ứng dụng – ứng dụng, đảm bảo liệu trao đổi hợp lệ tránh dẫn tới ảnh hưởng liệu không hợp lệ toàn hệ thống Tài liệu XML soạn thảo phần mềm thông thường như: Notepad, EditPlus, hay trình soạn thảo chuyên dụng XML như: XML Notepad, XMLWriter, XML Spy, [8] 1.3 Phân tích tài liệu XML theo DOM Mô hình DOM W3C định nghĩa theo nhiều mức khác nhau, cụ thể mức sau: Mức 0: đặc tả XML không thức áp dụng cho trình duyệt trước Nestcape Navigator 3.0 IE 3.0 Mức 1: Tập trung vào kết hợp tài liệu XML HTML Mức 2: Hỗ trợ không gian tên gọi XML, khung nhìn có lọc kiện DOM Mức 3: Nâng cao khả DOM với việc cho phép nạp, xử lý, lưu lại mô hình cho nội dung tài liệu 1.4 Cơ sở liệu quan hệ Quan hệ: Là bảng hai chiều bao gồm cột dòng (gọi bảng liệu) Thuộc tính liệu: Là tên cột quan hệ ==> Một sở liệu quan hệ tập nhiều quan hệ Cơ sở liệu hiểu theo cách định nghĩa kiểu kĩ thuật tập hợp thông tin có cấu trúc Tuy nhiên, thuật ngữ thường dùng công nghệ thông tin thường hiểu rõ dạng tập hợp liên kết liệu, thường đủ lớn để lưu thiết bị lưu trữ đĩa hay băng Dữ liệu trì dạng tập hợp tập tin hệ điều hành hay lưu trữ hệ quản trị sở liệu Nói khác Cơ sở liệu tập hợp có cấu trúc liệu có liên quan với lưu trữ máy tính Ví dụ: Quan hệ HocVien CSDL quan hệ 1.5 Kết luận chƣơng Chương nêu lên kiến thức cấu trúc tài liệu XML, nhận biết tài liệu XML hợp lệ, hợp khuôn dạng, cách tạo tài liệu XML hợp khuôn dạng, mô hình DOM cách phân tích tài liệu XML theo mô hình DOM trình phân ngữ XML như: kiểu tài liệu DTD, giản đồ XML, không gian tên gọi, bảng định kiểu CSS Ngoài kiến thức XML, chương trình bày kiến thức sở liệu quan hệ, khái niệm, cấu trúc, ràng buộc toàn vẹn, dạng chuẩn hóa CSDL quan hệ CHƢƠNG CHUYỂN ĐỔI GIỮA CƠ SỞ DỮ LIỆU QUAN HỆ VÀ XML 2.1 Ánh xạ CSDL quan hệ thành tài liệu XML Các CSDL kết nối lại ánh xạ vào DOM chính, sau ánh xạ thành tài liệu XML Dựa vào cấu trúc tài liệu XML mối quan hệ tài liệu XML CSDL quan hệ có số ánh xạ từ CSDL quan hệ sang tài liệu XML [1] [19] sau (Hình 2.12): Hình 1: Những ánh xạ từ CSDL quan hệ thành tài liệu XML R_ET: quan hệ R ánh xạ thành kiểu phần tử ET A_ET: thuộc tính quan hệ (A) ánh xạ thành kiểu phần tử (ET) nhờ vào quan hệ thuộc tính đưa quan hệ kiểu phần tử A_A: thuộc tính quan hệ ánh xạ thành thuộc tính XML Sau thực kết nối bảng sở liệu quan hệ thành công Các bảng sở liệu liên kết hình thành ánh xạ thành DOM theo nguyên tắc ánh xạ sau chuyển thành tài liệu XML tương ứng, thể qua sơ đồ sau (Hình 2.14) Hình 2: Sơ đồ chuyển CSDL quan hệ thành tài liệu XML 2.2 Phƣơng pháp ánh xạ tài liệu XML thành CSDL quan hệ Ánh xạ tài liệu XML sang CSDL quan hệ thực thông qua việc ánh xạ trực tiếp phần tử thành thuộc tính dựa số quy tắc ánh xạ [15] sau (Hình 2.18): ET_R: kiểu phần tử (ET) tài liệu XML ánh xạ thành quan hệ R ET_A: kiểu phần tử (ET) tài liệu XML ánh xạ thành thuộc tính A quan hệ A_A: thuộc tính tài liệu XML ánh xạ thành thuộc tính quan hệ Hình 3: Sơ đồ chuyển tài liệu XML thành CSDL quan hệ Hình 4: Những ánh xạ từ tài liệu XML thành CSDL quan hệ 2.3 Thuật toán chuyển đổi sở liệu quan hệ XML Dựa vào phương pháp luận tích hợp hệ thống sở liệu quan hệ XML, thuật toán chuyển đổi hệ thống sở liệu quan hệ XML xây dựng theo mô hình tổng quát sau (Hình 2.23): Hình 5: Mô hình XML dạng bảng dạng Để xây dựng thuật toán chuyển đổi CSDL quan hệ XML ta thực theo bước sau: Bước 1: Biểu diễn tài liệu XML theo mô hình DOM Bước 2: Biểu diễn tài liệu XML theo dạng bảng CSDL quan hệ chuyển thành CSDL quan hệ Bước 3: Chuyển CSDL quan hệ sang tài liệu XML 2.3.1 Biểu diễn tài liệu XML theo mô hình DOM Một tạo từ nhiều nút, nút lại chứa nút khác Nút con, nút dùng để hiển thị văn Lớp XmlDataDocument kế thừa lớp XmlDocument có số phương thức giống lớp XmlDocument Với mô hình DOM, tài liệu XML tổ chức dạng sơ đồ hình có cấu trúc tương tự thư mục Windows Vì mục đích phần biểu diễn tài liệu XML theo mô hình DOM minh họa sau (Hình 2.24): Hình 6: Biểu diễn tài liệu XML theo mô hình DOM Thuật toán: Tài liệu XML đọc thông qua hình thức đọc tập tin liệu xây dựng theo dạng mô hình DOM [15] qua bước sau: Bước 1: Truy cập lấy phần tử gốc tài liệu Bước 2: Lấy danh sách tất phần tử phần tử gốc Bước 3: Mỗi phần tử tìm gán nhãn đặc trưng Bước 4: Tìm phần tử thực theo phương pháp đệ quy Bước 5: Nếu phần tử xét nút số phần tử Bước 6: Xây dựng lưu trữ đường dẫn tương ứng tới phần tử tài liệu XML Bước 7: Lấy tên phần tử giá trị thuộc tính Bước 8: Chuyển đổi thông tin đường dẫn, nội dung phần tử sang dạng chuỗi để in hình dạng tài liệu 2.3.2 Biểu diễn tài liệu XML theo dạng bảng CSDL quan hệ Như trình bày trên, tài liệu XML (theo mô hình DOM) bao gồm nút (node) Những nút nội dung chứa phần tử (element), liệu (text), thuộc tính (attribute),… nút khác Hình sau minh họa việc biểu diễn tài liệu XML theo dạng bảng (Hình 2.25): Hình 2.25: Biểu diễn tài liệu XML theo dạng bảng Để chuyển tài liệu XML dạng sang dạng bảng ta sử dụng thuật toán sau: Thuật toán: Bước 1: Duyệt qua tất nút theo mô hình DOM, nút gốc theo phương pháp đệ quy Bước 2: Xây dựng hàm để kiểm tra xử lý nút tài liệu DOM Đối với nút hành mà có nút hàm đệ quy tìm sâu xuống nút bên hình thành DOM tương ứng cho nút Bước 3: Với mô hình DOM thu được, thực ánh xạ phần tử, thuộc tính với giá trị tương ứng thành quan hệ, thuộc tính giá trị tương ứng bảng CSDL quan hệ