TIỂU LUẬN MÔN CƠ SƠ DỮ LIỆU NÂNG CAO PURE XML TRONG DB2

26 521 0
TIỂU LUẬN MÔN CƠ SƠ DỮ LIỆU NÂNG CAO PURE XML TRONG DB2

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ PURE XML TRONG DB2 BÀI TẬP LỚN MÔN: CƠ SỞ DỮ LIỆU NÂNG CAO Cán bộ hướng dẫn: TS. Nguyễn Hà Nam . Nhóm 10: Luyện Thị Lan Hương . Khóa: 18 HÀ NỘI - 2012 Bảng các ký hiệu và chữ viết tắt NXD Native Xml Database XML eXtensible Markup Language RDBMS Relational Database Management Systems BLOB Binary Largr Object Xpath XML Path Language SQL Structured Query Language Pure XML trong DB2 MỤC LỤC 5. CHÈN CÁC TÀI LIỆU XML 14 6. TRUY VẤN DỮ LIỆU XML 15 7. ĐÁNH CHỈ MỤC XML 19 8. LƯỢC ĐỒ XML 20 9. CÁC HỖ TRỢ XML KHÁC 23 Trang 1 Pure XML trong DB2 LỜI MỞ ĐẦU Ngày này, một số hệ thống đòi hỏi cần lưu trữ các dữ liệu bán cấu trúc mà không cần phải ép nó vào các cấu trúc dữ liệu không phù hợp. Các yêu cầu này đều được đáp ứng bởi cả cơ sở dữ liệu XML nguyên gốc và cơ sở dữ liệu quan hệ hỗ trợ XML. Vấn đề đặt ra là : Tại sao bạn lại thích một cơ sở dữ liệu XML nguyên gốc hơn là một cơ sở dữ liệu cổ điển với hỗ trợ XML hoặc các cách khác? Đề tài này đề cập đến việc so sánh các phương pháp tiếp cận khác nhau, bao gồm eXist, Mark Logic và IBM-DB2ExpressC. Sự khác biệt cảu các kiểu cơ sở dữ liệu được so sánh giữa những thuận lợi và khó khăn của chúng. Trong những năm đầu tiên của cơ sở dữ liệu XML, sự khác biệt gữa cơ sở dữ liệu XML nguyên gốc(native XML database - NXD) và các hệ thống quản lý cơ sở dữ liệu quan hệ có hỗ trợ XML (relational database management systems - RDBMS) là rất lớn . Các NXD được tối ưu hóa để lưu trữ các tài liệu XML. Các bản RDBMS cũ chỉ thêm một số kiểu dữ lieu (như các đối tượng nhị phân lớn binary largr object - BLOB) để chứa XML. Ngày nay, các NXD vẫn là NXD nhưng được cải tiến rất nhiều. Cùng thời điểm, các nhà cung cấp RDBMS cũng có thể lưu trữ các tài liệu XML. Các phần tử XML không còn được lưu trữ trong các BLOBs mà được lưu trữ trong các cấu trúc cây (tree – like structure), được tối ưu hóa để chứa các tài liệu có cấu trúc cây, bản chất tự nhiên của môt tài liệu XML chuẩn. Một số nền tảng đã được phát triển cùng với sự chuẩn hóa của các ngôn ngữ truy vấn trên tài liệu XML, trong đó đáng chú ý nhất là XQuery 1.0 với sự hỗ trợ của ngôn ngữ đường dẫn XML (XML Path Language – Xpath 2.0). Cũng gống như ngôn ngữ truy vấn có cấu trúc (Structured Query Language – SQL ), XQuery đẩy mạnh được sự độc lập của nhà cung cấp và tái sử dụng . Trang 2 Pure XML trong DB2 LÝ DO CHỌN CƠ SỞ DỮ LIỆU XML Các cơ sở dữ liệu thường có thể lưu trữ được tài liệu không cấu trúc và có cấu trúc. Cả hai đều yêu cầu các cấu trúc dữ liệu mà không thường xuyên thay đổi. Tuy nhiên, điểm yếu của cơ sở dữ liệu quan hệ là việc lưu trữ các tài liệu bán cấu trúc. Không như các dữ liệu có cấu trúc, các tài liệu bán cấu trúc có thể có rất nhiều bậc tự do trong trật tự của các thành phần trong tài liệu và cách những thành phần đó được lồng vào nhau. Bên cạnh đó, nó cũng không giống những dữ liệu không có cấu trúc vì các thành phần riêng lẻ của nó đều có thể được phân loại bằng cách sử dụng các nhãn mô tả. Vậy có thể lưu trữ dữ liệu bán cấu trúc trong các cấu trúc quan hệ không? Tất nhiên là có thể, nhưng có thể kết thúc bằng một cấu trúc dữ liệu cụ thể mà thường xuyên thay đổi, một cấu trúc dữ liệu tổng quát hóa mà làm mất mô tả của các nhãn hoặc một mô hình trừu tượng như là những thứ mà các hệ thống quản lý nội dung sử dụng, trộn dữ liệu với những thứ mà đáng ra là siêu dữ liệu (metadata). Mặt khác, định dạng XML lại phù hợp với việc mô tả dữ liệu bán cấu trúc, mà việc duy trì mô hình dữ liệu này lại khá dễ dàng. Thêm vào đó, việc thêm các tên của thành phần không làm thay đổi cấu trúc dữ liệu – nó luôn giữ cấu trúc cây. Nó chỉ lien quan đến một sự thay đổi trong lược đồ XML mô tả cách thức mà các tên của phần tử được sử dụng và liên kết bên trong cấu trúc cây. Với các tài liệu có lượng dữ liệu ở quy mô vừa và nhỏ như các hồ sơ xin việc, các mô tả sản phầm… XML là định dạng khá phù hợp. Đồng thời, XML có khả năng mô tả cả dữ liệu có cấu trúc và dữ liệu không có cấu trúc. Vậy có cần các cơ sở dữ liệu quan hệ nữa không? Khi tạo một giải pháp phần mềm mới, việc có chọn cơ sở dữ liệu quan hệ hay không phụ thuộc vào việc giải pháp đó cho phép lưu trữ dữ liệu như thế nào (có cấu trúc, không cấu trúc hay bán cấu trúc). Nếu giải pháp đó cho phép lưu trữ dữ liệu bán cấu trúc, đồng nghĩa với việc nó có thể sử dụng để lưu dữ liệu có cấu trúc và không có cấu trúc. Trang 3 Pure XML trong DB2 Tuy nhiên, nếu phần lớn dữ liệu lại phù hợp với mô hình quan hệ có cấu trúc chặt chẽ và có ràng buộc với nhau thì việc sử dụng NXD lại không phù hợp. Vậy làm thế nào để xác định bản chất dữ liệu của hệ thống muốn xây dựng? Và nếu khối lượng dữ liệu có cấu trúc, bán cấu trúc, không cấu trúc là tương đương ? Trong trường hợp này, các cơ sở dữ liệu cổ điển lại là lựa chọn hù hợp để chứa dữ liệu XML hoặc phân mảnh của các tài liệu XML. Tuy cách thức truy cập vào các phân mảnh XML là khác nhau giữa các cơ sở dữ liệu, nhưng giữa chúng đều có chung điểm là sử dụng XQuery 1.0. Trang 4 Pure XML trong DB2 CƠ SỞ DỮ LIỆU NGUYÊN GỐC Theo Wikipedia, “một cơ sở dữ liệu máy tính là một tập hợp có cấu trúc các bản ghi hoặc dữ liệu được lưu trữ trong một hệ thống máy tính”. XML nguyên gốc là cách dùng của các công nghệ liên quan đến XML mà không pha tạp với các công nghệ phi XML. Tức là khả năng sử dụng XQuery và XPath mà không có một chút SQL nào . Khi so sánh các NXD với RDBMS có hỗ trợ XML, người ta cho rằng một NXD điển hình cũng có thể được phân loại như là một kho chứa tài liệu. Thuật ngữ “kho chứa tài liệu” được sử dụng bởi các sản phẩm như Alfresco và Magnolia. Các sản phẩm này được xếp lớp trên cả các cơ sởc dữ liệu hiện có, và chúng thiếu cơ sở hạ tầng được cung cấp bởi eXits và Mark Logic – đáng chú ý nhất là khả năng chạy các XQuery một cách có hiệu quả. Chúng tập trung vào các chức năng bậc cao như là luồng làm việc (workflow) và giao diện người dùng thân thiện. Các NXD dành những thứ đó cho các người dùng các sản phẩm của mình. Chúng chỉ cung cấp các hàm API chứa tài liệu bậc thấp, như là Web – based Distributed Authoring and Versioning(Web DAV) hoắc các kết nối REST ful tùy biến . Như vậy, một NXD điển hình lưu trữ các tài liệu XML một cách hiệu quả. Nó cung cấp công nghệ XQuery và một lớp mỏng các chức năng kho dữ liệu. NXD dường như nhắm tới tài nguyên theo định hướng, nghĩa là các phần nội dung riêng được lưu trữ trong kho chứa có thể được xác định bằng cách sử dụng các định danh tài nguyên đồng bộ (Uniform Resource Identifier - URI). Sử dụng HTTP hoặc Web DAV, các URI tương tự cho phép truy cập tới dữ liệu cái mà làm cho tính kết nối trở thành không vấn đề. Coi dữ liệu như là các tài nguyên đơn lẻ cũng có các yếu điểm của nó. Sự chia tách tài liệu làm cho việc tạo quan hệ giữa các dữ liệu mà bị chia nhỏ khắp các đa liệu trở nên Trang 5 Pure XML trong DB2 khó khăn. Nếu một tài liệu chứa các dữ liệu độc quyền mà các tài liệu khác tham chiếu đến, thì việc duy trì tính tích hợp tham chiếu càng khó khăn hơn. Các nhà sản xuất cơ sở dữ liệu XML lớn cung cấp các lựa chọn để đặt các ràng buộc trên các dữ liệu trong các đa tài liệu. Tuy nhiên, điều này chưa được tiêu chuẩn hóa như các công nghệ XML khác. PURE XML IBM lựa chọn thuật ngữ Pure XML để tránh thuật ngữ cơ sở dữ liệu XML nguyên gốc nhưng vẫn muốn truyền tải bản chất nguyên gốc của XML cho giải pháp của họ. DB2 Express – C là một điển hình cho NXD, nhưng nó lại chia sẻ một số đặc tính. Ở một góc độ, DB2 dường như giống một RDBMS với các cột XML. Tên pureXML được chính thống hóa theo hai cách: 1. Dữ liệu XML được lưu trữ trong định dạng cây nguyên bản, tách biệt khỏi dữ liệu quan hệ. 2. Được phép truy cập tất cả dữ liệu – cả quan hệ và XML thông qua một giao diện XML đơn nhất. XQuery 1.0 không bị giới hạn bởi việc truy vấn các tài liệu XML. IBM cung cấp các hàm XQuery mà cho phép truy vấn dữ liệu quan hệ và trộn và đối chiếu các kết quả với XML từ các cột XML. Kết quả của dữ liệu kết hợp có thể được trả lại trong định dạng XML. DB2 là nền tảng cơ sở dữ liệu nguyên bản. Nó không cung cấp một lớp mỏng các chức năng chứa tài liệu mà rất nhiều NXD khác cung cấp. Hiện nay, hầu hết các kho chứa tài liệu như Alfresco được cài đặt trên các RDBMS không hỗ trợ XML hơn là các NXD. Trang 6 Pure XML trong DB2 DB2 PURE XML 1. XML trong DB2 Hình 1: XML trong DB2. Hiện nay có 4 cách truy cập dữ liệu được sử dụng trong DB2 9 :  Sử dụng SQL để truy nhập dữ liệu quan hệ.  Sử dụng SQL và các mở rộng XML(SQL/ XML) để truy nhập dữ liệu XML.  Sử dụng Xquery để truy nhập dữ liệu XML.  Sử dụng Xquery để truy nhập dữ liệu quan hệ Trang 7 Pure XML trong DB2 Hình 2: Bốn cách truy nhập dữ liệu trong DB2. Như vậy, nếu đứng trên phương diện người sử dụng SQL, có thể xem DB2 như một hệ quản trị cơ sở dữ liệu cấp cao có hỗ trợ XML. Nếu đứng trên phương diện người sử dụng XML, bạn có thể xem DB2 như kho lưu trữ XML cấp cao hỗ trợ SQL. IBM sử dụng khái niệm pure XML thay vì khải niệm thuần XML(native XML) để mô tả công nghệ này. Các nhà cung cấp khác vẫn sử dụng các công nghệ cũ CLOB/varchar hay phân rã để lưu trữ các tài liệu XML, họ gọi những công nghệ cũ đó là thuần XML. Để tránh nhầm lần, IBM đã quyết định sử dụng khái niệm mới pure XML, và đặt thương hiệu cho khái niệm này để các nhà cung cấp cơ sở dữ liệu và XML khác có thể sử dụng nó để gợi đến một công nghệ mới, pure XML hỗ trợ các cơ sở dữ liệu được sinh ra dưới cả hai định dạng Unicode và non-Unicode. 2. Ưu điểm của công nghệ pure XML. Công nghệ pure XML đem lại nhiều ưu điểm như sau: 1. Có thể nâng cao khả năng sử dụng dữ liệu quan hệ, bằng cách lưu trữ các tài liệu XML trong các cột của các bảng, sử dụng kiểu dữ liệu mới XML. 2. Có thể giảm sự phức tạp của mã lệnh. Ví dụ hình 2.3 minh họa một đoạn PHP có sử dụng và không sử dụng pure XML Sử dụng pure XML(khung nhỏ bên trái), số dòng mã lệnh được giảm. Điều này không chỉ có nghĩa là mã lệnh ít phức tạp hơn, mà tổng hiệu năng cũng được cải thiện,vì số dòng được phân tích và bảo trì trong mã lệnh cũng ít hơn. Trang 8 [...]... này, cần sử dụng SQL với các mở rộng XML( SQL /XML) Trang 15 Pure XML trong DB2 Tên hàm XMLPARSE Mô tả Phân thích dữ liệu kí tự hay dữ liệu nhị XMLSERIALIZE phân của đối tượng lớn, lấy ra giá trị XML Chuyển giá trị XML sang dạng dữ liệu kí tự XMLVALIDATE hay dữ liệu nhị phân của đối tượng lớn Kiểm tra dữ liệu XML với lược đồ XML và XMLEXISTS ghi chú kiệu của giá trị XML Kiểm tra xem Xquery có trả về kết... khác, DB2 không đòi hỏi phải kiểm tra tính hợp lệ của tài liệu XML Nếu muốn kiểm tra, có thể thực hiện một số phương án thay thế 8.1 Đăng kí lược đồ Trang 20 Pure XML trong DB2 Các lược đồ XML (XMLSchemas) được lưu trong các cơ sở dữ liệu DB2 , trong kho lược đồ XML( XML Schema repository) Để thêm một lược đồ XML vào kho, sử dụng lệnh : REGISTER XMLSCHEMA 8.2 Kiểm tra tính hợp lệ theo lược đồ XML Khi... Truy vấn dữ liệu XML Trong DB2 có hai cách để truy vấn dữ liệu XML:  Sử dụng SQL với các mở rộng XML( SQL /XML)  Sử dụng Xquery 6.1 Truy vấn dữ liệu XML với SQL /XML Sử dụng các câu lệnh SQL thông thường cho phép bạn làm việc với các dòng và các cột Một câu lệnh SQL có thể làm việc được với toàn bộ tài liệu XML đầy đủ; tuy nhiên, SQL sẽ không thể giúp bạn làm việc chỉ với một phần tài liệu XML Trong trường... ta nên sử dụng pure XML DB2 cũng hỗ trợ mở rộng XML( XML Extender) và cũng sử dụng phương pháp cũ để lưu trữ XML, nhưng mở rộng này sẽ không còn được cải tiến nữa Với DB2 9.7 tất cả các lợi ích của pureXML đã được mở rộng đến các phân vùng cơ sở dữ liệu thường sử dụng cho kho dữ liệu chức năng phân vùng cơ sở dữ liệu (Database Partitioning Feature - DPF) được cung cấp trong phiên bản DB2 Enterprise... tin cậy, trong khi chỉ các bước xử lý sau đó mới cần kiểm tra tính hợp lệ của tài liệu này theo lược đồ 9 Các hỗ trợ XML khác Các tài liệu XML nhỏ có thể được lưu trực tiếp cùng với bảng cơ sở Điều này có nghĩa là dữ liệu XML được lưu trữ trong cùng vị trí như các dữ liệu quan hệ, và có thể tận dụng các cơ chế nén tương tự như với dữ liệu quan hệ chuẩn Các tài liệu XML lớn hơn được lưu trữ trong đối... Edition TỔNG KẾT Việc sử dụng XML đang tăng lên theo cấp số nhân với các công cụ Web 2.0 và các công nghệ như SOA Bằng cách lưu trữ tài liệu XML trong cơ sở dữ liệu DB2, ta có thể tận dụng lợi thế bảo mật, lợi thế về hiệu năng hoạt động cũng như lập trình linh hoạt bẳng Trang 23 Pure XML trong DB2 việc sử dụng pure XML Pure XML là một công nghệ cho phép lưu trữ các tài liệu XML theo định dạng phân tích... thực hiện ngay tại thời điểm chèn cơ sở dữ liệu Tại thời gian truy vấn, không cần phân tích các tài liệu XML để xây dựng cây trước khi xử lý Cây cho các tài liệu XML đã được xây dựng và được lưu giữ trong cơ sở dữ liệu Ngoài ra, công nghệ pure XML sử dụng một cơ cấu XML thuần có thể hiểu Xquery; vì vậy không cần ánh xạ Xquery sang SQL như các sản phẩm hệ quản trị cơ sở dữ liệu khác Trang 24 .. .Pure XML trong DB2 Hình 2.3: Sự phức tạp của mã lệnh có sử dụng và không sử dụng pure XML 3 Những thay đổi tới lược đồ dễ dàng hơn khi sử dụng XML và công nghệ pureXML Hình 2.4 là một ví dụ minh họa về sự tăng cường tính linh động này Trong hình, giả sử bạn có một cơ sở dữ liệu bao gồm các bảng Employee và Department Điển hình với loại cơ sở dữ liệu không có XML, nếu nhà quản lý... nén DB2 cũng hỗ trợ tiến hóa lược đồ XML Điều này có nghĩa là: nếu lược đồ XML thay đổi, ta có thể cập nhật dễ dàng với lệnh UPDATE XMLSCHEMA Nếu những thay đổi tới lược đồ XML quá mạnh, có thể bị lỗi Trong DB2, sự phân rã XML( XML decomposition / shredding) cũng được hỗ trợ Đây là phương pháp “cũ” để lưu trữ XML trong các cơ sở dữ liệu, và cũng là cách mà các nhà cung cấp khác sử dụng để lưu trữ XML DB2. .. một biến cho một chuỗi WHERE: loại bỏ các phần tử trong vòng lặp ORDER: sắp xếp lại trật tự các phần tử trong vòng lặp RETURN: xây dựng các kết quả truy vấn FLWOR là biểu thức cho phép thực hiện các thao tác với các tài liệu XML và trả về một biểu thức khác 5 Chèn các tài liệu XML Trang 14 Pure XML trong DB2 Việc chèn các tài liệu XML vào cơ sở dữ liệu DB2 có thể được thực hiện bằng cách sử dụng câu . liệu như Alfresco được cài đặt trên các RDBMS không hỗ trợ XML hơn là các NXD. Trang 6 Pure XML trong DB2 DB2 PURE XML 1. XML trong DB2 Hình 1: XML trong DB2. Hiện nay có 4 cách truy cập dữ liệu. 1.0. Trang 4 Pure XML trong DB2 CƠ SỞ DỮ LIỆU NGUYÊN GỐC Theo Wikipedia, “một cơ sở dữ liệu máy tính là một tập hợp có cấu trúc các bản ghi hoặc dữ liệu được lưu trữ trong một hệ thống máy tính”. XML. . Trang 2 Pure XML trong DB2 LÝ DO CHỌN CƠ SỞ DỮ LIỆU XML Các cơ sở dữ liệu thường có thể lưu trữ được tài liệu không cấu trúc và có cấu trúc. Cả hai đều yêu cầu các cấu trúc dữ liệu mà không

Ngày đăng: 08/07/2015, 16:06

Từ khóa liên quan

Mục lục

  • 5. Chèn các tài liệu XML

  • 6. Truy vấn dữ liệu XML

  • 7. Đánh chỉ mục XML

  • 8. Lược đồ XML

  • 9. Các hỗ trợ XML khác

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan