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

Tìm kiếm dữ liệu Web với ngôn ngữ XML

80 602 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 80
Dung lượng 1,3 MB

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

Nội dung

trong kỹ thuật và xử lý cơ sở dữ liệu đưa đến các cơ hội sử dụng thông tin một cách linh hoạt và hiệu quả khi dữ liệu được tổ chức và lưu trữ trong các cấu trúc quan hệ.. Không như các d

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Phùng Tuấn Anh

TÌM KIẾM DỮ LIỆU WEB VỚI NGÔN NGỮ XML

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Trang 2

TÓM TẮT LUẬN VĂN

1 Thông tin chung:

Tên đề tài: Tìm kiếm dữ liệu Web với ngôn ngữ XML

Giáo viên hướng dẫn: PGS TS Đỗ Trung Tuấn

Học viên thực hiện: Phùng Tuấn Anh

- Nhu cầu thực tế về tìm kiếm dữ liệu Web hiện nay trên Internet

- Xây dựng chương trình đề mô, ứng dụng XML để tìm kiếm thông tin trên Website cho người sử dụng

4 Kết quả đạt được:

Luận văn đã tìm hiểu những vấn đề liên quan đến dữ liệu và cơ sở dữ liệu, đặc biệt ngôn ngữ XML và cơ sở dữ liệu XML Trong phần đầu luận văn, một số nhu cầu về sử dụng dữ liệu XML được trình bày

Trong chương hai, luận văn trình bày một số khía cạnh của ngôn ngữ XML, đặc biệt những cú pháp và tìm kiếm dữ liệu XML Việc này có ý nghĩa quan trong trong hệ thống các văn bản Internet đã và đang trở nên thông dụng

Ngoài những tìm hiểu về hệ thống XML, luận văn đã thử nghiệm với một vài công việc thực tế tại Sở Công Thương tỉnh Thái Nguyên

Đã xây dựng chương trình đề mô, ứng dụng XML để tìm kiếm thông tin trên Website cho người sử dụng

Trang 3

MỤC LỤC

MỤC LỤC 3

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

DANH MỤC CÁC HÌNH VẼ 7

LỜI CẢM ƠN 8

LỜI NÓI ĐẦU 9

CHƯƠNG 1 11

DỮ LIỆU VÀ NHU CẦU XỬ LÝ DỮ LIỆU 11

1.1 Nhu cầu về dịch vụ Web 11

1.2 Xử lý dữ liệu nhờ các hệ quản trị cơ sở dữ liệu 17

1.2.1 Giới thiệu 17

1.2.2 Quá trình phát triển của hệ quản trị cơ sở dữ liệu (DBMS) 19

1.3 Nhu cầu về cơ sở dữ liệu XML 22

1.3.1 Lý do cần cơ sở dữ liệu XML 22

1.3.2 Vai trò thay thế các cơ sở dữ liệu quan hệ của XML 23

1.3.3 Các giải pháp sử dụng XML 23

1.3.4 Đánh giá chung và vai trò của XML 24

1.4 Kết luận 25

CHƯƠNG 2 26

XML VÀ NGÔN NGỮ TRUY VẤN DỮ LIỆU 26

2.1 Giới thiệu XML 26

2.1.1 Một số ngôn ngữ đánh dấu 26

2.1.2 Ngôn ngữ đánh dấu mở rộng XML 27

2.1.3 Sự khác nhau giữa XML và HTML 27

2.1.4 Lịch sử hình thành và phát triển XML 28

2.2 Đặc điểm của XML 29

Trang 4

2.2.1 Các tệp XML 30

2.2.2 Sử dụng XML 31

2.3 Cấu trúc một tài liệu XML 32

2.3.1.Thí dụ 32

2.3.2 Xem tài liệu XML trên trình duyệt 34

2.3.3 Trích dữ liệu trong tài liệu XML 34

2.4 Tổ chức dữ liệu XML 35

2.4.1 Tạo tài liệu XML đúng khuôn dạng 36

2.4.2 Tạo tài liệu XML hợp lệ 36

2.5 Tạo tài liệu XML 37

2.5.1 Bộ ký tự mã hóa 37

2.5.2 Đánh dấu XML và dữ liệu XML 38

2.5.3 Ký tự trắng và dấu xuống dòng 39

2.5.4 Tạo phần mở đầu 39

2.5.5 Tạo khai báo XML 39

2.5.6 Ghi chú tài liệu 40

2.5.7 Tạo các chỉ thị xử lý 40

2.5.8 Tạo thẻ và phần tử 40

2.5.9 Tạo tài liệu XML hợp khuôn dạng 43

2.5.10 Các ràng buộc hợp khuôn dạng: 46

2.5.11 Sử dụng không gian tên trong XML 48

2.5.12 Không gian tên mặc định 53

2.5.13 Cách ghi chú trong DTD 61

2.6 Các ngôn ngữ truy vấn XML 62

Trang 5

2.6.1 XPath 62

2.6.2 XQuery 62

2.6.3 XSL 63

2.7 Kết luận 66

CHƯƠNG 3 67

TÌM KIẾM THÔNG TIN VỚI XML 67

3.1 Nhu cầu tìm kiếm dữ liệu tại Thái Nguyên 67

3.1.1 Đặc điểm công tác của đơn vị 67

3.1.2 Xác định hệ thống thông tin tại cơ quan 67

3.1.3 Mục đích của tìm kiếm dữ liệu Web 67

3.2 Đảm bảo kỹ thuật 68

3.2.1 Thiết kế hệ thống thu thập thông tin 68

3.2.2 Bộ lập chỉ mục 69

3.2.3 Bộ tìm kiếm thông tin 69

3.2.4 Nguyên lý hoạt động của Search Engine 70

3.3 Ứng dụng XML tìm kiếm thông tin web tại đơn vị 70

3.3.1 Tìm kiếm thông tin trên webiste 70

3.3.2 Thiết lập chương trình tìm kiếm sử dụng công cụ robot 73

3.3.2 Chương trình tìm kiếm 77

3.4 Kết luận 78

KẾT LUẬN 79

Kết luận và khuyến nghị 79

Hướng phát triển mở rộng 79

TÀI LIỆU THAM KHẢO 80

Trang 6

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

4th Dimension, ANTs Data Server,

Dataphor, Daffodil database,

FileMaker Pro, Informix, InterBase,

Matisse, Microsoft Access, Mimer

SQL, NonStop SQL, Sand Analytic

Server , SmallSQL, Sybase ASA,

Watcom SQL, Sybase, Sybase IQ,

Teradata, ThinkSQL, VistaDB

Các hệ quản trị cơ sở dữ liệu thương mại

Cloudscape, Firebird, HSQLDB,

Ingres, MaxDB, MonetDB,

PostgreSQL, SQLite, tdbengine

Các hệ quản trị cơ sở dữ liệu mã mở

thông

MVS (Multiple Virtual Storage) Lưu trữ ảo

liệu XML nguyên gốc)

Language

SERVER

Trang 7

DANH MỤC CÁC HÌNH VẼ

Hình 1.1: Inetrnet giúp truy cập 11

Hình 1.2: Mua bán trên mạng 13

Hình 1.3: Thông tin nội bộ 14

Hình 1.4: Dịch vụ 24/ 24 15

Hình 1.5: Truyền thông linh hoạt 16

Hình 1.6: Ba tầng cơ sở dữ liệu 18

Hình 1.7: Mô hình ER 19

Hình 1.8: SQL SERVER 21

Hình 2.1: Ngôn ngữ HTML 27

Hình 2.2: XML và ngôn ngữ khác 27

Hình 2.3: Sơ đồ SGML 29

Hình 2.4: Mối quan hệ giữa các thành phần trong XML 63

Hình 3.1: Các máy chủ trong kiến trúc C/S 70

Hình 3.2: Một trang web chứa thông tin của sở 71

Hình 3.3: Nội dung trang web dạng xHTML 72

Hình 3.4: Sơ đồ hoạt động của công cụ robot 74

Hình 3.5: Sơ đồ thẻ xHTML tổ chức dưới dạng cây 76

Hình 3.6: Giao diện trang tìm kiếm 77

Hình 3.7: Giao diện kết quả tìm kiếm 77

Trang 8

Tôi xin chân thành cảm ơn các anh chị cùng các bạn đã có những nhận xét, đóng góp ý kiến, động viên, quan tâm và giúp đỡ tôi vượt qua khó khăn

Cuối cùng, Tôi xin gửi lòng biết ơn sâu sắc đến cha mẹ, gia đình, Lãnh đạo Sở Công Thương đã tạo mọi điều kiện về thời gian, vật chất, tinh thần động viên, khích lệ và hỗ trợ tôi trong suốt thời gian qua./

Thái Nguyên, ngày 12 tháng 9 năm 2012

Trang 9

LỜI NÓI ĐẦU

