1. Trang chủ
  2. » Luận Văn - Báo Cáo

Chuyển đổi dữ liệu giữa XML và cơ sở dữ liệu quan hệ

13 364 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MỘT SỐ THUẬT NGỮ Basic Inlining Gộp cơ 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 Ca

Trang 1

ĐẠ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

Trang 2

DANH MỤC TỪ VIẾT TẮT 4

MỘT SỐ THUẬT NGỮ 5

Mở đầu 5

Chương I: KHÁI NIỆM XML VÀ MÔ HÌNH DỮ LIỆU QUAN HỆ 8 1.1 TÀI LIỆU XML 8

1.1.1 Giới thiệu XML và ngôn ngữ định dạng 8

1.1.2 Trình soạn thảo XML (XML Editors) và trình duyệt XML 12

1.1.3 Bộ phân tích XML và Bộ kiểm tra XML (XML Validator) 13

1.1.4 CSS và 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 về Xpath Error! Bookmark not defined 1.1.8 Mô hình đối tượng dữ liệu DOM Error! Bookmark not defined 1.1.9 XML và cơ sở dữ 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 cơ bản [3][4][5] Error! Bookmark not defined 1.2.2 Các phép toán trê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ở của các 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 cơ 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 và 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 trên 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 trong DTD Error! Bookmark not defined

Trang 3

2.1.7.3 Phát hiện và bảo toàn các 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 các phụ thuộc bao hàm) Error! Bookmark not defined

2.2.3.1 Một khoá ngoại giữa hai bảng Error! Bookmark not defined 2.2.3.2 Hai khoá ngoại giữa 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ả bài 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

Trang 4

DANH MỤC TỪ VIẾT TẮT

CSDL Cơ sở dữ 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

Trang 5

MỘT SỐ THUẬT NGỮ

Basic Inlining Gộp cơ 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ị các phần tự

Inlinable tree Cây có thể gộp

Singteton constraint Ràng buộc đơn

Equality- generating dependencies Phụ thuộc sinh đồng nhất Child constraint Ràng buộc con

Parent constraint Ràng buộc cha

Mở đầu

Trang 6

Hầu hết các dữ liệu thương mại được lưu trữ và duy trì trong các hệ quản trị dữ liệu quan hệ và được dự báo vẫn là phương thức lưu trữ dữ liệu trong tương lai Các hệ thống này cung cấp cho người sử dụng cách truy cập dữ liệu hiệu quả và đáng tin cậy trong một tổ chức Tuy nhiên, tốc độ phát triển mạnh mẽ của thương maị điện tử và nhu cầu chuyển và nhận dữ liệu từ khách hàng cũng như các tổ chức khác qua Internet đồng nghĩa với việc một số dữ liệu cần được giải thoát khỏi mô hình giới hạn này XML[1][2][10] đang nổi lên như một tiêu chuẩn vượt trội để mô tả và trao đổi dữ liệu, do vậy các cơ chế để chuyển đổi dữ liệu đuợc lưu trữ trong hệ quản trị cơ sở dữ liệu quan hệ sang XML và ngược lại là lĩnh vực quan trọng cần nghiên cứu

Sự thành công của bất kỳ công cụ nào kết nối giữa XML và hệ quản trị cơ sở dữ liệu quan hệ trực tiếp hay thông qua ngôn ngữ thứ cấp hơn đều phụ thuộc nặng nề vào chất lượng giản đồ định rõ cấu trúc của

dữ liệu được chuyển đổi Một giản đồ mơ hồ và chưa hoàn thiện có thế dẫn tới việc kết nối thiếu chính xác hoặc mất dữ liệu Các cơ chế suy luận các giản đồ quan hệ từ các giản đồ không quan hệ đều được chứng minh tốt bằng tài liệu nhưng các phương thức để suy luận một giản đồ XML thì khó hiểu hơn rất nhiều

Cho tới hiện nay, việc chọn lựa một dạng thức để mô tả giản đồ XML còn hết sức khó khăn Gần đây, giản đồ XML nổi lên như một tiêu chuẩn phổ biến nhưng không chính thức để định dạng giản đồ XML

Đó là một tiêu chuẩn có ưu thế lớn và toàn diện giúp hỗ trợ các kiểu đánh máy được cài đặt sẵn phong phú và cho phép tạo ra các kiểu phức

Trang 7

tạp hơn dựa trên những kiểu được cài đặt sẵn cũng như nhiều tính năng hữu dụng khác

Luận văn trình bày phương pháp chuyển đổi dữ liệu giữa XML sang cơ sở dữ liệu quan hệ và ngược lại dựa trên lược đồ XML và lược

đồ quan hệ Cụ thể, luận văn đi sâu nghiên cứu một số thuật toán chuyển đổi cơ bản hướng cấu trúc và một thuật toán chuyển đổi hướng dữ liệu Đồng thời, dựa trên các thuật toán cơ bản đó, luận văn nghiên cứu việc chuyển đổi có thể đảm bảo được các ràng buộc, giảm dư thừa dữ liệu, và

có thể khai thác tối đa khả năng, lợi ích của hướng tiếp cận này

Luận văn được trình bày trong 3 chương

Chương I: trình bày một số khái niệm cơ bản về XML như định

nghĩa DTD, lược đồ XML, trình phân tích tài liệu, mô hình DOM … và

