TIỂU LUẬN MÔN CƠ SƠ DỮ LIỆU NÂNG CAO Xpath và ứng dụng bài toán quản lý thông tin sinh viên

17 696 0
TIỂU LUẬN MÔN CƠ SƠ DỮ LIỆU NÂNG CAO Xpath và ứng dụng bài toán quản lý thông tin sinh viên

Đ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

1 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGÔN NGỮ XPATH VÀ ỨNG DỤNG BÀI TOÁN QUẢN LÝ THÔNG TIN SINH VIÊN Báo cáo môn Cơ sở dữ liệu nâng cao Nhóm 8: Phạm Huyền Trang Đinh Thị Hương HÀ NỘI - 2012 MỤC LỤC 1. Tổng quan về cơ sở dữ liệu XML 3 1.1. XML 3 1.2. Tài liệu XML 7 2. Cách sử dụng một tài liệu XML trong môi trường Visual Studio 8 3. Ngôn ngữ Xpath và ứng dụng bài toán quản lý thông tin sinh viên 9 3.1. Cú pháp của XPath 9 3.2. Ứng dụng vào bài toán quản lý thông tin sinh viên 10 4. Kết luận 16 5. Tài liệu tham khảo 17 2 1. Tổng quan về cơ sở dữ liệu XML 1.1. XML 1.1.1. Khái niệm XML XML (Extensible Markup language) là ngôn ngữ đánh dấu mở rộng do tổ chức mạng toàn cầu W3C (world wide web consortium ) định nghĩa, để tạo ra các ngôn ngữ đánh dấu khác [1, 2, 3]. XML được kết hợp bởi tính mềm dẻo của SGML (Standard Generalized Markup Language ) và tính đơn giản của HTML có khả năng mô tả nhiều loại dữ liệu khác nhau. Nó là ngôn ngữ tổng quát dùng để lưu trữ dữ liệu thông qua các thẻ có nghĩa. XML đưa ra một định dạng chuẩn cho cấu trúc dữ liệu hoặc thông tin bằng việc tự định nghĩa dạng của tài liệu. Là ngôn ngữ đánh dấu độc lập với phần mềm, phần cứng và nền (cross -platform). Bằng cách này, dữ liệu được lưu trữ bằng XML sẽ độc lập với việc xử lý. Vì vậy XML ra đời sẽ đáp ứng được nhu cầu ngày càng cao trong trao đổi và xử lý thông tin. Điểm nổi bật của XML là nó được xây dựng theo cấu trúc phân cấp bằng các thẻ tự định nghĩa bởi người dùng theo đúng định nghĩa chuẩn của W3C - những thẻ này làm cho tài liệu XML đa dạng hơn những ngôn ngữ thông thường như HTML. Ngày nay, XML đã trở thành chuẩn chính thức trên Internet và là công nghệ mới cho việc hiển thị, trao đổi, lưu trữ và truy xuất dữ liệu của World wide web. Như vậy mục tiêu đặt ra cho sự ra đời XML là gì? Đó là, đầu tiên nó sẽ tương thích với SGML và dễ dàng viết những chương trình để xử lý cho những tài liệu XML. Kế tiếp, những tài liệu XML rõ ràng, dễ đọc, dễ dàng tạo lập. Và điều quan trọng là nó được hỗ trợ trong nhiều ứng dụng. 1.1.2. XML và vấn đề lưu trữ thông tin Ngày nay, các hệ thống tin học hỗ trợ dịch vụ khách hàng không còn xa lạ đối với chúng ta vì tầm quan trọng và ích lợi của nó trong vấn đề giao dịch. Đối với bất kỳ một hệ thống tin học nào, vấn đề quan trọng cần được quan tâm đầu tiên là tổ chức tốt việc lưu trữ dữ liệu. Nếu dữ liệu được tổ chức tốt thì hệ thống sẽ cải thiện về mọi mặt như tốc độ truy xuất, chi phí lưu trữ, thời gian cập nhật Như vậy làm cách nào để tổ chức tốt việc lưu trữ dữ liệu nhất là các ứng dụng dịch vụ khách hàng chạy trong môi trường Internet, môi trường đa người dùng Để giải quyết vấn đề này, một số giải pháp cho vấn đề lưu trữ dữ liệu của hệ thống được đề nghị như sau: Giải pháp 1: Chỉ sử dụng các tập tin XML 3 Theo giải pháp này, việc tổ chức lưu trữ dữ liệu được mô tả theo sơ đồ sau: Hình 1: Mô hình lưu trữ dữ liệu chỉ sử dụng các tập tin XML Ký hiệu : A_XMLDom chỉ đến một đối tượng XML có thể đọc và ghi trên tập tin XML Ưu điểm : Không phụ thuộc vào bất cứ hệ quản trị cơ sở dữ liệu nào, dễ cài đặt và triển khai phần mềm Nhược điểm: Việc thao tác truy vấn trên tập tin XML còn nhiều hạn chế và vấn đề bảo mật không bằng hệ quản trị cơ sở dữ liệu.Tính hiệu quả không cao khi khối lượng dữ liệu lớn. Nhận xét: • Mô hình lưu trữ dữ liệu dạng này thích hợp cho các phần mềm trò chơi,các phần mềm với khối lượng dữ liệu nhỏ và vừa. • Mô hình này không thích hợp cho các phần mềm hệ thống quản lý. Rất thích hợp cho các ứng dụng trên môi trường tin học không có hoặc chưa có hệ quản trị cơ sở dữ liệu như : điện thoại di động, máy công cụ Giải pháp 2 : Lưu trữ toàn bộ bên trong cơ sở dữ liệu, tài liệu XML khi đó được nhúng vào nội dung các bảng dữ liệu Hình2: Mô hình kểt hợp lưu trữ cả tập tin XML và cơ sở dữ liệu Ưu điểm : Tận dụng được cả hai cách lưu trữ đó là lưu trữ trên tập tin và lưu trữ trên hệ quản trị cơ sở dữ liệu. 4 Nhược điểm: Không phải tập tin XML nào cũng có thể đọc/ ghi bằng đối tượng database vì có nhiều tập tin XML lưu trữ phức tạp Giải pháp 3: Hình 3: Mô hình giải pháp 3 Ưu điểm : Mô hình này nghiêng về việc lưu trữ trên tập tin XML. Việc trao đổi giữa một đối tượng XMLDOM và cơ sở dữ liệu quan hệ cũng dễ dàng vì từ SQL Server2000 trở lên đã hỗ trợ truy xuất trên tập tin XML. Nhược điểm : Mặc dù từ SQL 2000 trở lên đã có hỗ trợ XML nhưng việc tạo ra tập tin XML vẫn còn bị lỗi do không thể tạo ra đúng cấu trúc mà người dùng mong đợi nếu như cấu trúc XML đó phức tạp. Kết luận: Mỗi mô hình giải pháp trên đều có ưu và nhược điểm khác nhau. Việc chọn lựa mô hình nào sẽ tùy thuộc vào yêu cầu của từng ứng dụng. Nghĩa là ứng dụng của chúng ta quan tâm đến vấn đề nào? Vấn đề nào là vấn đề được quan tâm hàng đầu thì lúc đó chúng ta sẽ lựa chọn giải pháp lưu trữ dữ liệu cho phù hợp. 1.1.3. XML và cơ sở dữ liệu quan hệ Mặc dù XML rất hiệu quả trong quá trình trao đổi, truy xuất trên Internet nhưng nó không thể có được những tính năng tuyệt vời của cơ sở dữ liệu (CSDL) quan hệ như lưu trữ hiệu quả với dung lượng cực lớn, sao chép dự phòng, phục hồi dữ liệu, tối ưu hệ thống Do đó, nhu cầu chuyển đổi dữ liệu từ XML sang CSDL quan hệ là rất cần thiết khi lượng tải XML ngày càng tăng. XML/relational mapping là quá trình chuyển đổi giữa mô hình quan hệ và XML. Văn bản XML có thể chuyển thành mô hình quan hệ và ngược lại. Có nhiều cách thức để thực hiện việc chuyển đổi này. Mô hình XML có định dạng phân cấp. Dữ liệu được biểu diễn trong cấu trúc dạng cây : có các node và mối quan hệ giữa các node . Lược đồ XML cung cấp khả năng mềm dẻo và dễ dàng thay đổi lại cấu trúc. Nhiều phần tử có thể được biểu diễn trong cùng một hệ thống phân cấp, bao gồm một phần tử gốc “Comments” và một hoặc nhiều phần tử con “comments” liên quan đến mục đó. 5 So sánh mô hình XML và mô hình cơ sở dữ liệu quan hệ ta thấy dữ liệu XML thì phân cấp còn dữ liệu quan hệ thì được biểu diễn bởi một mô hình của các mối quan hệ logic. Dữ liệu XML có cơ chế tự mô tả trong khi đó dữ liệu quan hệ không có cơ chế đó. Dữ liệu XML có cơ chế trật tự vốn có còn dữ liệu quan hệ không có cơ chế này. Từ bảng cơ sở dữ liệu ta có thể chuyển sang dữ liệu XML như sau: 6 1.2. Tài liệu XML 1.2.1. Khái niệm tài liệu XML Một tài liệu HTML có thể tồn tại một số thẻ không đúng quy định (trình biên dịch sẽ bỏ qua những thẻ này). Tuy nhiên với một tài liệu XML thì điều này không thể xảy ra. Khi xây dựng một tài liệu XML, nó phải tuân thủ theo một số quy luật nào đó. Những tài liệu XML tuân thủ đúng những quy luật này được gọi là well –formed (định dạng đúng) [3]. Với một tài liệu không phải là well –formed, Internet Explorer sẽ thông báo lỗi khi nạp tài liệu này. Một tài liệu XML well- formed chưa chắc là một tài liệu hợp lệ. Một tài liệu XML đựơc xem là hợp lệ nếu nó đảm bảo những quy tắc đặc tả trong tài liệu Document Type Definition (DTD) hay lược đồ (schema). Một DTD hay schema sẽ định nghĩa mọi thứ từ cấu trúc dữ liệu tới kiểu dữ liệu, những thuộc tính đuợc yêu cầu, và những ràng buộc về thành phần và thuộc tính được kết hợp trong tài liệu. Phương thức kiểm tra tài liệu này thường được sử dụng trong giao tiếp giữa ứng dụng – ứng dụng, đảm bảo dữ liệu trao đổi hợp lệ tránh dẫn tới những ảnh hưởng của dữ liệu không hợp lệ trên toàn hệ thống. 1.2.2. Cấu trúc của tài liệu XML Tài liệu XML chỉ chứa đựng dữ liệu và cách lưu trữ dữ liệu mà không hề đề cập tới cách thức trình bày dữ liệu. Một tài liệu XML sẽ chứa những đặc tả về cấu trúc dữ liệu. Một tài liệu XML có các thành phần sau: • Khai báo : Mỗi một tài liệu XML có một chỉ thị khai báo • Chú thích : Được khai báo như sau: • Phần tử (Elements): Một tài liệu XML được cấu thành từ những phần tử. Mỗi cấu trúc gồm nhiều phần tử (element), mỗi phần tử được bắt đầu với một thẻ mở (start – tag) và kết thúc với một thẻ đóng (end - tag). Giữa thử đóng và thẻ mở là nội dung của phần tử này. Phần tử có thể chứa dữ liệu hoặc có thể lồng vào một phần tử khác • Phần tử gốc (root) : Trong tài liệu XML, chỉ có một phần tử gốc, và phần tử này sẽ chứa tất cả những phần tử của tài liệu XML do chúng ta tạo ra. • Thuộc tính : Như đã trình bày ở trên, một phần tử có thể chứa dữ liệu hoặc chứa phần tử khác hoặc cả hai. Bên cạnh đó, phần tử có thể rỗng, khi đó nó có thể chứa thuộc tính. Mỗi thuộc tính chỉ là một sự lựa chọn để gắn dữ liệu đến phần tử. Một thuộc tính đặt trong thẻ mở của phần tử và chỉ ra giá trị của nó bằng cách sử dụng cặp “name = value”. 7 Chúng tôi đã trình bày về các khái niệm cơ bản của XML cũng như một tài liệu XML. Đồng thời giới thiệu về cấu trúc của một tài liệu XML. Vậy, câu hỏi được đặt ra là: sử dụng tài liệu XML như thế nào? Và làm thế nào để truy cập đến một tập tin XML? Câu trả lời được trình bày trong phần 2 và 3 của bài báo cáo. 2. Cách sử dụng một tài liệu XML trong môi trường Visual Studio Tiếp theo, chúng tôi sẽ giới thiệu một số kỹ thuật được sử dụng trong môi trường Visual Studio để làm việc với tập tin XML. Môi trường Visual Studio hỗ trợ mô hình DOM (Document Object Module) để đọc và trình bày nội dung của một tập tin XML. DOM biểu diễn một tài liệu XML trong một cấu trúc dữ liệu dạng cây [4]. Một cây được tạo thành từ nhiều nút, mỗi nút cũng có thể chứa những nút khác. Nút lá không có nút con, vì thế nút này dùng để thể hiện dữ liệu văn bản. Việc sử dụng mô hình DOM sẽ thông qua một số đối tượng như XMLDocument, XMLDataDocument. Khi một XMLDocument được tạo ra, nó tổ chức nội dung của một tập tin XML thành một cây. Khi đã đọc được một tài liệu XML, cần định hướng qua tài liệu XML và chỉ lấy những dữ liệu nào cần thiết cho ứng dụng của mình. Môi trường Visual Studio cung cấp lớp XpathDocument và XpathNavigator hỗ trợ đáp ứng vấn đề này. Lớp XpathDocument cho phép xử lý dữ liệu XML mà không phải tải lên toàn bộ cây. Lớp XpathNavigator sử dụng để thao tác trên dữ liệu của XpathDocument. Nó cũng được sử dụng để thao tác trên XMLDocument, và XMLDataDocument. Nó hỗ trợ kỹ thuật định hướng cho việc chọn nút, lặp qua các nút đã chọn và làm việc trên những nút đã chọn này. Tóm lại, để xử lý một tài liệu XML, cần phải có cách đi lại trên các phần tử của tài liệu XML để trích ra những dữ liệu cần thiết. Ngôn ngữ XPath đã được ra đời để đáp ứng điều này. Để hiểu rõ hơn về XPath cũng như cách truy vấn dữ liệu trong tài liệu XML, phần tiếp theo 8 chúng tôi xin trình bày chi tiết về ngôn ngữ Xpath và ứng dụng vào bài toán quản lý thông tin sinh viên. 3. Ngôn ngữ Xpath và ứng dụng bài toán quản lý thông tin sinh viên XPath có một vai trò quan trọng trong việc trao đổi dữ liệu giữa các máy tính hay giữa các chương trình ứng dụng vì nó cho chúng ta sàng lọc các dữ liệu mà ta mong muốn. Xpath là một ngôn ngữ dùng để xử lý truy vấn trên tài liệu XML [1, 2, 3], cũng giống như SQL là một chuẩn để làm việc với cơ sở dữ liệu. Xpath xem XML như một cây, ví dụ biểu diễn XML dưới dạng cây như sau: 3.1. Cú pháp của XPath 3.1.1. Đường dẫn tuyệt đối Nếu đường dẫn Xpath bắng đầu bởi dấu / thì có nghĩa là một đường dẫn tuyệt đối bắt đầu từ phần tử gốc. Tiếp tục với ví dụ trên: • Muốn đi đến 1 nút: giả sử muốn đến nút Order thì viết đường dẫn xpath như sau: - Cú pháp đầy đủ: /Child::Order - Cú pháp tắt: /Order • Muốn đi đến một thuộc tính của nút thì cần phải chỉ rõ từ khóa Attribute trong cú pháp nguyên hoặc @ trong cú pháp tắt, ví dụ muốn đi đến thuộc tính OrderNo thì viết đường dẫn Xpath như sau: - Cú pháp đầy đủ: /child::Order/Attribute::OrderNo 9 - Cú pháp tắt: /Order/@OrderNo 3.1.2. Đường dẫn tương đối Khi muốn trích một phần tử nào đó mà chỉ biết tên của phần tử này chứ không biết phần tử này nằm ở vị trí nào thì có thể dung đường dẫn tương đối để thực hiện, bằng cách sử dụng dấu // để chỉ cho trình phân tích biết đây là đường dẫn tương đối. Ví dụ, để trích các phần tử có tên là Product chúng ta viết như sau: - Cú pháp nguyên: //child::Product - Cú pháp viết tắt: //Product 3.1.3. Chọn các phần tử bằng ký tự đại diện Để chọn tất cả các phần tử con của một phần tử nào đó, có thể dung ký tự đại diện *. Ví dụ, để lấy tất cả các phần tử con của phần tử Order ta viết như sau: - Cú pháp nguyên: /child::Order/child::* - Cú pháp tắt: /Order/* 3.1.4. Chọn các phần tử theo điều kiện Để lấy các phần tử theo một điều kiện nào đó, sử dụng dấu ngoặc vuông ([ ]). Ví dụ, để lấy những phần tử Item có phần tử con là Product và có thuộc tính ProductID=1 chúng ta viết như sau: - Cú pháp nguyên: //child::Item[child::Product/Attribute::ProductID=1] - Cú pháp tắt: //Item[Product/@ProductID=1] 3.2. Ứng dụng vào bài toán quản lý thông tin sinh viên Trong phần này, chúng tôi đã xây dựng một mô hình sử dụng xml database để quản lý thông tin các sinh viên. Chương trình được lập trình trên môi trường Visual Studio và ngôn ngữ sử dụng là C#. Ở đây chúng tôi dùng XPath như là một công cụ để thực hiện các thao tác xử lý trên file xml (xml database). Các thao tác chính chúng ta sẽ thực hiện mô phỏng đó là: • Chèn một đối tượng vào cơ sở dữ liệu • Tìm kiếm một đối tượng trong cơ sở dữ liệu • Xoá một đối tượng trong cơ sở dữ liệu • Thay đổi thông tin một đối tượng trong cơ sở dữ liệu. Các thông tin sinh viên trong cơ sở dữ liệu chương trình gồm: • MSSV • Họ và tên • Ngày sinh • Địa chỉ • Email • Mobile 10 [...]... trung ứng dụng vào bài toán quản lý thông tin sinh viên Có thể nhận thấy rằng XML có tính khả chuyển, mềm dẻo cao, dễ sử dụng do tổ chức dữ liệu có cấu trúc và phân cấp Tuy nhiên vẫn còn khá nhiều hạn chế khi áp dụng vào bài toán quản lý thông tin sinh viên: Không phù hợp với những bài toán có cơ sở dữ liệu lớn 5 Tài liệu tham khảo [1] http://www.w3schools.com/xml/ [2] http://www.w3schools.com /xpath/ ... xuất ra như sau: Bài toán quản lý thông tin sinh viên trong báo cáo này chỉ hoạt động hiệu quả với quy mô sinh viên nhỏ và số lượng thông tin được quản lý là không lớn 3.2.1 Chèn thêm 1 đối tượng vào xml database Màn hình chương trình khi thêm 1 đối tượng sinh viên mới: 11 Hàm thêm 1 đối tượng sinh viên có cấu trúc như sau: 3.2.2 Tìm kiếm sinh viên theo MSSV Màn hình tìm kiếm một sinh viên theo MSSV:... 12 Hàm tìm kiếm sinh viên theo MSSV có cấu trúc như sau: 13 14 3.2.3 Xóa thông tin sinh viên 15 3.2.4 Sửa thông tin sinh viên 4 Kết luận Báo cáo đã trình bày những khái niệm cơ bản về XML, cách sử dụng XML trong vấn đề lưu trữ dữ liệu Đồng thời, báo cáo cũng đã giới thiệu về tài liệu XML, cấu trúc của một tài liệu XML cũng như ngôn ngữ truy vấn tài liệu XML - Xpath 16 Từ những tìm hiểu sơ bộ đó, chúng . ngữ Xpath và ứng dụng vào bài toán quản lý thông tin sinh viên. 3. Ngôn ngữ Xpath và ứng dụng bài toán quản lý thông tin sinh viên XPath có một vai trò quan trọng trong việc trao đổi dữ liệu. NGHỆ NGÔN NGỮ XPATH VÀ ỨNG DỤNG BÀI TOÁN QUẢN LÝ THÔNG TIN SINH VIÊN Báo cáo môn Cơ sở dữ liệu nâng cao Nhóm 8: Phạm Huyền Trang Đinh Thị Hương HÀ NỘI - 2012 MỤC LỤC 1. Tổng quan về cơ sở dữ liệu XML. Tài liệu XML 7 2. Cách sử dụng một tài liệu XML trong môi trường Visual Studio 8 3. Ngôn ngữ Xpath và ứng dụng bài toán quản lý thông tin sinh viên 9 3.1. Cú pháp của XPath 9 3.2. Ứng dụng vào bài

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