Thế kỷ XXI, thế kỷ của sự bùng nổ công nghệ thông tin, các công nghệ tiên tiến phát triển như vũ bão, mang một luồng gió mới thổi vào nhận thức của mỗi người Song song đó, thế giới đang trong xu thế toàn cầu hóa, tất cả đều mang ý nghĩa hội nhập Lúc này, các doanh nghiệp và chính phủ không chỉ cạnh tranh với các doanh nghiệp trong một quốc gia mà còn cạnh tranh với các doanh nghiệp, chính phủ ở khắp thế giới Vì thế, để tồn tại và phát triển, mục tiêu mà các doanh nghiệp hướng đến đầu tiên là nâng cao chất lượng phục vụ khách hàng Khách hàng là yếu tố sống còn của bất kỳ doanh nghiệp nào trong thế kỷ XXI Một Chính phủ muốn quốc gia mình phát triển phải xem nhân dân và doanh nghiệp là khách hàng Doanh nghiệp nào làm cho khách hàng thỏa mãn, doanh nghiệp đó sẽ phát triển tốt, Chính phủ nào làm nhân dân hài lòng Chính phủ đó

sẽ vững mạnh

Trong bối cảnh phát triển mạnh mẽ của Internet, thương mại điện tử, Chính phủ điện tử đã ra đời và phát triển khá nhanh, điều này không phải là mới trên thế giới nhưng vẫn là rất mới đối với Việt Nam Nhiều vấn đề đặt ra là làm thế nào để ứng dụng công nghệ thông tin vào đời sống được hữu dụng nhất

Chính vì vậy đề tài “Tìm kiếm dữ liệu Web với ngôn ngữ XML” được đưa

ra nhằm giúp cho các doanh nghiệp hay các tổ chức nhà nước, hỗ trợ cho người dùng đạt hiệu quả Với luận văn này, tôi mong muốn sẽ xây dựng được một hệ thống chương trình phần mền "hệ thống tìm kiếm dữ liệu WEB" để phục vụ cho việc tra cứu văn bản chuyên ngành của Sở Công Thương Thái Nguyên

Trong quá trình tìm hiểu và viết về những đặc tính của XML sẽ không tránh khỏi những sai sót và hạn chế, rất mong được sự góp ý của Hội đồng và toàn thể những ai đã đọc luận văn này của tôi, để bản luận văn của tôi được hoàn thiện hơn nữa

Trang 10

Luận văn được chuẩn bị theo các chương :

 Chương 1 trình bày nhu cầu xử lý dữ liệu và dẫn đến vai trò của dữ liệu XML và thông tin trên Internet Các hệ thống quản trị cơ sở dữ liệu được đề cập để thấy được vai trò của chúng

 Chương 2 trình bày một số khía cạnh của XML và thách thức đối với bài toán tìm kiếm thông tin trên Web Những kiến thức tìm hiểu

là cơ sở để phát triển ứng dụng trong chương sau

 Chương 3 trình bày những ứng dụng thử nghiệm tại địa bàn Thái Nguyên Một số trang màn hình cho phép thể hiện kết quả thử nghiệm

Phần cuối là kết luận, trình bày các kết quả làm được và định hướng nghiên cứu tiếp

Trang 11

CHƯƠNG 1

DỮ LIỆU VÀ NHU CẦU XỬ LÝ DỮ LIỆU

1.1 Nhu cầu về dịch vụ Web

Để nói đến như cầu về dịch vụ Web hiện nay chúng ta phải nói đến các khía cạnh cụ thể như sau:

1 Thiết lập sự hiện diện: Có gần 300 triệu người trên thế giới đã truy cập vào

mạng và số lượng này không ngừng tăng lên hàng ngày Việc tiếp cận được

dù chỉ 1% nhóm khách hàng này cũng là 1 thành công của các doanh nghiệp

Đó là một phần không nhỏ của cộng đồng xã hội, hãy cho người ta biết quan tâm tới việc phục vụ cả cộng đồng này, người ta cần phải có mặt trên mạng Internet Người ta nên hiểu, đối thủ cạnh tranh của người ta cũng đang làm như vậy

Hình 1.1: Inetrnet giúp truy cập

2 Tận dụng hoàn toàn những cơ hội tiếp xúc : Nhiều khi công việc kinh

doanh được hiểu một cách đơn giản là giao tiếp với khách hàng Mọi doanh nhân thông minh đều hiểu rằng: "Bí quyết thành công không nằm ở chỗ những gì người ta biết mà chính là ở chỗ người ta biết tới những khách hàng nào" Các doanh nhân đều muốn tận dụng các cuộc gặp gỡ thông thường thành công việc kinh doanh có lợi và việc trao danh thiếp là một việc được coi trọng trong quá trình này Nhưng điều gì sẽ xảy ra khi doanh nghiệp cần phải gặp gỡ hàng ngàn, thậm chí hàng triệu đối tác làm ăn, liệu các doanh nghiệp có thể tiếp xúc cùng một lúc với tất cả các khách hàng Điều này có

Trang 12

thể được giải quyết hết sức đơn giản, tại mọi lúc, mọi nơi, mọi thời điểm thông qua các trang Website trên mạng Internet

3 Tạo ra nguồn thông tin sẵn có cho đối tác : Khi người ta muốn tạo các

trang thông tin, quảng cáo, có thể người ta sẽ đăng chúng trên mục quảng cáo, trang vàng, nhưng thời gian sẽ làm cho người ta phải tính lại Vì, làm thế nào

để khách hàng quan tâm có thể liên hệ được ngay với bạn? Phương thức thanh toán trong mỗi dịch vụ sẽ như thế nào? Quảng cáo trang vàng sẽ khó khăn trong việc này vì đây vẫn chỉ là một loại phương tiện truyền thông có khoảng cách Trong thời đại hiện nay, các thông tin đòi hỏi phải nhanh chóng hơn và mang tính đa chiều hơn Internet sẽ giúp người ta làm được điều đó thông qua những trang thông tin được duy trì liên tục 24/24 giờ trong ngày và

07 ngày trong tuần Khách hàng có thể xem thông tin về doanh nghiệp của bạn bất kỳ lúc nào họ muốn, thậm chí ngay cả khi bạn đang ngủ

4 Phục vụ khách hàng thật hiệu quả: Công nghệ Internet sẽ mang lại cho

doanh nghiệp của người ta nhiều cách hơn để phục vụ khách hàng Liệu người ta có đủ đội ngũ nhân viên trực điện thoại để tiếp nhận các yêu cầu cung cấp thông tin dịch vụ mà họ cần? Liệu khách hàng có thể tự động tra cứu vào cơ sở dữ liệu, tìm kiếm các thông tin về dịch vụ người ta đang tiến hành mà họ muốn không? Tất cả điều này khách hàng có thể làm được một cách đơn giản và nhanh chóng thông qua chính Website của doanh nghiệp bạn

5 Thu hút sự quan tâm của dân chúng : Người ta khó mà thuyết phục được

các tạp chí đăng bài về việc người ta khai trương một cửa hàng mới nhưng người ta lại có thể thuyết phục được họ đăng bài nêu tên Website của người ta

vì trang Web đó mới và có nhiều điều thú vị Với các thông tin như vậy, bất

kỳ người sử dụng Internet nào cũng có thể truy cập vào Website để tìm hiểu

về doanh nghiệp của người ta và có thể trở thành khách hàng tiềm năng

6 Công bố thông tin vào bất kỳ thời gian nào : Nếu người ta cần phải công

bố các tài liệu trước lúc nửa đêm thì sẽ như thế nào? Giả sử đó là tin khẩn cấp, công bố các giải thưởng của chương trình khuyến mại, Nếu người ta

Trang 13

gửi các tin này tới các tòa soạn báo thì người ta sẽ gặp phải trở ngại về thời gian: Thông tin của người ta chỉ được phát hành cùng với giờ phát hành của báo và không thể thay đổi sau khi báo đã được phát hành Với Internet, người

ta hoàn toàn có thể thay đổi tin tức mới cho Website của doanh nghiệp trong vòng vài giây đồng hồ, những thông tin mới nhất sẽ được cập nhật và sẽ được chuyển tới những người mong đợi mà không phải qua bất kỳ người đưa tin nào

7 Để bán hàng hóa : Internet đem lại cho doanh nghiệp của người ta một cơ

hội lớn để người ta có thể bán hàng Sự phát triển của Internet trên toàn thế giới kéo theo sự ra đời và mở rộng của một thị trường khách hàng mới đầy tiềm năng - cộng đồng người sử dụng Internet Liệu người ta có nên chần chừ khi mà các đối thủ cạnh tranh trong kinh doanh của người ta đang dần từng bước thâm nhập và chiếm lĩnh thị phần trên Internet

Hình 1.2: Mua bán trên mạng

8 Giới thiệu sản phẩm sinh động : Nếu sản phẩm của người ta là những chiếc