mô hình CSDL quan hệ như các khái niệm về quan hệ, thuộc tính, bộ, khoá …

Chương II: Giới thiệu một số thuật toán chuyển đổi dữ liệu giữa

XML và mô hình quan hệ Các thuật toán cơ bản như gộp cơ sở, gộp chia

sẻ, gộp cải tiến giửi quyết sự phức tạp của đặc tả DTD, sự xung đột giữa kiến trúc có thứ bậc tự nhiện cảu mô hình dữ liệu XML và bản chất hai mức của mô hình quan hệ Ba thuật toán CPI, NeT và CoT không chỉ thực hiện tốt việc chuyển đổi cấu trúc của lược đồ gốc mà còn bảo toàn

về mặt ngữ nghĩa của lược đồ trong quá trình chuyển đổi Ngoài các thuật toán chuyển đổi lược đồ, luận văn giới thiệu một thuật toán chuyển đổi dữ liệu Xinsert, thuật toán có khả năng chuyển đổi dữ liệu của tài liệu XML sang dữ 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 một số

thuật toán chuyển đổi dữ liệu như thuật toán gộp cải tiến và Xinsert

Trang 8

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 và ngôn ngữ định dạng

Như tất cả chúng ta đều biết, XML là viết tắt cho chữ eXtensible Markup Language XML là một ngôn ngữ đánh dấu tương đối mới được

sử dụng để định nghĩa cấu trúc các dữ liệu trong một tài liêu thông qua các thẻ[1][2]

Ngôn ngữ định dạng (Markup Language) là ngôn ngữ được dùng

để trình bày các dữ liệu trong một tài liệu

Ngôn ngữ định dạng mà mọi người quen thuộc ngày nay là ngôn ngữ HTML HTML cho phép bạn tạo nội dung các trang Web tương đối đơn giản

Ví dụ 1.1

Trang 9

Ở đây HTML thực hiện định dạng bằng các thẻ (tags) như

<Head>, <Center>, <B>… Những thẻ này chỉ cho trình duyệt (browser) cách hiển thị nội dung tài liệu

<Html>

<Head>

<Title>Lời chào</Title>

</Head>

<Body>

<Center>

<B>

Chào tất cả các bạn học sinh thân yêu!

</B>

</Center>

</Body>

</Html>

Kết quả trang web trong trình duyệt được hiển thị như sau:

Trang 10

Giống như HTML, XML dùng các thẻ để khai báo cấu trúc dữ liệu trong file XML Điểm khác biệt chính giữa HTML và XML là trong khi các thẻ HTML chứa ý nghĩa dùng để trình bày dữ liệu thì các thẻ của XML chứa ý nghĩa dùng để định nghĩa cấu trúc dữ liệu Ví dụ một tài liệu đặt hàng (order) XML dưới đây:

Ví dụ 1.2

<? Xml version="1.0" encoding="UTF-8" ?>

<Order OrderNo="1023">

<OrderDate>2002-3-27</OrderDate>

<Customer>Peter Collingwood</Customer>

<Item>

<ProductID>1</ProductID>

<Quantity>5</Quantity>

</Item>

<Item>

<ProductID>4</ProductID>

<Quantity>3</Quantity>

</Item>

</Order>

Tài liệu này chỉ chứa dữ liệu, không đề cập gì đến cách trình bày Điều này có nghĩa là một bộ phân tích XML (XML parser) không cần phải hiểu ý nghĩa của các thẻ Nó chỉ cần tìm các thẻ và xác định rằng đây là một tài liệu XML hợp lệ Vì trình duyệt không cần phải hiểu ý nghĩa của các thẻ, nên ta có thể dùng bất kỳ tên nào để đặt cho thẻ cũng được, trong đó tên đặt cho thẻ bắt đầu bằng ký tự gạch chân (_), ký tự số

Trang 11

(1,2,3…), ký tự (a,A,b,B…), dấu chấm (.), dấu gạch nối (-), nhưng không

có khoảng trắng

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 <? Xml version="1.0" encoding="UTF-8" ?> Tất cả các chỉ thị xử lý XML bắt đầu bằng <? Và kết thúc 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 đượ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 một giá trị), vì ta muốn dùng nó như một phần tử tuỳ chọn, có cũng được, không có cũng không sao Ví dụ như phẩn tử rỗng MiddleInitial trong phần tử Customer dưới đây:

Ví dụ 1.3

<Customer>

<FirstName>Stephen</FirstName>

<MiddleInitial></MiddleInitial>

<LastName>King</LastName>

</Customer>

Trang 12

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

<Customer>

<FirstName>Stephen</FirstName>

<MiddleInitial/>

<LastName>King</LastName>

</Customer>

Dĩ nhiên phần tử rỗng cũng có thể có thuộc tính như phần tử PhoneNumber thứ nhì dưới đây:

Ví dụ 1.5

<Customer>

<FirstName>Stephen</FirstName>

<MiddleInitial></MiddleInitial>

<LastName>King</LastName>

<PhoneNumber Location="Home">9847

2635</PhoneNumber>

<PhoneNumber Location="Work"></PhoneNumber>

</Customer>

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

Trang 13

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 duyệt đ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 đây là các trình phân tích thướng dùng: XML cho Java (XML4J), 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 XML4J 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 (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ự

Ngày đăng: 16/11/2016, 15:28

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w