Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
249,34 KB
Nội dung
ĐẠI HỌC QUÔC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ TRẦN PHƢƠNG NHUNG CHUYỂN ĐỔI DỮ LIỆU GIỮA XML VÀ CƠ SỞ DỮ LIỆU QUAN HỆ GVHD : PGS.TS ĐOÀN VĂN BAN HÀ NỘI, 20 DANH MỤC TỪ VIẾT TẮT MỘT SỐ THUẬT NGỮ Mở đầu Chƣơng I: KHÁI NIỆM XML VÀ MÔ HÌNH DỮ LIỆU QUAN HỆ 1.1 TÀI LIỆU XML 1.1.1 Giới thiệu XML ngôn ngữ định dạng 1.1.2 Trình soạn thảo XML (XML Editors) trình duyệt XML 12 1.1.3 Bộ phân tích XML Bộ kiểm tra XML (XML Validator) 13 1.1.4 CSS XSL 13 1.1.5 Xây dựng tài liệu XML hợp khuôn dạng Error! Bookmark not defined 1.1.6 Định nghĩa kiểu tài liệu (DTD) Error! Bookmark not defined 1.1.7 Giới thiệu Xpath Error! Bookmark not defined 1.1.8 Mô hình đối tượng liệu DOM Error! Bookmark not defined 1.1.9 XML sở liệu Error! Bookmark not defined 1.2 MÔ HÌNH DỮ LIỆU QUAN HỆ Error! Bookmark not defined 1.2.1 Các khái niệm [3][4][5] Error! Bookmark not defined 1.2.2 Các phép toán quan hệ [4][5] Error! Bookmark not defined 1.3 KẾT LUẬN Error! Bookmark not defined Chƣơng II:THUẬT TOÁN CHUYỂN ĐỔI DỮ LIỆU GIỮA TÀI LIỆU XML VÀ CSDL QUAN HỆ Error! Bookmark not defined 2.1 CHUYỂN ĐỔI XML SANG CSDL QUAN HỆ Error! Bookmark not defined 2.1.1 Đơn giản hoá đặc tả DTD Error! Bookmark not defined 2.1.2 Cơ sở thuật toán chuyển đổi lược đồ XML sang lược đồ CSDL quan hệ Error! Bookmark not defined 2.1.3 Thuật toán gộp sở (Basis Inlining) Error! Bookmark not defined 2.1.4 Thuật toán gộp chia sẻ (Shared Inlining) Error! Bookmark not defined 2.1.5 Thuật toán gộp cải tiến Error! Bookmark not defined 2.1.5.1 Đơn giản hoá DTD Error! Bookmark not defined 2.1.5.2 Tạo lập giản lược đồ thị DTD Error! Bookmark not defined 2.1.5.3 Sinh lược đồ quan hệ Error! Bookmark not defined 2.1.6 Thuật toán Xinsert-Ánh xạ dựa hướng tiếo cận DOM Error! Bookmark not defined 2.1.7 Thuật toán CPI (Constraint-Preserving Inlining)Error! Bookmark not defined 2.1.7.1 Ánh xạ DTD sang lược đồ quan hệ Error! Bookmark not defined 2.1.7.2 Các ràng buộc ngữ nghĩa DTD Error! Bookmark not defined 2.1.7.3 Phát bảo toàn ràng buộc ngữ nghĩa Error! Bookmark not defined 2.2 CHUYỂN ĐỔI CSDL QUAN HỆ SANG XMLError! Bookmark not defined 2.2.1 Chuyển đổi phẳng (Flat Translation) Error! Bookmark not defined 2.2.2 Chuyển đổi lồng(Nesting base Traslation) Error! Bookmark not defined 2.2.3 Thuật toán CoT (Chuyển đổi sử dụng phụ thuộc bao hàm) Error! Bookmark not defined 2.2.3.1 Một khoá ngoại hai bảng Error! Bookmark not defined 2.2.3.2 Hai khoá ngoại ba bảng Error! Bookmark not defined 2.2.3.3 Lược đồ quan hệ tổng quát Error! Bookmark not defined Chƣơng III: CHƢƠNG TRÌNH ỨNG DỤNG Error! Bookmark not defined 3.1 THUẬT TOÁN GỘP CẢI TIẾN VÀ XINSERT Error! Bookmark not defined 3.1.1 Mô tả toán Error! Bookmark not defined 3.1.2 Chương trình DEMO Error! Bookmark not defined 3.1.3 KẾT LUẬN Error! Bookmark not defined PHẦN KẾT LUẬN Error! Bookmark not defined PHỤ LỤC Error! Bookmark not defined TÀI LIỆU THAM KHẢO Error! Bookmark not defined 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 100 Error! Bookmark not defined DANH MỤC TỪ VIẾT TẮT CSDL Cơ sở liệu RDB Relational Database XML eXtensible Markup language HTML HyperText Markup Language SGML Standard Generalized Markup Language W3C World Wide Web Consortium DTD Document Type Definition DOM Document Oject Model SAX Simple API for XML CSS Cascading Style Sheets XSl Extensible Style Sheet Language API Application Progaramming Interfaces DDL Data definition Language DML Data Manipulation Language CPI Constraint- Preserving Inlining ID Inclusion Dependencies FD Function Dependency EGD Equality –Generating TGD Tuple-generating Dependencies FT Flat translation NeT Nesting-base Translation CoT Constraint Translation IND Inclusion Defendencies MỘT SỐ THUẬT NGỮ Basic Inlining Gộp sở Share Inlining Gộp chia sẻ New Inlining Gộp cải tiến Hybrid Inlining Gộp lai ghép DTD MAP Schema Lược đồ ánh xạ DTD XML Document Tài liệu XML Cardinality Operator Toán tử lực lượng XML Processor Trình phân tích XML Element nodes Nút phân tử Integrity constraint Rằng buộc toàn vẹn Set-value attribute Thuộc tính có giá trị tập hợp Relational keys Khoá quan hệ Relational recurive processing Tiến trình đệ quy quan hệ Element graph Đồ thị phần tự Inlinable tree Cây gộp Singteton constraint Ràng buộc đơn Equality- generating dependencies Phụ thuộc sinh đồng Child constraint Ràng buộc Parent constraint Ràng buộc cha Mở đầu Hầu hết liệu thương mại lưu trữ trì hệ quản trị liệu quan hệ dự báo phương thức lưu trữ liệu tương lai Các hệ thống cung cấp cho người sử dụng cách truy cập liệu hiệu đáng tin cậy tổ chức Tuy nhiên, tốc độ phát triển mạnh mẽ thương maị điện tử nhu cầu chuyển nhận liệu từ khách hàng tổ chức khác qua Internet đồng nghĩa với việc số liệu cần giải thoát khỏi mô hình giới hạn XML[1][2][10] lên tiêu chuẩn vượt trội để mô tả trao đổi liệu, chế để chuyển đổi liệu đuợc lưu trữ hệ quản trị sở liệu quan hệ sang XML ngược lại lĩnh vực quan trọng cần nghiên cứu Sự thành công công cụ kết nối XML hệ quản trị sở liệu quan hệ trực tiếp hay thông qua ngôn ngữ thứ cấp phụ thuộc nặng nề vào chất lượng giản đồ định rõ cấu trúc liệu chuyển đổi Một giản đồ mơ hồ chưa hoàn thiện dẫn tới việc kết nối thiếu xác liệu Các chế suy luận giản đồ quan hệ từ giản đồ không quan hệ chứng minh tốt tài liệu phương thức để suy luận giản đồ XML khó hiểu nhiều Cho tới nay, việc chọn lựa dạng thức để mô tả giản đồ XML khó khăn Gần đây, giản đồ XML lên tiêu chuẩn phổ biến không thức để định dạng giản đồ XML Đó tiêu chuẩn có ưu lớn toàn diện giúp hỗ trợ kiểu đánh máy cài đặt sẵn phong phú cho phép tạo kiểu phức tạp dựa kiểu cài đặt sẵn nhiều tính hữu dụng khác Luận văn trình bày phương pháp chuyển đổi liệu XML sang sở liệu quan hệ ngược lại dựa lược đồ XML lược đồ quan hệ Cụ thể, luận văn sâu nghiên cứu số thuật toán chuyển đổi hướng cấu trúc thuật toán chuyển đổi hướng liệu Đồng thời, dựa thuật toán đó, luận văn nghiên cứu việc chuyển đổi đảm bảo ràng buộc, giảm dư thừa liệu, khai thác tối đa khả năng, lợi ích hướng tiếp cận Luận văn đƣợc trình bày chƣơng Chƣơng I: trình bày số khái niệm XML định nghĩa DTD, lược đồ XML, trình phân tích tài liệu, mô hình DOM … mô hình CSDL quan hệ khái niệm quan hệ, thuộc tính, bộ, khoá … Chƣơng II: Giới thiệu số thuật toán chuyển đổi liệu XML mô hình quan hệ Các thuật toán gộp sở, gộp chia sẻ, gộp cải tiến giửi phức tạp đặc tả DTD, xung đột kiến trúc có thứ bậc tự nhiện cảu mô hình liệu XML chất hai mức mô hình quan hệ Ba thuật toán CPI, NeT CoT không thực tốt việc chuyển đổi cấu trúc lược đồ gốc mà bảo toàn mặt ngữ nghĩa lược đồ trình chuyển đổi Ngoài thuật toán chuyển đổi lược đồ, luận văn giới thiệu thuật toán chuyển đổi liệu Xinsert, thuật toán có khả chuyển đổi liệu tài liệu XML sang liệu quan hệ theo hướng tiếp cận DOM Chƣơng III: Nghiên cứu cài đặt ứng dụng minh hoạ cho số thuật toán chuyển đổi liệu thuật toán gộp cải tiến Xinsert Chƣơng I: KHÁI NIỆM XML VÀ MÔ HÌNH DỮ LIỆU QUAN HỆ 1.1 TÀI LIỆU XML 1.1.1 Giới thiệu XML ngôn ngữ định dạng Như tất biết, XML viết tắt cho chữ eXtensible Markup Language XML ngôn ngữ đánh dấu tương đối sử dụng để định nghĩa cấu trúc liệu tài liêu thông qua thẻ[1][2] Ngôn ngữ định dạng (Markup Language) ngôn ngữ dùng để trình bày liệu tài liệu Ngôn ngữ định dạng mà người quen thuộc ngày ngôn ngữ HTML HTML cho phép bạn tạo nội dung trang Web tương đối đơn giản Ví dụ 1.1 Lời chào Chào tất bạn học sinh thân yêu! Kết trang web trình duyệt hiển thị sau: Ở HTML thực định dạng thẻ (tags) , , … Những thẻ cho trình duyệt (browser) cách hiển thị nội dung tài liệu Giống HTML, XML dùng thẻ để khai báo cấu trúc liệu file XML Điểm khác biệt HTML XML thẻ HTML chứa ý nghĩa dùng để trình bày liệu thẻ XML chứa ý nghĩa dùng để định nghĩa cấu trúc liệu Ví dụ tài liệu đặt hàng (order) XML đây: Ví dụ 1.2 2002-3-27 Peter Collingwood 1 5 4 3 Tài liệu chứa liệu, không đề cập đến cách trình bày Điều có nghĩa phân tích XML (XML parser) không cần phải hiểu ý nghĩa thẻ Nó cần tìm thẻ xác định tài liệu XML hợp lệ Vì trình duyệt không cần phải hiểu ý nghĩa thẻ, nên ta dùng tên để đặt cho thẻ được, tên đặt cho thẻ bắt đầu ký tự gạch chân (_), ký tự số (1,2,3…), ký tự (a,A,b,B…), dấu chấm (.), dấu gạch nối (-), khoảng trắng Nhìn tổng quát, tài liệu XML bắt đầu thẻ khái báo thị xử lý XML Tất thị xử lý XML bắt đầu Chúng ta quan sát kỹ cấu trúc tài liệuXML Trước hết tài liệu XML hình thành từ phần tử (element) XML thuộc tính phần tử Trong ví dụ ta thấy tài liệu XML gồm có phần tử Order gọi phần tử gốc tài liệu có thuộc tính OrderNo với giá trị 1023 Bên phần tử gốc Order có chứa: - Phần tử OrderDate với giá trị là:2002-3-27 - Phần tử Customer với giá trị là: Peter Collingwood - Hai phần tử Item, phần tử Item lại chứa phần tử ProductID phần tử Quantity Đôi ta khai báo phần tử rỗng tài liệu XML (là phần tử có tên, không chứa giá trị), ta muốn dùng phần tử tuỳ chọn, có được, không Ví dụ phẩn tử rỗng MiddleInitial phần tử Customer đây: Ví dụ 1.3 Stephen King Có cách khác để biểu diễn phần tử rỗng bỏ thẻ đóng thêm dấu "/" cuối thẻ mở Ta viết lại ví dụ customer sau: Ví dụ 1.4 Stephen King Dĩ nhiên phần tử rỗng có thuộc tính phần tử PhoneNumber thứ nhì đây: Ví dụ 1.5 Stephen King 9847 2635 1.1.2 Trình soạn thảo XML (XML Editors) trình duyệt XML Để tạo tài liệu XML ta có thẻ sử dụng trình soạn thảo đơn giản như: Notepad, wordpad … Có nhiều trình soạn thảo đặc biệt dùng phục vụ cho hiệu chỉnh nội dung file liệu XML Đơn giản dễ dùng trình soạn thảo XML notepad Microsoft Các trình soạn thảo chuyên nghiệp XML Writer Những phần mềm trình duyệt điển hình hỗ trợ XML (chỉ kiểm tra khuôn dạng XML hợp lệ cho phép kết hợp CSS, XSL) bao gồm: Internet Explorer(IE), Netscape Navigator, Jumpo 1.1.3 Bộ phân tích XML Bộ kiểm tra XML (XML Validator) Bộ phân tích gói phần mềm sử dụng chúng phần mềm kèm theo ứng dụng có chứa thư viện cung cấp hàm, cho phép phân tích nội dung trích xuất liệu XML đơn giản Dưới trình phân tích thướng dùng: XML cho Java (XML4J), Microsoft XML Parser, Python XML Parse Bộ kiểm tra gói phần mềm cho phép kiểm tra số chuẩn XML Một số kiểm tra thường dùng, sử dụng phân tích XML4J IBM, bạn dùng đối tượng DOM Writer để làm kiểm tra, có kiểm tra XML Writer, Tidy, … 1.1.4 CSS XSL CSS XSL [8] bảng định kiểu (Style sheet) CSS thích hợp để định dạng tài liệu hướng HTML, ta thay đổi font chữ, cỡ chữ, màu sắc, đặt hình ảnh yêu cầu kết hợp định dạng CSS với liệu XML Bản thân XML định nghĩa cấu trúc lưu trữ liệu, khả tự [...]... Nhìn tổng quát, một tài liệu XML bắt đầu bằng thẻ khái báo chỉ thị xử lý XML Tất cả các chỉ thị xử lý XML bắt đầu bằng Chúng ta hãy quan sát kỹ hơn cấu trúc của một tài liệuXML Trước hết tài liệu XML được hình thành từ các phần tử (element) XML và các thuộc tính của các phần tử đó Trong ví dụ trên ta thấy tài liệu XML gồm có phần tử Order... 1.1.2 Trình soạn thảo XML (XML Editors) và trình duyệt XML Để tạo ra các tài liệu XML ta có thẻ sử dụng các trình soạn thảo đơn giản như: Notepad, wordpad … Có rất nhiều các trình soạn thảo đặc biệt được dùng phục vụ cho hiệu chỉnh nội dung file dữ liệu XML Đơn giản và dễ dùng nhất là trình soạn thảo XML notepad của Microsoft Các trình soạn thảo chuyên nghiệp hơn như XML Writer Những phần mềm trình... điển hình hỗ trợ XML (chỉ kiểm tra khuôn dạng XML hợp lệ và cho phép kết hợp CSS, XSL) bao gồm: Internet Explorer(IE), Netscape Navigator, Jumpo 1.1.3 Bộ phân tích XML và Bộ kiểm tra XML (XML Validator) Bộ phân tích là gói phần mềm được sử dụng chúng như một phần mềm kèm theo của ứng dụng có chứa các thư viện cung cấp các hàm, cho phép phân tích nội dung và trích xuất dữ liệu của XML khá đơn giản Dưới... các trình phân tích thướng dùng: XML cho Java (XML4 J), Microsoft XML Parser, Python XML Parse Bộ kiểm tra là các gói phần mềm cho phép kiểm tra một số chuẩn trên XML Một số bộ kiểm tra thường dùng, nếu sử dụng bộ phân tích XML4 J của IBM, bạn có thể dùng đối tượng DOM Writer để làm bộ kiểm tra, ngoài ra còn có các bộ kiểm tra như XML Writer, Tidy, … 1.1.4 CSS và XSL CSS và XSL [8] là các bảng định kiểu... Writer, Tidy, … 1.1.4 CSS và XSL CSS và XSL [8] là các bảng định kiểu (Style sheet) CSS thích hợp để định dạng tài liệu hướng về HTML, ta có thể thay đổi font chữ, cỡ chữ, màu sắc, đặt hình ảnh và yêu cầu kết hợp định dạng của CSS với dữ liệu XML Bản thân XML chỉ định nghĩa các cấu trúc lưu trữ dữ liệu, nó không có khả năng tự ... Order được gọi là phần tử gốc của tài liệu có thuộc tính OrderNo với giá trị 1023 Bên trong phần tử gốc Order có chứa: - Phần tử OrderDate với giá trị là:2002-3-27 - Phần tử Customer với giá trị là: Peter Collingwood - Hai phần tử Item, mỗi phần tử Item lại chứa một phần tử ProductID và một phần tử Quantity Đôi khi ta còn khai báo một phần tử rỗng trong tài liệu XML (là phần tử có tên, nhưng không chứa... tử Customer dưới đây: Ví dụ 1.3 Stephen King Có một cách khác để biểu diễn phần tử rỗng là bỏ thẻ đóng và thêm một dấu "/" ở cuối thẻ mở Ta có thể viết lại ví dụ customer như sau: Ví dụ 1.4 Stephen King Dĩ nhiên phần tử