máy thì khách hàng sẽ thực sự bị thuyết phục khi nhìn thấy nó hoạt động ra sao Internet mở ra cho người ta nhiều cách thức để giới thiệu sản phẩm thật sinh động tới khách hàng thông qua Website bằng hình ảnh, âm thanh, các đoạn phim ngắn, điều này sẽ khiến các khách hàng tiềm năng sẽ đến với người ta nhiều hơn, không một quyển sách giới thiệu nào có thể làm được như vậy

9 Vươn tới một thị trường dân chúng có thu nhập cao : Số lượng người

tham gia vào mạng Internet có thể tạo ra một thị trường sẵn có đông đảo nhất Những người sử dụng Internet thường là những người có trình độ học vấn, có

Trang 14

hiểu biết và địa vị ổn định, thu nhập cao trong xã hội Chính vì vậy, tiếp cận được và chiếm lĩnh thị trường khách hàng này là điều mà bất kỳ doanh nghiệp kinh doanh nào cũng mong muốn đạt được

10 Trả lời các câu hỏi thường gặp : Bất kỳ người trực điện thoại nào trong

công ty người ta cũng đều nói rằng họ dùng phần lớn thời gian của mình để trả lời các câu hỏi gần như giống nhau Đó là những câu hỏi mà các khách hàng muốn hỏi trước khi họ giao dịch với bạn Đưa những câu hỏi này lên Website sẽ giúp người ta loại bỏ được những rào chắn đối với công việc kinh doanh và giải phóng bớt thời gian cho nhân viên trực điện thoại

11 Giải quyết thông tin nội bộ : Các nhân viên bán hàng lưu động có thể cần

những thông tin cập nhật từng phút để giúp họ bán hàng cũng như giúp cho việc kinh doanh luôn ăn ý Nếu người ta biết thông tin gì cần thiết, người ta

có thể đưa chúng lên 1 Website riêng Với một cuộc truy cập Internet thông qua điện thoại nội hạt, nhân viên bán hàng của doanh nghiệp người ta ở bất

kỳ nơi đâu trên thế giới sẽ nhận được những thông tin đầy đủ nhất mà không phải trả cước phí đường dài và những nhân viên ở văn phòng không bận rộn thêm

Hình 1.3: Thông tin nội bộ

12 Mở rộng ra thị trường quốc tế : Với việc kinh doanh thông thường người ta

không thể gửi thư, điện thoại hay phổ biến các quy định tới tất cả mọi khách hàng tiềm năng trên thị trường thế giới, nhưng với Website người ta có thể hội thoại trực tiếp với khách hàng quốc tế như là với một khách hàng trong nội hạt Khi doanh nghiệp của người ta có các văn phòng đại diện ở nước

Trang 15

ngoài, họ sẽ truy cập vào nguồn thông tin của văn phòng trong nước với chi phí phải trả chỉ bằng một cuộc điện thoại gọi nội hạt

13 Hình thành dịch vụ 24 giờ : Chúng ta không phải lúc nào cũng có những

công việc cùng chung một lịch trình Công việc kinh doanh là khắp mọi lúc, mọi nơi chứ không phải chỉ là thời gian ở công sở Khi công việc kinh doanh giữa Châu Âu và Châu Á đang thực hiện thì sự khác biệt về thời gian sẽ là điều cản trở lớn Các Website sẽ phục vụ khách hàng và các đối tác của người

ta 24/24 giờ trong ngày, 07/07 ngày trong tuần Thông tin có thể được khách hàng lựa chọn theo nhu cầu và các thông tin mà họ coi là quan trọng, chính điều này sẽ đưa người ta dẫn đầu trong cuộc cạnh tranh ngay cả khi người ta

ở ngoài văn phòng làm việc

Hình 1.4: Dịch vụ 24/ 24

14 Thay đổi thông tin hiện thời một cách nhanh chóng : Có những thông tin

bị thay đổi trước khi nó được in ra Và người ta sẽ có một đống giấy tờ có cũng như không có giá trị lẫn lộn nhau Các ấn phẩm điện tử có thể thay đổi theo nhu cầu của người ta mà không cần đến giấy tờ, bút mực hay hóa đơn Người ta còn có thể gắn Website của doanh nghiệp với 1 cơ sở dữ liệu mà người ta có thể thay đổi bao nhiêu lần trong 1 ngày cũng được tùy theo yêu cầu Chẳng có giấy tờ nào có thể giúp người ta thực hiện được sự năng động đó

15 Cho phép người ta tiếp nhận thông tin phản hồi từ phía khách hàng : Với

Website người ta có thể yêu cầu thông tin phản hồi từ phía khách hàng ngay lập tức khi họ đang ghé thăm Website của doanh nghiệp bạn Điều này giúp người ta tiết kiệm được rất nhiều thời gian và tiền bạc để hoạch định các chiến lược quảng cáo và kinh doanh trên cơ sở những thông tin nắm bắt được

Trang 16

từ phía khách hàng mà không phải mất thêm khoản chi nào nữa Câu trả lời của khách hàng được đưa lên Website ngay khi khách hàng tìm hiểu sản phẩm và được chuyển ngay lập tức tới địa chỉ e-mail của bạn

16 Thử nghiệm dịch vụ và sản phẩm mới trên thị trường : Khi đưa ra một

sản phẩm mới trên thị trường, điều mà tất cả các doanh nghiệp phải làm là quảng cáo và giới thiệu sản phẩm đó Với các phương pháp quảng cáo truyền thống, đây sẽ là một công đoạn rất tốn kém và đòi hỏi kinh phí lớn Nhưng nếu người ta giới thiệu, quảng cáo sản phẩm mới trên Website của doanh nghiệp bạn, người ta sẽ biết rằng có thể chờ đợi gì từ những khách hàng truy cập vào Website, họ chính là thị trường ít tốn kém nhất mà người ta vươn tới

Họ còn có thể cho người ta biết họ nghĩ gì về sản phẩm của người ta một cách nhanh nhất, dễ dàng nhất với một chi phí ít hơn bất kỳ thị trường nào mà người ta vươn tới

17 Phương tiện truyền thông linh hoạt :

Hình 1.5: Truyền thông linh hoạt

Ngày nay, Internet được đánh giá là hệ thống truyền dẫn chuyên nghiệp nhất bởi vì sản phẩm chính của nó là các thông tin được tiếp cận một cách dễ dàng, nhanh chóng và rẻ tiền Tất cả các ấn phẩm được truyền trên Internet đang ngày càng trở nên phổ biến bởi vì các công việc đều được thực hiện trong môi trường kỹ thuật số từ rất nhiều nguồn thông tin cung cấp Tất cả những công việc này thực hiện một cách dễ dàng thông qua các trang Web trên chính Website của doanh nghiệp bạn

Trang 17

18 Tiếp cận một thị trường của giới trẻ và mang tính giáo dục : Ở hầu hết

các trường đại học đều đã cho sinh viên tiếp cận vào Internet, giới học sinh phổ thông sẽ từng bước làm quen và sử dụng dịch vụ Internet trong nhiều năm tới Nhu cầu về sách vở, trang phục thể thao, các khóa học, thời trang trẻ

và rất nhiều thứ khác sẽ trở thành nhu cầu đa dạng của thị trường trên Internet Thậm chí ngay cả khi áp dụng dịch vụ thương mại điện tử trên mạng

và tuổi thọ trung bình có phần tăng lên thì sự tăng trưởng của khu vực thị trường tuổi dưới 25 vẫn tiếp tục

19 Tiếp cận một thị trường có tính chuyên nghiệp : Mạng Internet không đơn

thuần chỉ là những máy tính mà nó còn là nơi mọi người có thể mua bán, trao đổi bất kỳ thứ gì từ chiếc bàn chải đánh răng, các tác phẩm nghệ thuật cho đến các bài học tiếng Anh, Với 70 triệu người sử dụng thường xuyên và số lượng người sử dụng tăng lên hàng ngày, thông tin kinh doanh của người ta

có thể được giới thiệu cho một số lượng người rất lớn

20 Phục vụ tại thị trường địa phương : Chúng ta đã nói về sức mạnh của việc

phục vụ nhu cầu trên thị trường quốc tế thông qua Internet, nhưng còn khu vực thị trường ở ngay địa phương của người ta thì sao? Câu trả lời là: chính khách hàng trong địa phương người ta thông qua các hoạt động marketing, họ

sẽ biết tới Website, truy cập thông tin trên Internet và mang lại lợi nhuận cho công ty bạn Cho nên dù công ty được đặt ở đâu thì thông qua mạng Internet, những khách hàng tiềm năng vẫn biết đến người ta và người ta cũng sẽ sẵn sàng phục vụ họ

1.2 Xử lý dữ liệu nhờ các hệ quản trị cơ sở dữ liệu

1.2.1 Giới thiệu