Từ khóa liên quan

Mục lục

  • 1. Tổng quan về cơ sở dữ liệu XML

    • 1.1. XML

      • 1.1.1. Khái niệm XML

      • 1.1.2. XML và vấn đề lưu trữ thông tin

      • 1.1.3. XML và cơ sở dữ liệu quan hệ

      • 1.2. Tài liệu XML

        • 1.2.1. Khái niệm tài liệu XML

        • 1.2.2. Cấu trúc của tài liệu XML

        • 2. Cách sử dụng một tài liệu XML trong môi trường Visual Studio

        • 3. Ngôn ngữ Xpath và ứng dụng bài toán quản lý thông tin sinh viên

          • 3.1. Cú pháp của XPath

            • 3.1.1. Đường dẫn tuyệt đối

            • 3.1.2. Đường dẫn tương đối

            • 3.1.3. Chọn các phần tử bằng ký tự đại diện

            • 3.1.4. Chọn các phần tử theo điều kiện

            • 3.2. Ứng dụng vào bài toán quản lý thông tin sinh viên

              • 3.2.1. Chèn thêm 1 đối tượng vào xml database

              • 3.2.2. Tìm kiếm sinh viên theo MSSV

              • 3.2.3. Xóa thông tin sinh viên

              • 3.2.4. Sửa thông tin sinh viên

              • 4. Kết luận

              • 5. Tài liệu tham khảo

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

Tài liệu liên quan