Thông tin là nguồn tài nguyên quý giá của một tổ chức Các phần mềm máy tính là những công cụ hiệu quả để xử lý thông tin và hệ quản trị cơ sở dữ liệu là công cụ phổ biến cho phép lưu trữ và rút trích thông tin một cách hiệu quả Hệ quản trị cơ sở dữ liệu quan hệ là hệ quản trị cơ sở dữ liệu phổ biến nhất hiện nay và được hỗ trợ bởi nhiều nhà cung cấp phần mềm Tính hiệu quả của các ứng dụng phụ thuộc vào chất lượng của việc tổ chức dữ liệu Những cải tiến

Trang 18

trong kỹ thuật và xử lý cơ sở dữ liệu đưa đến các cơ hội sử dụng thông tin một cách linh hoạt và hiệu quả khi dữ liệu được tổ chức và lưu trữ trong các cấu trúc quan hệ Hệ quản trị cơ sở dữ liệu là một thành công trong lĩnh vực thương mại

 Độc lập dữ liệu: hệ quản trị cơ sở dữ liệu phải cho phép tất cả mọi người dùng được phép lưu trữ, cập nhật và rút trích dữ liệu hiệu quả mà không cần nắm chi tiết về cấu trúc của cơ sở dữ liệu được biểu diễn và cài đặt

Trang 19

1.2.2 Quá trình phát triển của hệ quản trị cơ sở dữ liệu (DBMS)

Quá trình phát triển của DBMS như sau: Những năm 60 của thế kỷ trước,

có các tệp được chương trình truy cập Sau đó có các cơ sở dữ liệu theo mô hình (i) phân cấp; (ii) mạng

Sau năm 1970, đa số các cơ sở dữ liệu theo mô hình dữ liệu quan hệ Sau những năm 80, có ba cơ sở dữ liệu tiên tiến (i) cơ sở dữ liệu phân tán; (ii) cơ sở

dữ liệu hướng đối tượng; và (iii) cơ sở dữ liệu suy diễn

Hình 1.7: Mô hình ER

1.2.2.1 DB2

DB2 là một trong các dòng phần mềm quản trị cơ sở dữ liệu quan hệ của IBM Có nhiều phiên bản khác nhau của DB2 để chạy trên các loại máy tính từ thiết bị cầm tay đến các máy tính lớn Ở những công ty nhỏ thường gặp nhất là phiên bản DB2 Enterprise Server Edition hoặc DB2 Data Warehouse Edition (DB2 DWE), chạy trên các máy chủ Unix, Windows hoặc Linux Tuy nhiên khi nói đến DB2, phần đông người ta đều nghĩ đến DB2 for Z/OS, phiên bản DB2 nguyên thủy chạy trên máy mainframe IBM được phát hành từ năm 1982 Trên các máy nhỏ phần đông người ta hãy sử dụng RDBMS Oracle vì DB2 chỉ xuất hiện trên máy nhỏ cuối thập niên 1990

DB2 sử dụng ngôn ngữ SQL đễ đọc và viết thông tin vào dữ liệu

Trang 20

IBM DB2 Enterprise Server Edition là một hệ quản trị cơ sở dữ liệu quan

hệ được phát triển bởi IBM DB2 được dùng chủ yếu trên Unix (thường gọi AIX), Linux, IBM i (trước đây là OS/400), z/OS and Windows servers DB2 cũng hỗ trợ đắc lực IBM InfoSphere Warehouse khác Song song với DB2 là một

hệ quản trị cơ sở dữ liệu quan hệ khác: Informix, được IBM phát hành năm 2001

DB2 có một lịch sử lâu dài, và nhiều người nghĩ rằng, đây là sản phẩm về

cơ sở dữ liệu sử dụng [SQL] đầu tiên (SQL cũng được phát triển bởi IBM) mặc

dù Oracle đã phát hành một sản phẩm cơ sở dữ liệu thương mại SQL hơi sớm hơn so với IBM Tên DB2 lần đầu tiên được đặt cho hệ quản trị cơ sở dữ liệu vào năm 1983 khi IBM phát hành bản DB2 đầu tiên chạy trên nền của mainframe MVS (Multiple Virtual Storage) nền tảng máy tính lớn Trước đó, đã có một sản phẩm tương tự được đặt tên là SQL/DS chạy trên nền máy ảo Trên nền System

38 trước đó cũng có một hệ quản trị CSDL quan hệ Hệ quan hệ, hay System R,

là một nguyên mẫu được nghiên cứu phát triển trong những năm 1970 Khởi điểm thứ hai của DB2 bắt đầu lại vào đầu những năm 1970 khi EF Codd, làm việc cho IBM, đã mô tả lý thuyết về cơ sở dữ liệu quan hệ và trong tháng 6 năm

1970 xuất bản các mô hình thao tác dữ liệu Để áp dụng mô hình Codd, cần một ngôn ngữ cơ sở dữ liệu quan hệ mà ông đặt tên Alpha Vào thời điểm đó IBM đã không tin tưởng vào tiềm năng mô hình quan hệ của Codd, để lại công việc cho một nhóm các lập trình viên không thuộc giám sát của Codd, nhóm này đã vi phạm một số nguyên tắc cơ bản trong mô hình quan hệ của Codd, kết quả là cho

ra đời ngôn ngữ truy vấn cấu trúc tiếng Anh, hoặc SEQUEL Khi IBM phát hành sản phẩm cơ sở dữ liệu quan hệ đầu tiên, họ cũng muốn có một "Siêu ngôn ngữ" với chất lượng thương mại, do đó, nó kiểm tra toàn bộ SEQUEL và đổi tên ngôn ngữ truy vấn hệ thống (System Query Language) SQL để phân biệt nó với SEQUEL

1.2.2.2 Oracle

ORACLE là một bộ phần mềm được cung cấp bởi công ty ORACLE, nó bao gồm một bộ xây dựng các ứng dụng và các sản phẩm cuối cùng cho uer (end_uer product)

Trang 21

Oracle cung cấp một hệ quản trị CSDL mềm dẻo nó bao gồm CSDL Oracle, môi trường cho việc thiết kế các cơ sở dữ liệu (Designer 2000) và các công cụ phát triển (Developer 2000)

Hệ quản trị CSDL có tính an toàn , bảo mật cao,tính nhất quán và toàn vẹn

dữ liệu, cho phép user truy nhập tới CSDL phân tán như một khối thống nhất

Vì vậy nó được đánh giá là ưu việt nhất hiện nay

1.2.2.4 MySQL

MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở miễn phí nằm trong nhóm LAMP (Linux, Apache, MySQL, PHP), vì MySQL được tích hợp sử dụng chung với apache, PHP nên nó phổ biến nhất thế giới Vì MySQL ổn định và dễ

sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh (vì được nhiều người hỗ trợ mã nguồn mở

Trang 22

mà) và MySQL cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL chính vì thế nên MySQL được sử dụng và hỗ trợ của những lập trình viên yêu thích mã nguồn mở

1.2.2.5 Một số hệ quản trị cơ sở dữ liệu khác

Có nhiều hệ quản trị cơ sở dữ liệu khác từ có bản quyền đến nguồn mở, miễn phí Có thể kể ra đây như:

 Phần mềm có bản quyền: 4th Dimension, ANTs Data Server, Dataphor, Daffodil database, FileMaker Pro, Informix, InterBase, Matisse, Microsoft Access, Mimer SQL, NonStop SQL, Sand Analytic Server , SmallSQL, Sybase ASA (trước đây là Watcom SQL), Sybase, Sybase IQ, Teradata, ThinkSQL, VistaDB;

 Phần mềm miễn phí hoặc nguồn mở: Cloudscape, Firebird, HSQLDB, Ingres, MaxDB, MonetDB, PostgreSQL, SQLite, tdbengine

1.3 Nhu cầu về cơ sở dữ liệu XML

1.3.1 Lý do cầ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ác 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 này 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 Không như các tài liệu không có cấu trúc, các thành phần riêng lẻ có thể được phân loại bằng cách sử dụng các nhãn

mô tả

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à người ta có thể, nhưng người ta 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

Trang 23

Mặt khác, định dạng XML phù hợp với việc mô tả dữ liệu bán cấu trúc Thêm nữa, người ta có thể duy trì mô hình dữ liệu một cách dễ dàng 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ỉ liên 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 như là các hồ sơ xin việc, các mô tả sản phẩm, và các đơn hàng của khách hàng, XML có lẽ là định dạng 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

1.3.2 Vai trò thay thế các cơ sở dữ liệu quan hệ của XML

Nếu người ta có một giải pháp mà cho phép người ta lưu trữ dữ liệu bán cấu trúc, người ta cũng có thể sử dụng nó để lưu trữ dữ liệu có cấu trúc và không

có cấu trúc Việc có tất cả dữ liệu của người ta trong một giải pháp lưu trữ đơn lẻ với khả năng tương kết và tạo ra các truy vấn mà bao trùm mọi thứ trong một lần thì dễ hơn rất nhiều so với dữ liệu tích hợp từ nhiều nguồn lưu trữ khác nhau

Vậy thì làm thế nào để xác định bản chất dữ liệu của bạn? Và người ta sẽ phải làm gì nếu khối lượng dữ liệu có cấu trúc, bán cấu trúc và không cấu trúc là tương đương? Trong trường hợp bất định như vậy, tin tốt lành là các cơ sở dữ liệu cổ điển là lựa chọn phù hợp để chứa các tài liệu XML hoặc các phân mảnh của các tài liệu XML vào thời điểm hiện tại Các cách thức để truy cập những phân mảnh XML này có lẽ khác nhau giữa các cơ sở dữ liệu Một điều mà các bản cài đặt của các cơ sở dữ liệu cùng có là chúng sử dụng bản XQuery 1.0

1.3.3 Các giải pháp sử dụng XML

Một số sản phẩm trên thị trường cài đặt một cơ sở dữ liệu XML một chiều hoặc một cơ sở dữ liệu khác, bao gồm Xindice, Tamino, X-Hive, Oracle, và Microsoft® SQL Server Tuy nhiên, tôi sẽ không bàn luận về những sản phẩm này trong bài viết Một bản so sánh sản phẩm dài và đầy đủ là không khả thi, và

nó có thể không đáng tin khi mà bài viết này được công bố trên trang của một nhà cung cấp một giải pháp cơ sở dữ liệu XML Các tác giả độc lập cũng không giải quyết hoàn toàn các câu hỏi một cách khách quan

Trang 24

Những gì có thể làm là thảo luận về IBM DB2 Express-C với các tính năng pureXML và so sánh nó với các tiếp cận của các NXD cổ điển Với so sánh này, tôi

đã chọn một dự án mã mở tên là eXist-DB Cả eXist-DB và DB2 Express-C đều miễn phí và cung cấp rất nhiều chức năng thân thiện với người dùng

Nếu người ta muốn lưu trữ lượng dữ liệu cực lớn, tôi khuyên người ta mua một phiên bản thương mại của DB2 Đầu tiên, DB2 có lẽ nghe như là một cái gì

đó rất nặng nề, nhưng người ta có thể cài đặt DB2 Express-C trên một máy để bàn hoặc máy xách tay để thử nghiệm khả năng pureXML dễ dàng Mặc dù không có phiên bản thương mại của eXist, Mark Logic là lựa chọn thay thế xứng đáng cho eXist khi mà các yêu cầu hiệu suất và tính mở rộng vượt quá khả năng Người ta có thể dùng thử Mark Logic bằng cách sử dụng giấy phép dùng thử 30 ngày hoặc một phiên bản cộng đồng mà bị giới hạn lưu trữ ở mức 100MB

Có thể tưởng tượng thấy nhu cầu về so sánh sản phẩm giữa các sản phẩm tương tự như là DB2 và Orcale Người ta có thể tìm thấy một số tranh luận trước đây trên mạng về hai sản phẩm này Một thảo luận cơ bản hơn là so sánh các tính năng của pureXML trong DB2 Express-C và trong eXist-DB Hoặc, một cách tương tự, so sánh DB2 với Mark Logic

1.3.4 Đánh giá chung và vai trò của XML

Mặc dù các tài liệu XML có thể mô tả dữ liệu có cấu trúc, một NXD chứa nhiều tài liệu XML có lẽ không phải là giải pháp tối ưu để mô tả các quan hệ giữa dữ liệu có cấu trúc bị chia nhỏ thành nhiều tài liệu và duy trì tính toàn vẹn tham chiếu Nếu nó đã có thể quản lý những mối quan hệ đó (có lẽ sử dụng XPointer), thì việc sử dụng vẫn chưa được chuẩn hóa

Lời khuyên tốt nhất là sử dụng đúng công cụ cho đúng công việc Tuy nhiên, sự song hành của một NXD với một RDBMS tạo ra thách thức cho bảo toàn dữ liệu Các đặc tính của pureXML của DB2 kết hợp những cái tốt nhất của hai bên và cho phép lưu trữ cả dữ liệu có cấu trúc và dữ liệu bán cấu trúc Đối với lưu trữ dữ liệu không có cấu trúc, cả NXD và RDBMS đều thích hợp

Trang 25

Nếu người ta thực sự tìm kiếm một kho chứa tài liệu hơn là một cơ sở dữ liệu, người ta nên hỏi một câu hỏi khác Các yêu cầu của người ta tập trung vào khả năng máy mặt trước của kho chứa tài liệu hay chúng tập trung vào máy mặt sau? Nếu người ta muốn nhiều chức năng cho người dùng cuối như là một giao diện quản trị, dòng làm việc, và trực quan hóa, thì rất nhiều sản phẩm trên thị trường, như là Alfresco, cung cấp kiểu hỗ trợ này Nếu người ta quan tâm đến các cơ chế truy vấn mạnh mẽ, như là XQuery và tìm kiếm văn bản đầy đủ, và lưu trữ hiệu quả các tài liệu bán cấu trúc, thì các NXD như là eXist hoặc Mark Logic

có lẽ là lựa chọn của bạn

Thế giới của các giải pháp cơ sở dữ liệu bị chi phối bởi một số ít các nhà cung cấp lớn IBM là một trong số đó Các NXD vẫn là một thị trường nhỏ Các câu hỏi thường là liệu những người chơi nhỏ bé có thể sống sót qua sự cạnh tranh hay không, hay liệu họ sẽ bị mua bởi các tập đoàn lớn hơn (như là X-Hive bị mua bởi EMC), hoặc liệu họ sẽ mất thị phần cho các giải pháp lai Một điều rõ ràng, các nhà cung cấp RDBMS, sẽ không bằng lòng từ bỏ thị phần cho NXD, cung cấp các giải pháp XML tích hợp đủ tiêu chuẩn xuất xưởng nhưng được tích hợp tốt của chính mình để đáp ứng nhu cầu của các khách hàng

1.4 Kết luận

Chương trên đã trình bày một số vấn đề liên quan đến dữ liệu và nhu cầu

về hệ thống sử dụng XML, vai trò của hệ quản trị cơ sở dữ liệu truyền thống, cũng như cơ sở dữ liệu XML trong việc xử lý dữ liệu

Trang 26

CHƯƠNG 2 XML VÀ NGÔN NGỮ TRUY VẤN DỮ LIỆU

2.1 Giới thiệu XML

2.1.1 Một số ngôn ngữ đánh dấu

Thuật ngữ đánh dấu nói đến các mã hay các dấu hiệu người ta đưa vào một tài liệu để chỉ ra cách thể hiện dữ liệu trong tài liệu đó Nói cách khác đánh dấu là mô tả dữ liệu trong tài liệu và cách nó sẽ được thể hiện

Ngôn ngữ đánh dấu hầu hết mọi người đều nghe nói đến là ngôn ngữ đánh dấu siêu văn bản HTML dùng để tạo trang Web Giả sử trang Web Ví dụ 2.1:

<firstname>, <lastname>, <amount>… điều này dẫn đến sự ra đời của XML Toàn bộ ý tưởng đằng sau XML là cho phép người ta tự định nghĩa dấu cho chính người ta và khả năng này là vô hạn

Trang 27

2.1.2 Ngôn ngữ đánh dấu mở rộng XML

XML, Ngôn ngữ Đánh dấu Mở rộng, là ngôn ngữ đánh dấu với mục đích chung do W3C đề nghị, để tạo ra các ngôn ngữ đánh dấu khác Đây là một tập con đơn giản của SGML, có khả năng mô tả nhiều loại dữ liệu khác nhau Mục đích chính của XML là đơn giản hóa việc chia sẻ dữ liệu giữa các hệ thống khác nhau, đặc biệt là các hệ thống được kết nối với Internet Các ngôn ngữ dựa trên XML (thí dụ: RDF, RSS, MathML, xHTML, SVG, và cXML) được định nghĩa theo cách thông thường, cho phép các chương trình sửa đổi và kiểm tra hợp lệ bằng các ngôn ngữ này mà không cần có hiểu biết trước về hình thức của chúng Các thẻ XML không được định nghĩa sẵn, người ta phải tự định nghĩa Dùng định nghĩa kiểu tài liệu (DTD) hoặc lược đồ XML để mô tả dữ liệu XML kết hợp với DTD hoặc lược đồ XML được thiết kế để tự mô tả

Hình 2.1: Ngôn ngữ HTML

2.1.3 Sự khác nhau giữa XML và HTML

XML được tạo ra không phải để thay thế HTML mà để bổ túc cho HTML XML được thiểt kế để mô tả dữ liệu và tập trung lên vấn đề đó là dữ liệu gì HTML được thiết kế để hiển thị dữ liệu và tập trung lên vấn đề dữ liệu được thể hiện như thế nào trên mặt trình duyệt

Hình 2.2: XML và ngôn ngữ khác

Trang 28

XML không thực hiện mọi thứ : XML không được thiết kế để thực hiên mọi thứ, nó được tạo ra để cấu trúc, lưu trữ và gửi thông tin Ví dụ 2.2 sau đây cho thấy nội dung của một tài liệu XML :

<?xml version=”1.0” encoding=”UTF-8”?>

<note>

<to> Doc Gia</to>

<from>Nha Sach Minh Khai</from>

<headinh>Tu Sach De Hoc</headinh>

XML được tự do mở rộng: Các thẻ được dùng để đánh dấu và cấu trúc tài liệu HTML được định nghĩa sắn, khi tạo tài liệu HTML bắt buộc phải sử dụng các thẻ HTML được định nghĩa sẵn trong chuẩn HTML như

<H1>,<CENTER>,… XML cho phép người ta định nghĩa và cấu trúc tài liệu XML cho riêng bạn Như trong ví du , thẻ <note>, <to>… không được định nghĩa trong bất kỳ XML chuẩn nào Những thẻ này do người tạo ra tài liệu định nghĩa

2.1.4 Lịch sử hình thành và phát triển XML

Trong ngành ấn loát, để chỉ thị cho thợ sắp chữ về cách in một bài viết, tác giả hay chủ bút thường vẽ các vòng tròn trong bản thảo và chú thích bằng một ngôn ngữ đánh dấu tương tự như tốc ký Ngôn ngữ ấy được gọi là Markup Language

XML là một ngôn ngữ đánh dấu tương đối mới và đến từ một ngôn ngữ đánh dấu già dặn tên là SGML Ngôn ngữ HTML cũng dựa vào SGML, thật ra

nó là một áp dụng của SGML

SGML được phát minh bởi Ed Mosher, Ray Lorie và Charles F Goldfarb của nhóm IBM research vào năm 1969, khi con người đặt chân lên mặt trăng

Trang 29

Lúc đầu nó có tên là GML, và được thiết kế để dùng làm meta-language, một ngôn ngữ được dùng để diễn tả các ngôn ngữ khác - văn phạm, ngữ vựng của chúng Năm 1986, SGML được cơ quan ISO nhận làm tiêu chuẩn để lưu trữ và trao đổi dữ liệu Khi Tim Berners-Lee triển khai HTML để dùng cho các trang Web hồi đầu thập niên 1990, ông ta cứ nhắc nhở rằng HTML là một áp dụng của SGML

Hình 2.3: Sơ đồ SGML

Vì SGML rất rắc rối, và HTML có nhiều giới hạn nên năm 1996 tổ chức W3C thiết kế XML XML version 1.0 được định nghĩa trong hồ sơ khuyến cáo W3C, giống như một RFC, là một "tiêu chuẩn" Từ HTML đến XML

2.2 Đặc điểm của XML

XML cung cấp một phương tiện dùng văn bản để mô tả thông tin và áp dụng một cấu trúc kiểu cây cho thông tin đó Tại mức căn bản, mọi thông tin đều thể hiện dưới dạng text, chen giữa là các thẻ đánh dấu với nhiệm vụ ký hiệu sự phân chia thông tin thành một cấu trúc có thứ bậc của các dữ liệu ký tự, các phần

tử dùng để chứa dữ liệu, và các thuộc tính của các phần tử đó Về mặt đó, XML tương tự với các biểu thức S của ngôn ngữ lập trình LISP ở chỗ chúng đều mô tả các cấu trúc cây mà trong đó mỗi nút có thể có một danh sách, tính chất của riêng mình

Đơn vị cơ sở của XML là các ký tự theo định nghĩa của Bộ ký tự toàn cầu Các ký tự được kết hợp theo các tổ hợp chuỗi hợp lệ để tạo thành một tài liệu XML Tài liệu này gồm một hoặc nhiều thực thể, mỗi thực thể thường là một phần nào đó của các ký tự thuộc tài liệu, được mã hóa dưới dạng một chuỗi các bit và lưu trữ trong một tệp văn bản

Trang 30

2.2.1 Các tệp XML

Các tệp XML có thể dùng cho nhiều loại dữ liệu đa phương tiện RFC3023 định nghĩa các loại "application/xml" và "text/xml", với ý rằng dữ liệu được biểu diễn bằng XML mà không nói gì đến ngữ nghĩa của dữ liệu

Sự phổ biến của các phần mềm soạn thảo văn bản hỗ trợ việc soạn thảo và bảo trì tài liệu XML một cách nhanh chóng Trước XML, có rất ít ngôn ngữ mô

tả dữ liệu với các đặc điểm đa năng, thân thiện với giao thức Internet, dễ học và

dễ tạo Thực tế, đa số các định dạng trao đổi dữ liệu thời đó đều chuyện dụng, có tính độc quyền, và có định dạng nhị phân (chuỗi bit thay vì chuỗi ký tự) khó dùng chung giữa các ứng dụng phần mềm khác nhau hay giữa các hệ nền khác nhau Việc tạo và bảo trì trên các trình soạn thảo thông dụng lại càng khó khăn

Bằng cách cho phép các tên dữ liệu, cấu trúc thứ bậc được phép, và ý nghĩa của các phần tử và thuộc tính có tính chất mở và có thể được định nghĩa bởi một lược đồ tùy biến được, XML cung cấp một cơ sở cú pháp cho việc tạo lập các ngôn ngữ đánh dấu dựa XML theo yêu cầu Cú pháp chung của các ngôn ngữ đó là cố định; các tài liệu phải tuân theo các quy tắc chung của XML, bảo đảm rằng tất cả các phần mềm hiểu XML ít ra cũng phải có khả năng đọc, phân tích và hiểu bố cục tương đối của thông tin trong các tài liệu đó Lược đồ chỉ bổ sung một tập các ràng buộc cho các quy tắc cú pháp Các lược đồ thường hạn chế tên của phần tử và thuộc tính và các cấu trúc thứ bậc được phép, ví dụ, chỉ cho phép một phần tử tên 'ngày sinh' chứa một phần tử tên 'ngày' và một phần tử có tên 'tháng', mỗi phần tử phải chứa đúng một ký tự Đây là điểm khác biệt giữa XML và HTML HTML có một bộ các phần tử và thuộc tính không mềm dẻo, chỉ có một tác dụng và nói chung là không thể dùng cho mục đích khác

XML không hạn chế về việc nó được sử dụng như thế nào Mặc dù XML

về cơ bản là dạng text, các phần mềm với chức năng trừu tượng hóa nó thành các định dạng khác giàu thông tin hơn đã nhanh chóng xuất hiện, quá trình trừu tượng hóa này được thực hiện chủ yếu qua việc sử dụng các lược đồ định hướng kiểu dữ liệu và khuôn mẫu lập trình hướng đối tượng (mà trong đó, mỗi tài liệu XML được thao tác như là một đối tượng) Những phần mềm như vậy có thể

Trang 31

coi XML như là dạng text đã được tuần tự hóa chỉ khi nó cần truyền dữ liệu qua mạng

Dữ liệu XML vẫn có thể được lưu bên trong HTML như là “đảo dữ liệu” khi đó người ta vẫn có thể dùng HTML chỉ để định dạng và hiển thị dữ liệu XML được dùng để trao đổi dữ liệu: Với XML dữ liệu có thể được trao đổi giữa các hệ thống không tương thích nhau Trong thực tế, các hệ thống máy tính và CSDL (cơ sở dữ liệu) chứa dữ liệu theo các định dạng khác nhau, ví dụ định dạng CSDL của Microsoft SQL Server và Oracle là khác nhau Một trong những vấn để tốn nhiều thời gian của các nhà phát triển là trao đổi dữ liệu giữa các hệ thống như vậy trên Internet Chuyển đổi dữ liệu sang XML giảm đáng kể sự phức tạp này và tạo dữ liệu có thể được đọc bởi nhiều kiểu ứng dụng khác nhau XML và B2B: Trong tương lai gần XML sẽ là ngôn ngữ chính để trao đổi thông tin tài chính giữa các doanh nghiệp trên Internet Nhiều ứng dụng B2B đang được phát triển

 XML có thể được dùng để chia sẻ dữ liệu : Vì XML được lưu ở dạng văn bản thuần, nên XML cung cấp cách chia sẻ dữ liệu độc lập phần cứng và phần mềm như vậy sẽ dễ dàng hơn nhiều cho việc tạo dữ liệu mà các ứng dụng khác có thể dùng, dễ dàng hơn để mở rộng hoặc nâng cấp sang hệ thống máy chủ, ứng dụng và trình duyệt mới

Trang 32

XML được dùng để lưu trữ dữ liệu: XML có thể được dùng để lưu trữ dữ liệu từ các tập tin hoặc từ các CSDL Khi đó một số ứng dụng được viết để lưu trữ hoặc nhận thông tin từ nguồn lưu trữ và một số ứng dụng khác được dùng để hiển thị

dữ liệu

 XML làm cho dữ liệu hữu dụng hơn Vì XML độc lập với phần cứng, phần mềm và ứng dụng, người ta có thể làm cho dữ liệu là có sẵn với nhiều ứng dụng khác nhau không hcỉ riêng trình duyệt HTML chuẩn Các ứng dụng và các máy khách có thể truy cập các tập tin XML của người ta như là các nguồn dữ liệu, giống như chúng đang truy cập và CSDL

 XML có thể được dùng để tạo ngôn ngữ mới: XML được dùng để tạo ra ngôn ngữ đánh dấu mới chẳng hạn như ngôn ngữ đánh dấu cho biết thiết

bị không dây WML WML được dùng để đánh dấu trong các ứng dụng Internet cho các thiết bị cầm tay như Palm, điện thoại di động,

2.3 Cấu trúc một tài liệu XML

2.3.1.Thí dụ

Xem lại nội dung tập tin ví dụ 2.2

<?xml version=”1.0” encoding=”UTF-8”?>

<note>

<to> Doc Gia</to>

<from>Nha Sach Minh Khai</from>

<headinh>Tu Sach De Hoc</headinh>

Trang 33

Tất cả dữ liệu trong tài liệu XML phải nằm trong một phần tử, phẩn tử là đơn vị cơ bản để giữ dữ liệu của bạn Các phần tử luôn bắt đầu bằng một thẻ mở (ví dụ như <note>) và kết thúc bằng một thẻ đóng (ví dụ như </note>) Bản thân thẻ XML phải bắt đầu bằng dấu < và kết thúc bằng dấu >

Khi người ta tạo một tài liệu XML người ta phải đóng tất cả các phần tử, văn bản trong một phần tử ngoài cùng gọi là phần tử gốc hay là phần tử tài liệu trong ví dụ 2.2, phần tử gốc là <note> Một tài liệu XML luôn cần phần tử gốc ngay cả khi không có bất kỳ phần tử hay văn bản nào trong nó

Các phần tử còn lại trong ví dụ trên:

<to> Doc Gia</to>

<from>Nha Sach Minh Khai</from>

<headinh>Tu Sach De Hoc</headinh>

<body>

XML – Ngon ngu danh dau mo rong

</body>

là các phần tử con của phần tử gốc <note>

Như ví dụ trên trong phần tử gốc <note> có phần tử <to> chứa dữ liệu là

“Doc gia” Tương tự cho các phần tử <from>, <headinh> va <body>

Trang 34

2.3.2 Xem tài liệu XML trên trình duyệt

Có nhiều trình duyệt hỡ trợ XML như Mozilla Firefox, Netscape Navigator, Internet Explorer Xem tài liệu XML trên trình duyệt bằng cách chạy trinh duyệt, trong thanh địa chỉ nhập vào đường dẫn chứa tài liệu XML cần xem hoặc nhấp đôi chuột lên tên tập tin hoặc bấm phải chuột lên tên tập tin XML rồi chọn mục trình đơn Open with > Internet Explorer

Trình duyệt không diễn dịch bất kỳ thẻ XML nào ngoài việc hiển thị dữ liệu thô XML Nếu người ta quan tâm đến việc hiển thị dữ liệu người ta có thể dùng các thẻ XML để báo cho trình duyệt biết cách phải hiển thị bằng việc sử dụng các bảng định kiểu hiển thị Chằng hạn người ta muốn chỉ định kiểu chữ, cỡ chữ, màu sắc, đậm, nghiêng…

Có 2 loại bảng định kiểu hiển thị người ta có thể dùng là: Cascadinh Style Sheet (CSS) dùng với cả tài liệu HTML và XML; Extensible Stylesheet Language (XSL) chỉ dùng với tài liệu XML

2.3.3 Trích dữ liệu trong tài liệu XML

Người ta có thể trích lấy dữ liệu trong tài liệu XML và xử lý nó thay vì chỉ đơn thuần cho trình duyệt biết cách hiển thị dữ liệu đó Để trích dữ liệu trong trình duyệt người ta có thể dùng JavaScrip, đây là ngôn ngữ kịch bản dùng kết hợp với HTML được nhiều trình duyệt Web hỗ trợ

Trang 35

<SCRIPT> chứa mã kịch bản được đóng trong hàm getData () Dòng:

xmldoc=document.all (“firstXML”).XMLDocument; gán toàn bộ tài liệu XML

cho biến xmldoc Dòng :noteNote=xmldoc.documentElement; gán phần tử gốc của tài liệu (<note>) cho biến noteTo Dòng :noteTo=nodeNote.firstChild; gán

phần tử con đầu tiên (<to>) cho biến noteTo

Dong: nodeFrom=nodeTo.nextSibling; gán phần tử anh em kế tiếp của <to> là

<from> cho biến nodeFrom Sau đó gán giá trị của phần tử <from> cho biến outputMessage rồi gán biến này cho thẻ <DIV> nhận biết qua định dạng message Thẻ <INPUT> chỉ ra phần tử điều khiển nút nhấn có nhãn hiển thị là

“Doc Du Liêu”, hàm getData () được gắn vào sự kiện nhấn nút của nút nhấn này

2.4 Tổ chức dữ liệu XML

Tài liệu XML thật sự có thể làm nhiều hơn ngoài việc lưu giữ dữ liệu người ta có thể chỉ ra cấu trúc dữ liệu cho tài liệu XML Cấu trúc này rất quan trọng khi người ta làm việc với dữ liệu phức tạp khi lưu một tài liêu HTML quá lớn những trang sau có thể sinh ra lỗi do sai thẻ Nhưng trong XML người ta có thể xây dựng một bộ qui tắc cú pháp chỉ ra cấu trúc của tài liệu để tải liệu được kiểm tra nhằm đảm bảo dữ liệu đúng Trình xử lý XML sẽ kiểm tra xem tài liệu XML có đúng quy tắc cú pháp và dữ liệu hợp lệ không

Trang 36

2.4.1 Tạo tài liệu XML đúng khuôn dạng

Một tài liệu XML được gọi là đúng khuôn dạng khi nó tuân theo quy tắc

cú pháp chỉ ra cho XML bởi W3C (tổ chức định chuẩn cho Internet) Có nhiều yêu cầu nhưng chủ yếu là tài liệu phải chứa một hoặc nhiều phần tử và phần tử gốc phải chứa tất cả các phần tử khác Ngoài ra mỗi phần tử phải nằm đúng vị trí trong bất kỳ phần tử đóng nào khác Ví dụ sau cho thấy tài liệu XML không đúng khuôn dạng vì thẻ</to> nằm sau thẻ mở <from>:

2.4.2 Tạo tài liệu XML hợp lệ

Một tài liệu XML hợp lệ nếu nó tuân theo cú pháp người ta đã chỉ ra cho

nó Người ta có thể chỉ ra cú pháp dùng DTD, định nghĩa kiểu tài liệu hoặc dùng XML Schema, lược đồ XML Ví dụ cho thấy cách thêm một DTD vào tài liệu XML DTD có thể chứa trong một tập tin riêng hoặc được xây dựng chung với tài liệu XML như trong ví dụ sau được chỉ ra bởi phần tử <DOCTYPE>:

<?xml version=”1.0” encoding=”UTF-8”?>

<!DOCTYPE document [

<!ELEMENT note (to, from, headinh, body)>

<!ELEMENT to (#PCDATA)>

<!ELEMENT from (#PCDATA)>

<!ELEMENT headinh (#PCDATA)>

<!ELEMENT body (#PCDATA)>

]>

Trang 37

<note>

<to> Doc gia </to>

<from> Nha Sach Minh Khai </from>

<headinh> Tu Sach De Hoc </headinh>

<body> XML – Ngon ngu danh dau mo rong </body>

</note>

Phần tử <!DOCTYPE> khai báo một DTD, nó chỉ ra rằng phẩn tử gốc

<note> chứa các phần tử <to>, <from>, <headinh>, và <body> Các phần tử này cũng được chỉ ra khả năng có thể chứa dữ liệu văn bản Bằng cách dùng DTD như trên người ta đã chỉ ra cú pháp mà tài liệu XML phải tuân thủ, phần tử nào phải nằm trong phần tử nào,…

2.5 Tạo tài liệu XML

2.5.1 Bộ ký tự mã hóa

Các ký tự trong tài liệu XML được lưu ở dạng mã số Vì vậy vấn đề ở đây

là tập ký tự khác nhau dùng mã khác nhau thì trình xử lý XML có thể gặp trục trặc khi đọc tài liệu XML ở dạng mã hóa ký tự khác với bộ ký tự mã hóa nó đang dùng Hầu hết các trình soạn thảo văn bản như notepad, Wordpad dùng bộ mã ASCII Bộ mã này chỉ biểu diễn tối đa 255 ký tự không đủ để biểu diễn cho các ngôn ngữ khác như tiếng Việt, Hoa,… vì thế W3C đưa ra chuẩn Unicode có thể biểu diễn 65.536 ký tự

Còn bộ mã khác lớn hơn hệ thống mã hóa UCS còn gọi là ISO 10646 dùng 2 byte cho mỗi ký tự Do UCS qua lớn nên nhóm UCS cho ra phiên bản rút gọn là UTF – 8 dùng 1byte cho các ký tự chung nhất Và UTF – 16 dùng 2 byte cho các ký tự chung nhất

W3C yêu cầu tất cả trình xử lý XML phải hỗ trợ UTF-8 và UTF-16 Hiện nay hầu hết trình xử lý XML đều hỗ trợ bộ mã UTF – 8 nhưng không hỗ trợ UTF-16

<?xml version=”1.0” encoding=”UTF-8”?>

Nếu người ta không chỉ rõ bộ mã sẽ dùng cho tài liệu XML (không dùng thuộc tính encoding) thì mặc đinh trình xử lý dùng UTF – 8

Trang 38

Một số bộ ký tự mã hóa khác mà một trình xử lý XML có thể hỗ trợ như US-ASCII cho Bộ mã ASCII; UTF-8 cho Unicode rút gọn dùng 1byte; UTF-16 cho Unicode rút gọn dùng 2byte; ISO-10646-UCS-2cho Unicode; ISO-10646-UCS-4 cho mã UCS; ISO-2022-JP cho tiếng Nhật; ISO-2022-CN cho tiếng Trung quốc; ISO-8859-5 cho ASCII và Cyrillic

2.5.2 Đánh dấu XML và dữ liệu XML

Ở mức cơ bản nhất, tài liệu XML là kết hợp của dấu và dữ liệu văn bản Dấu trong tài liệu thể hiện cấu trúc của tài liệu Dấu bao gồm các thẻ mở, thẻ đóng, thẻ phần tử rỗng (ví dụ <message/>), các tham khảo thực thể, các tham khảo ký tự, ghi chú, dấu phân cách thành phần CDATA, khai báo kiểu tài liệu và các chỉ thị xử lý Tất cả văn bản trong XML không dùng làm dấu là dữ liệu

Có một số kiểu đánh dấu khác không dùng thẻ như các tham khảo thực thể chung và các tham khảo thực thể dạng tham số ví dụ dấu “&lt”; là tham khảo thực thể chung được chuyển thành ký hiệu “<” khi được phân tích bởi trình xử lý XML Có 5 tham khảo thực thể chung được định nghĩa trước là:

&lt; - Thay bằng dấu <

&gt; - Thay bằng dấu >

&amp; - Thay bằng dấu &

&quot; - Thay bằng dấu “

&apos; - Thay bằng dấu „

Trang 39

2.5.3 Ký tự trắng và dấu xuống dòng

Các ký tự trắng, xuống dòng, trở về đầu dòng và tab đều được xử lý như

ký tự trắng trong XML Nghĩa là một tài liệu dạng:

<?xml version=”1.0” encoding=”UTF-8”?>

<document>

<heading> Xin chao cac ban </heading>

<message> Day la dien dan XML </message>

</document>

2.5.4 Tạo phần mở đầu

Phần mở đầu xuất hiện ở phần đầu của tài liệu, nó chứa thông tin về phần thân của tài liệu Một phần mở đầu có thể chứa các khai báo XML, ghi chú, chỉ thị xử lý, ký tự trắng và khai báo DOCTYPE (là khai báo DTD) Người ta không cần có phần mở đầu cho một tài liệu XML tuy nhiên ít nhất phải có phần khai báo XML Phần mở đầu của XML chứa khai báo XML, chỉ thị xử lý và DTD (chứa trong phần tử DOCTYPE):

<?xml version=”1.0” encoding=”UTF-8”?>

<?xml – stylesheet type=”text/css” href=”vidu.css”?>

<!DOCTYPE document [

<!ELEMENT document (employee)*>

<!ELEMENT employee (name, hiredate, projects)>

<!ELEMENT firstname (#PCDATA)>

<!ELEMENT lastname (#PCDATA)>

]>

Dòng đầu tiên trong phần mở đầu luôn là khai báo XML, dòng thứ 2 chứa chỉ thị xử lý, phần còn lại là DTD

2.5.5 Tạo khai báo XML

Khao báo XML cho trình xử lý XML biết phiên bản đang dùng, bộ ký tự

mã hóa dùng cho tài liệu,…ví dụ phần khai báo có dạng như sau:

<?xml version=”1.0” standalone=”yes” encoding=”UTF-8”?>

version: Phiên bản XML Hiện thời là 1.0, sắp có phiên bản 1.1

encoding: Bộ ký tự mã hóa Phổ biến nhất là UTF-8

Standalone: “yes” nếu tài liệu không tham chiếu bất kỳ tài liệu hay thực thể bên ngoài nào “no” ngược lại Đây là thuộc tính tùy chọn

Trang 40

2.5.6 Ghi chú tài liệu

Nếu người ta muốn ghi chú trong tài liệu XML người ta sử dụng cặp dấu

<! - - và - - > giống như trong HTML Khi đó trình xử lý XML sẽ bỏ qua đoạn văn bản chứa trong cặp dấu này

IE và Nestcape Navigator hỗ trợ chỉ thị <?xml-stylesheet?>, nhưng không phải là chỉ thị chính thức ma W3C công nhận

Chỉ thị bắt đầu bằng dấu <? Và kểt thúc băng dấu ?> chỉ có điểm hạn chế

là người ta không thể dùng <?xml?> hoặc <?XML?>

Ngày đăng: 08/11/2014, 21:42

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Inetrnet giúp truy cập - Tìm kiếm dữ liệu Web với ngôn ngữ XML
Hình 1.1 Inetrnet giúp truy cập (Trang 11)
Hình 1.3: Thông tin nội bộ - Tìm kiếm dữ liệu Web với ngôn ngữ XML
Hình 1.3 Thông tin nội bộ (Trang 14)
Hình 1.5: Truyền thông linh hoạt - Tìm kiếm dữ liệu Web với ngôn ngữ XML
Hình 1.5 Truyền thông linh hoạt (Trang 16)
Hình 1.6: Ba tầng cơ sở dữ liệu - Tìm kiếm dữ liệu Web với ngôn ngữ XML
Hình 1.6 Ba tầng cơ sở dữ liệu (Trang 18)
Hình 1.7: Mô hình ER - Tìm kiếm dữ liệu Web với ngôn ngữ XML
Hình 1.7 Mô hình ER (Trang 19)
Hình 1.8: SQL SERVER - Tìm kiếm dữ liệu Web với ngôn ngữ XML
Hình 1.8 SQL SERVER (Trang 21)
Hình 2.1: Ngôn ngữ HTML - Tìm kiếm dữ liệu Web với ngôn ngữ XML
Hình 2.1 Ngôn ngữ HTML (Trang 27)
Hình 2.4: Mối quan hệ giữa các thành phần trong XML - Tìm kiếm dữ liệu Web với ngôn ngữ XML
Hình 2.4 Mối quan hệ giữa các thành phần trong XML (Trang 63)
Hình 3.1: Các máy chủ trong kiến trúc C/S - Tìm kiếm dữ liệu Web với ngôn ngữ XML
Hình 3.1 Các máy chủ trong kiến trúc C/S (Trang 70)
Hình 3.2: Một trang web chứa thông tin của sở - Tìm kiếm dữ liệu Web với ngôn ngữ XML
Hình 3.2 Một trang web chứa thông tin của sở (Trang 71)
Hình 3.3: Nội dung trang web dạng xHTML - Tìm kiếm dữ liệu Web với ngôn ngữ XML
Hình 3.3 Nội dung trang web dạng xHTML (Trang 72)
Hình 3.4: Sơ đồ hoạt động của công cụ robot - Tìm kiếm dữ liệu Web với ngôn ngữ XML
Hình 3.4 Sơ đồ hoạt động của công cụ robot (Trang 74)
Hình 3.5: Sơ đồ thẻ xHTML tổ chức dưới dạng cây  Bước 3: - Tìm kiếm dữ liệu Web với ngôn ngữ XML
Hình 3.5 Sơ đồ thẻ xHTML tổ chức dưới dạng cây Bước 3: (Trang 76)
Hình 3.6: Giao diện trang tìm kiếm - Tìm kiếm dữ liệu Web với ngôn ngữ XML
Hình 3.6 Giao diện trang tìm kiếm (Trang 77)
Hình 3.7: Giao diện kết quả tìm kiếm - Tìm kiếm dữ liệu Web với ngôn ngữ XML
Hình 3.7 Giao diện kết quả tìm kiếm (Trang 77)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w