1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tích hợp các hệ thống cơ sở dữ liệu quan hệ và XML luận văn ths công nghệ thông tin 1 01 10

76 15 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 76
Dung lượng 542,2 KB

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

Nội dung

Trên thực tế, công nghệ XML đã và đang được người sử dụng ưa thích bởi sự tích hợp dễ dàng của nó với các cơ sở dữ liệu quan hệ – Chúng ta khôngnhững có thể phát triển một tài liệu XML m

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

TRẦN THỊ XUÂN

TÍCH HỢP CÁC HỆ THỐNG

CƠ SỞ DỮ LIỆU QUAN HỆ VÀ XML

Ngành: CÔNG NGHỆ THÔNG TIN

Mã số: 1.01.10

LUẬN VĂN THẠC SĨ

Người hướng dẫn khoa học:

PGS.TS ĐOÀN VĂN BAN

HÀ NỘI, 2007

Trang 2

MỞ ĐẦU 1

Chương 1: TỔNG QUAN VỀ XML VÀ CƠ SỞ DỮ LIỆU QUAN HỆ 3

1.1 Tổng quan về XML 3

1.1.1 Giới thiệu công nghệ XML 3

1.1.2 Cấu trúc tài liệu XML 4

1.1.2.1 Tài liệu XML 4 1.1.2.2 Cấu trúc của tài liệu XML 5 1.1.3 Các thành phần cơ bản trong tài liệu XML 6

1.1.4 Cấu trúc tài liệu hợp khuôn dạng 10

1.1.5 Định nghĩa kiểu tư liệu DTD 11

1.1.6 Lược đồ XML 13

1.1.7 Bảng định kiểu CSS 18

1.1.8 Mô hình DOM 20

1.1.9 Phân tích tài liệu XML theo mô hình DOM 22

1.1.10 XPATH 25

1.1.11 XLINK và XPOINTER 27

1.1.11.1 XLINK 27 1.1.11.2 XPOINTER 28 1.2 Cơ sở dữ liệu quan hệ 29

1.2.1 Cấu trúc cơ sở dữ liệu quan hệ 29

1.2.2 Ràng buộc toàn vẹn trên một CSDL quan hệ 31

1.2.2.1 Định nghĩa 31 1.2.2.2 Các yếu tố của ràng buộc toàn vẹn 32 1.2.3 Chuẩn hoá một CSDL quan hệ 33

1.3 Kết luận 34

Chương 2: TÍCH HỢP CÁC HỆ THỐNG CSDL QUAN HỆ VÀ XML 35

2.1 Phương pháp luận 36

2.1.1 Đối sánh nội dung của một CSDL quan hệ và một tài liệu XML 36

2.1.2 Cấu trúc và kiểu cơ chế của một tài liệu XML và một lược đồ CSDL quan hệ 38

2.1.3 Tên duy nhất 41

Trang 3

2.1.6 Thứ tự 44

2.2 Chuyển một tài liệu XML sang một CSDL quan hệ 46

2.3 Chuyển một CSDL quan hệ sang một tài liệu XML 48

2.3.1 Phi chuẩn các lược đồ quan hệ 48

2.3.2 Kết nối các CSDL đã phi chuẩn 52

2.3.3 Ánh xạ CSDL quan hệ đã kết nối thành một DOM chính để chuyển thành tài liệu XML 54

2.4 Kết luận 57

Chương 3: CÀI ĐẶT THUẬT TOÁN TÍCH HỢP CÁC HỆ THỐNG CSDL QUAN HỆ -VÀ XML 58

3.1 Thuật toán 58

3.1.1 Đọc tài liệu XML dưới dạng sơ đồ hình cây 58

3.1.2 Hiển thị tài liệu XML dưới dạng bảng 59

3.1.3 Chuyển một CSDL quan hệ sang một tài liệu XML 60

3.2 Cài đặt thuật toán 61

3.3 Kết quả - đánh giá 68

KẾT LUẬN 69

TÀI LIỆU THAM KHẢO 70

Trang 4

MỞ ĐẦU

Ngày nay cùng với việc bùng nổ thông tin, các thông tin trên Internet cũngngày càng nhiều (số lượng các trang Web trên Internet khoảng gần 2 tỷ), mà nhưchúng ta biết thì các Cơ sở dữ liệu quan hệ ngày càng chiếm nhiều ưu thế trongviệc lưu trữ nội dung của các web site Cùng lúc đó, ngôn ngữ định dạng mởrộng (Extensible Markup Language –XML) nhanh chóng chiếm ưu thế trongnhững web site sử dụng văn bản siêu liên kết Vì vậy, sự tích hợp các hệ thống

Cơ sở dữ liệu quan hệ và XML là chủ đề chính của luận văn này với mục đích làmong muốn tất cả các dữ liệu cùng với các chương trình trong tương lai sẽ tíchhợp và hiểu nhau hơn thông qua XML

Trong giai đoạn đầu, hầu hết các trang Web đều được viết bằng ngôn ngữđịnh dạng dữ liệu thông qua các cặp thẻ đặc biệt trong tệp tin văn bản HTML

Do tính đơn giản, dễ hiểu và dễ sử dụng của HTML mà nó đã trở thành ngôn ngữđược ưa chuộng để xây dựng các trang Web trong thời gian đó Tuy vậy, vớilượng thông tin khổng lồ và không ngừng tăng của Web, cùng với thị hiếu và nhucầu sử dụng của người dùng ngày càng cao thì HTML không đủ để đáp ứngnhững yêu cầu đó – nó chỉ có thể tạo trang Web chuẩn Chính vì vậy mà ngônngữ XML đã ra đời, với những tính năng nổi trội của mình, XML đã giúp choviệc quản lý, trình bày và tổ chức thông tin trên Web thông qua các hệ cơ sở dữliệu được dễ dàng và đặc biệt là đáp ứng được những mong mỏi từ phía ngườidùng

Trên thực tế, công nghệ XML đã và đang được người sử dụng ưa thích bởi

sự tích hợp dễ dàng của nó với các cơ sở dữ liệu quan hệ – Chúng ta khôngnhững có thể phát triển một tài liệu XML mới trong khi vẫn sử dụng các Cơ sở

dữ liệu quan hệ đang tồn tại mà còn có thể trích rút các dữ liệu từ các tài liệuXML Để giải quyết vấn đề này, chúng ta cần tìm hiểu rõ về XML và mô hìnhDOM cũng như phương pháp sử dụng mô hình DOM để chuyển một Cơ sở dữliệu quan hệ sang tài liệu XML và ngược lại Và đây cũng chính là nội dung

Trang 5

được đưa ra trong luận văn thông qua những nghiên cứu của một số bài báo, cácbáo cáo chuyên ngành ở các hội nghị quốc tế được phổ biến trên mạng cùng vớicác giáo trình về XML và các giáo trình liên quan khác.

Luận văn được trình bày gồm ba chương:

Chương 1: “Tổng quan về XML và Cơ sở dữ liệu quan

hệ”-Trìnhbày tổng quan về cấu trúc của một tài liệu XML, định nghĩa kiểu tư liệu DTD,lược đồ, mô hình đối tượng tài liệu DOM, phân tích tài liệu XML theo mô hìnhDOM và các khái niệm cơ sở về cơ sở dữ liệu (CSDL) quan hệ

Chương 2: “Tích hợp các hệ thống cơ sở dữ liệu và XML” - Giới thiệu

phương pháp luận chuyển một tài liệu XML sang một CSDL quan hệ và ngược lại.

Chương 3: “Thuật toán tích hợp các hệ thống cơ sở dữ liệu quan hệ và

XML” – Đưa ra thuật toán tích hợp các hệ thống CSDL quan hệ và XML và cài đặt thuật toán bằng ngôn ngữ lập trình Java.

và phần Kết luận.

Hà Nội, tháng 05 năm 2007

Trang 6

Chương 1

TỔNG QUAN VỀ XML VÀ CƠ SỞ DỮ LIỆU QUAN HỆ

1.1 Tổng quan về XML

1.1.1 Giới thiệu về công nghệ XML

Ngôn ngữ định dạng (markup language) là tất cả những gì dùng để mô tảnội dung một tài liệu – Đó là cách nội dung tài liệu được diễn dịch Ngôn ngữđịnh dạng mà mọi người đều rất quen thuộc hiện nay chính là ngôn ngữ HTML

(Hyper Text Markup Language) HTML cho phép ta tạo nội dung của các trang

Web rất đẹp Theo thời gian, với các phiên bản khác nhau của HTML, số các cặpthẻ được định nghĩa ngày càng tăng Ví dụ, với phiên bản HTML 4.01 gần đây

đã định nghĩa số các cặp thẻ là 120 (kể cả các cặp thẻ mở rộng) Tuy nhiên để xử

lý các ứng dụng trên Web với sự phát triển của ứng dụng mạng thì rõ ràng số cáccặp thẻ đó vẫn chưa đủ (thực sự thì ta không thể có đủ các cặp thẻ để sử dụngcho những mục đích riêng của mình) Vậy câu hỏi đặt ra là làm thế nào để giảiquyết được vấn đề đó?

Sự ra đời của ngôn ngữ XML (Extensible Markup Language) như một giải

pháp cho vấn đề trên XML là ngôn ngữ được định nghĩa bởi tổ chức mạng toàncầu (World Wide Web Consortium- W3C) HTML và XML có quan hệ rất gầngũi với nhau - cả XML và HTML đều dựa trên chuẩn ngôn ngữ định dạng tổng

quát SGML (Standard Generalized Markup Language) và cả hai ngôn ngữ đều

sử dụng các cặp thẻ Tuy vậy trong ngôn ngữ XML, các cặp thẻ được sử dụng đểđịnh nghĩa và khai báo cấu trúc dữ liệu và được định nghĩa bởi người dùng thôngqua một số quy tắc của nó trong khi các cặp thẻ của HTML chỉ sử dụng để địnhdạng và được định nghĩa, quy định trước Nhờ khả năng tự định nghĩa các thẻcũng như khả năng cho phép định nghĩa và khai báo cấu trúc dữ liệu mà ngônngữ XML trở thành ngôn ngữ rất cần cho công nghệ Internet và các ứng dụngmạng ngày nay Nhưng có lẽ lý do quan trọng nhất để XML trở lên phổ biến đó

là XML cho phép dễ dàng xử lý, chuyển tải và trao đổi dữ liệu giữa rất nhiều

Trang 7

ứng dụng và tài liệu người dùng với các định dạng khác nhau Trong XML dữliệu được định dạng và lưu ở dạng text, do vậy ta có thể dễ dàng cấu hình cũngnhư thay đổi chúng bằng các trình soạn thảo thông thường hoặc bằng các trìnhsoạn thảo chuyên nghiệp của XML (XML Notepad, XML Writer, XML Spy hayeNotepad) Sự kết hợp giữa XML với định dạng CSS (Cascade Style Sheet) hayXSL (Extensible Style Language) giúp cho việc định dạng dữ liệu hiệu quả hơnrất nhiều so với định dạng nhị phân (định dạng được coi là hiệu quả vì nó chứa

dữ liệu ở dạng nén)[1] Ngoài ra, khả năng được coi là mạnh nhất của XML đó làkhả năng có thể tạo ra các ngôn ngữ định dạng tuỳ biến – nó cho phép ta có thểtuỳ biến vào trình duyệt hoặc ứng dụng để xử lý theo ngôn ngữ định dạng phùhợp theo một tập thẻ quy ước Một thế mạnh khác của XML đó là nó không chỉcho phép ta lưu dữ liệu vào file XML mà còn có thể tổ chức dữ liệu theo cấutrúc XML cho phép các phần tử thẻ tích hợp với nhau tạo nên một cấu trúc dữliệu phân cấp hoàn chỉnh Điều này thật quan trọng khi chúng ta cần đến khảnăng định nghĩa dữ liệu có cấu trúc

XML là một ngôn ngữ đòi hỏi tính chính xác cú pháp của ngôn ngữ rất cao.Trình duyệt không chấp nhận một tài liệu XML viết sai cú pháp và nó sẽ khôngphân tích tiếp tài liệu XML cho đến khi nào tài liệu XML hoàn toàn đúng khuôndạng và cú pháp

1.1.2 Cấu trúc của tài liệu XML

1.1.2.1 Tài liệu XML

Các thẻ trong XML được tự định nghĩa và xác định mục đích sử dụng thẻ

Do vậy vấn đề đặt ra ở đây là cần xác định cho mình cú pháp để các thẻ tuântheo Có hai cách để xác định cú pháp mà tài liệu XML có thể tuân theo, đó là:

Mô hình định nghĩa kiểu tư liệu XML (DTD – Definition Type Document)

Mô hình lược đồ XML (schema).

Nội dung của một tài liệu XML bị ràng buộc bởi hai tính chất:

 Tính hợp khuôn dạng (well – formed document)

Trang 8

 Tính hợp lệ (validity)

Tài liệu XML có thể được viết bằng các trình soạn thảo thông thường hoặccác trình soạn thảo chuyên dụng của XML

1.1.2.2 Cấu trúc của tài liệu XML

Một tài liệu XML có thể được chia thành 2 phần chính, mỗi phần có thể cócác thành phần theo quy định khác nhau

a, Phần khởi đầu (PROLOG) chứa các khai báo trong tài liệu XML như:khai báo phiên bản sử dụng của XML, cách thức mã hoá dữ liệu, chỉ thị xử lý,định nghĩa kiểu tư liệu cho tài liệu DTD, các chú thích, khoảng trắng ChuẩnXML không bắt buộc phải khai báo phần mở đầu của XML Tuy nhiên W3Ckhuyến khích ta nên sử dụng phần khai báo này, ít nhất cũng là phần khai báophiên bản sử dụng của XML

b, Phần thân (BODY) của tài liệu chứa nội dung của dữ liệu bao gồm mộthay nhiều thành phần (phần này bắt buộc phải có ít nhất một thành phần), nhữngthành phần này bao gồm các phần tử (element) Mỗi phần tử thường bao gồmmột cặp thẻ (thẻ bắt đầu và thẻ kết thúc) Phần tử đầu tiên của tài liệu được gọi làphần tử gốc (root element) Tất cả các tài liệu XML được gọi là hợp khuôn dạngnếu chứa đựng duy nhất một phần tử gốc Phần tử gốc chứa đựng tất cả các phần

tử và các cặp thẻ khác trong tài liệu

PROLOG

Khai báo DTD- Định nghĩa kiểu tư liệu

Phần thân của tài liệu

Hình 1.1: Cấu trúc tài liệu XML

Trang 9

1.1.3 Các thành phần cơ bản trong tài liệu XML

Định dạng và dữ liệu ký tự: Tài liệu XML được tạo thành từ thành phần

định dạng và thành phần dữ liệu ký tự Trong tài liệu XML, định dạng giúp phânbiệt các thành phần khác nhau trong tài liệu XML hay các loại nút trong câyXML Định dạng bao gồm các cặp thẻ (thẻ bắt đầu và thẻ kết thúc), các phần tửthẻ rỗng, các tham chiếu thực thể, tham chiếu ký tự, chú thích, phân đoạnCDATA, khai báo kiểu tài liệu và chỉ thị xử lý Tất cả các tài liệu còn lại trongXML không phải là định dạng đều được xem là ký tự Các ký tự này được chuẩnhoá theo chuẩn ISO/ IEC 10646 XML hỗ trợ rất nhiều kiểu mã hoá dữ liệu như:UTF–8, UTF-16, ISO–8859-5, ISO-10646-UCS-4 Tất cả các trình xử lý XMLđều được hỗ trợ mã hoá dữ liệu theo chuẩn Unicode UTF-8, UTF-16 Có những

ký tự mà chúng vừa được sử dụng để tạo các định dạng, vừa là dữ liệu ký tự nênrất dễ nhầm lẫn trong việc sử dụng Ví dụ như dấu &, >, <,…[1]

Các khai báo XML:

o Khai báo trong tài liệu XML được viết theo cấu trúc <?xml [các kiểukhai báo]?> Ví dụ có khai báo: <?xml version=”1.0” standalone=”yes” ?> Phầnkhai báo không bắt buộc phải có trong tài liệu, tuy nhiên nếu có khai báo thì bắtbuộc phải đặt ở dòng đầu tiên của tài liệu

o Các khai báo trong XML[1]:

 Khai báo phiên bản (version): khia báo này cho biết phiên bảnđặc tả XML mà tài liệu sử dụng (khai báo này là tuỳ chọn nhưng W3C khuyếnkhích nên sử dụng phần khai báo này)

 Khai báo mã hoá (encoding): Bộ mã được sử dụng trong tài liệuXML mặc định là UTF-8 Ngoài ra có thể sử dụng các mã khác như: Unicode,

 Khai báo thực thể độc lập (standalone): Được đặt thuộc tính là

„yes‟ nếu tài liệu không tham chiếu đến các thực thể khác bên ngoài, ngược lạiđược đặt là „no‟ (khai báo này là tuỳ chọn)

Trang 10

Phần chú thích:

o Chú thích trong XML cũng tương tự như chú thích trong các ngônngữ khác – không ngoài mục đích làm chương trình được rõ ràng, mạch lạc hơnkhông chỉ đối với người xây dựng chương trình mà còn đối với các đọc giả khác.Chú thích trong XML được đặt trong cặp chuỗi kí tự <! Nội dung chú thích >

và khi diễn dịch nội dung tài liệu các trình phân tích bỏ qua những dòng chúthích

oMột số quy tắc khi viết chú thích trong tài liệu XML:

Không được đặt chú thích trước các khai báo

 Không đặt chú thích bên trong các định dạng.

 Không dùng chuỗi bên trong chú thích.

oChỉ thị xử lý được sử dụng để chỉ dẫn cho bộ phân tích cách xử lýtài liệu trong quá trình phân tích Chỉ thị xử lý được bắt đầu bằng <? và kết thúcbằng ?> và thường được đặt ở đầu tài liệu

o Ví dụ một chỉ thị xử lý: <?xml-stylesheet type=”text/ css”href=”greeting.css” ?> là một chỉ thị xử lý yêu cầu bộ phân tích kết hợp dữ liệucủa XML với bảng định kiểu CSS (Cascade Style Sheet)

Thẻ, các phần tử (element), thực thể (entity) và thuộc tính (attribute):

oThẻ và các phần tử:

 Cấu trúc tài liệu XML được tạo dựa trên các thành phần địnhdạng (markup) Những thành phần này bao gồm các phần tử (element) và mỗiphần tử trong tài liệu XML bao gồm một cặp thẻ - thẻ bắt đầu và thẻ kết thúc(trong mỗi cặp thẻ có thể chứa các cặp thẻ khác hoặc chỉ chứa dữ liệu) Một phần

tử XML tuân theo cú pháp tổng quát sau: <TagName [attName=”attValue”]>Content</TagName> Trong đó, TagName là tên thẻ

(được đặt theo nguyên tắc: tên thẻ có thể bắt đầu bằng ký tự, gạch chân (_), hoặc

Trang 11

dấu hai chấm (:), tiếp theo có thể là ký tự, ký số, gạch nối, dấu hai chấm nhưng

không được chứa khoảng trắng), attName là tên thuộc tính (được đặt theo nguyên tắc đặt tên thẻ), attValue là giá trị được gán cho thuộc tính và Content là

nội dung của phần tử Mỗi phần tử trong cùng một tài liệu XML là duy nhất Bộphân tích tài liệu XML phân biệt chữ hoa và chữ thường nên khi đặt tên cho cácthẻ và thuộc tính cần phân biệt chữ hoa và chữ thường

 Phần tử rỗng: là phần tử chỉ có một thẻ duy nhất được đặt trongcặp < /> Ví dụ thẻ <DOCUMENT/> là một phần tử và là một phần tử rỗng [1]

 Phần tử gốc (root element): Là phần tử chứa tất cả các phần tử

và các cặp thẻ khác trong tài liệu Phần tử gốc là duy nhất đối với một tài liệuXML được coi là hợp khuôn dạng

oThực thể (entity):

 Một thực thể thường có nội dung là văn bản (text), tuy nhiêncũng có thể là dữ liệu nhị phân Một thực thể thực chất chính là cách mà XMLtham chiếu đến một mục dữ liệu Có hai loại thực thể: thực thể tổng quát(general entity) và thực thể tham số (parameter entity) Trong tài liệu, thực thể

tổng quát được tham chiếu theo cú pháp: &entityName; và thực thể tham số được tham chiếu theo cú pháp: %entityName;

 Thực thể tổng quát có thể là các thực thể đã được định nghĩatrước trong XML như: &lt, &gt, &amp, &quot, &apos (đại diện cho các ký tựtương ứng: <, >, &, “, „) hoặc cũng có thể là các thực thể được người dùng địnhnghĩa trong DTD theo cú pháp: <!ENTITY NAME DEFINITION>, trong đóNAME là tên thực thể, được sử dụng để tham chiếu đến nội dung được địnhnghĩa của chúng DEFINITION là định nghĩa của thực thể (có nhiều dạng địnhnghĩa thực thể, định nghĩa đơn giản nhất là các văn bản mà ta muốn thay thế khithực thể được tham chiếu đến

oThuộc tính (attribute):

Trang 12

 Cho phép xác định thêm thông tin và ý nghĩa của thẻ Thuộc

tính được kết hợp theo cặp name=value và được đặt bên trong thẻ mở hoặc thẻ

Phân đoạn CDATA:

o Phân đoạn CDATA cũng là một phần tử trong tài liệu XML nhưngbao gồm chỉ một thẻ Thẻ này bắt đầu bằng <![CDATA và kết thúc ] ]> Toàn bộnội dung được đặt trong phân đoạn CDATA sẽ không được trình phân tích coinhư cấu trúc XML mà chúng chỉ được xem như là dữ liệu thuần tuý (không đượctrình phân tích đụng đến) Do vậy phân đoạn CDATA thường được sử dụng đểtránh sự xáo trộn các cặp thẻ khi chúng ta đặt nội dung của tài liệu XML ngoạivào tài liệu XML đích (tài liệu hiện hành)

o Việc kết hợp các tài liệu XML lại với nhau là một vấn đề cần phảixem xét vì khả năng cho phép tự do định nghĩa và đặt tên các thẻ trong XML Dovậy việc định ra phạm vi hay không gian tên cho các thẻ trong tài liệu XML làcần thiết

oĐể định nghĩa một không gian tên cho các thẻ, ta đưa vào thuộc tính

xmlns:prefix vào phần tử gốc Trong đó prefix là tên miền hay không gian tên mà

ta muốn chỉ định, mỗi không gian tên có một định danh duy nhất (có thể là địnhdanh URL hoặc URI) Sau đó áp dụng tên này cho tất cả các thẻ trong tài liệuXML mà ta muốn chúng thuộc không gian tên đã định nghĩa, theo cú pháp:

<prefix:TagName> đối với thẻ mở và </prefix:TagName> đối với thẻ đóng.

oVí dụ: cho một tài liệu XML chưa được định nghĩa không gian tênnhư sau [2]:

Trang 13

1.1.4 Cấu trúc tài liệu hợp khuôn dạng

Một tài liệu XML được coi là một tài liệu hợp khuôn dạng nếu tuân theo cácquy tắc sau :

Trang 14

 Các khai báo XML cần được đặt ở dòng đầu tiên của tài liệu : như khai báo version hay các chỉ thị xử lý.

 Một tài liệu XML chỉ có duy nhất một phần tử gốc, các phần tử khác nếu có phải là phần tử con của phần tử gốc

Mọi phần tử khác rỗng phải bao gồm đầy đủ thẻ đóng và thẻ mở

 Phần tử rỗng bắt buộc phải đóng bằng chuỗi />.

 Các phần tử lồng nhau phải có thẻ đóng và thẻ mở hợp vị trí (thẻ mở theo thứ tự từ ngoài vào trong còn thẻ đóng theo thứ tự từ trong ra ngoài)

 Trong tài liệu XML, tên thuộc tính là duy nhất và giá trị của thuộc tính phải được đặt trong cặp nháy kép ( “ ”) hoặc nháy đơn („ „)

Chỉ sử dụng 5 tham chiếu thực thể được định nghĩa trước trong XML

1.1.5 Định nghĩa kiểu tư liệu DTD (Document Type Definition)

Khi xây dựng các phần tử trong XML, chúng ta có thể tuỳ ý quyết địnhcách sử dụng chúng (có thể trong các thẻ chỉ chứa nội dung là dữ liệu text thuầntuý hoặc cũng có thể chứa các phần tử con khác) Tuy nhiên để tài liệu được rõràng chúng ta nên định nghĩa kiểu tư liệu mà mỗi phần tử sẽ biểu diễn

Một tài liệu XML không chỉ đòi hỏi phải hợp khuôn dạng (well-formed) màcòn đòi hỏi phải hợp lệ Một tài liệu XML được xem là hợp lệ và có giá trị khi

Trang 15

mà tất cả các phần tử trong tài liệu được định nghĩa kiểu mà nó sẽ chứa Việc định nghĩa kiểu dữ liệu cho các phần tử gọi là định nghĩa kiểu tư liệu DTD [1].Định nghĩa kiểu tư liệu DTD tuân theo cú pháp tổng quát được quy định bởi

tổ chức XML W3C như sau :

< !DOCTYPE root-name [DTD]>

Trong đó DTD là các định nghĩa cho phần tử trong tài liệu (có thể là các định nghĩa nội- internal hoặc ngoại- external) Mỗi phần tử được định nghĩa theo

cú pháp : < !ELEMENT name content_model>

Trong đó name là tên phần tử muốn định nghĩa, content_model có thể đượcđặt là EMPTY hay ANY hoặc trộn lẫn cả hai nội dung (gồm dữ liệu có thể sửdụng để phân tích hoặc các phần tử con khác)

Khai báo và định nghĩa kiểu tư liệu được đặt ở phần khởi đầu (PROLOG)của tài liệu (đặt sau phần khai báo và chỉ thị xử lý)

Ví dụ về khai báo và định nghĩa DTD trong tài liệu XML:

<?xml version =”1.0” standalone=”yes”?>

<!DOCTYPE DANHSACH [

<!ELEMENT DANHSACH (SINHVEN)*>

<!ELEMENT SINHVIEN (HOTEN, NGAYSINH, TRUONG)>

<!ELEMENT HOTEN (HODEM, TEN)> <!ELEMENT

HODEM (#PCDATA)>

<!ELEMENT TEN (#PCDATA)>

<!ELEMENT NGAYSINH (#PCDATA)>

<!ELEMENT TRUONG (#PCDATA)>

Trang 16

gì, thứ tự ra sao, chứa thuộc tính gì và nội dung thế nào) nhưng nó tỏ ra mạnh mẽ

và chính xác hơn, với ưu điểm nổi bật là cho phép định nghĩa và khai báo kiểu

dữ liệu thực sự mà chúng ta muốn sử dụng

Lược đồ là tài liệu XML có thể được cài đặt theo định nghĩa của Microsofthoặc theo định nghĩa của tổ chức quốc tế W3C Về cơ bản thì cả hai cách cài đặtnày đều phải sử dụng không gian tên cho tài liệu, song trong mỗi cách lại sửdụng không gian tên theo một phương cách khác nhau

Để kết hợp lược đồ XML vào trong tài liệu, Microsoft sử dụng không giantên mặc định cho tài liệu bằng khai báo thuộc tính xmlsn tại phần tử gốc cùngvới thông tin về file chứa lược đồ x-schema như sau:

<? xml version=”1.0” ?>

<rootElement xmlns=”x-schema: fileNameSchema”>

………

</rootElement>

Trang 17

Trong đó, rootElement là tên phần tử gốc, fileNameSchema là tên file chứalược đồ đã được định nghĩa, fileNameSchema được đặt với tên và phần mở rộng

tuỳ ý Ví dụ như schema1.xml

Trong fileNameSchema, nội dung lược đồ được định nghĩa như sau:

- Lược đồ là một tài liệu XML bắt đầu bằng phần tử schema, được khai

- Để tạo lược đồ cho Internet Explorer, ta phải thiết lập không gian tên

mặc định cho tài liệu chứa lược đồ là urn:schema-microsoft-com:xml-data, cùng với không gian tên mang định danh urn: schema-microsoft-

com:datatypes với tiếp đầu ngữ dt cho phần khai báo kiểu dữ liệu (datatype).

Trang 18

Các kiểu dữ liệu cùng với không gian tên dt được định nghĩa sẵn như bảng sau [1]:

Trang 19

là closed hoặc open), dt :type (kiểu dữ liệu của phần tử) Ví dụ có định nghĩa các

phần tử như sau :

<ElementType name= ”HOTEN” content=”textOnly” model=”closed”>

<ElementType name = ”NGAYSINH” dt:type=”date”>

Các phần tử trong một lược đồ XML được nhìn nhận theo hai góc độ: phần

tử có kiểu phức hợp (là phần tử có chứa các phần tử con và thuộc tính) và phần

tử có kiểu đơn giản (là phần tử chỉ chứa dữ liệu đơn giản như: chuỗi, ngày tháng,

số nhưng không chứa các phần tử con và thuộc tính) Việc xác định kiểu cácphần tử trong tài liệu XML có ảnh hưởng trực tiếp tới việc định nghĩa lược đồXML theo chuẩn W3C

Để sử dụng một lược đồ đã định nghĩa, chuẩn W3C mở ra hướng rộng hơn

so với việc sử dụng theo Microsoft Thay vì phải sử dụng thuộc tính xmlns đểtham chiếu đến file chứa lược đồ, W3C cho phép khai báo không gian tên cho tàiliệu tham chiếu đến file lược đồ theo địa chỉ URL theo cách thức:

<?xml version =”1.0” ?>

<rootElement xmlns=”URL” >

</rootElement>

Nội dung của lược đồ XML theo dạng thức thuần văn bản Nó mở đầu bằng

khai báo chuẩn XML, tiếp theo W3C sử dụng tiếp đầu ngữ xsd: để tham chiếu

đến không gian tên của lược đồ, theo cú pháp sau:

Trang 20

<?xml version =”1.0” ?>

<xsd:schema xmlns:xsd = “http:// www w3.org./1999/XMLSchema" >

</xsd:schema>

Tiếp theo là khai báo các phần tử và kiểu dữ liệu: Đối với kiểu phần tử phứchợp 

sử dụng phần tử khai báo <xsd:complextType>, một phần tử phức hợp

thường chứa các khai báo phần tử con, tham chiếu đến các phần tử khác và khai

báo các thuộc tính Phần tử được khai báo bằng chỉ thị <xsd:element>, khai báo thuộc tính bằng chỉ thị <xsd:attribute> Đối với kiểu phần tử đơn giản được khai báo bằng chỉ thị <xsd:simpleType> Sau khi định nghĩa kiểu phần tử, ta

hoàn toàn có thể khai báo các phần tử sử dụng kiểu vừa tạo

Ví dụ: Ta có khai báo kiểu phức hợp cho phần tử address

<xsd:complexType name = ”address”>

<xsd:element name = ”name” type = “xsd:string” />

<xsd:element name = ”street” type = “xsd:string” />

<xsd:element name = ”city” type = “xsd:string” />

<xsd:element name = ”state” type = “xsd:string” />

<xsd:attribute name = ”phone” type = “xsd:string” use =”option”/>

</xsd:complexType>

Sau đó có thể sử dụng định nghĩa phần tử address cho phần tử <Lender> và

<Borrower> để lưu thông tin cá nhân trong tài liệu như sau:

<xsd:complexType name =”transactionType”>

<xsd:element name=”Lender” type =”address”/>

<xsd:element name=”Borrower” type =”address”/>

<xsd:element ref=”note” minOccurs =”0”/>

<xsd: attribute name =”borrowDate”

type=”xsd:date”/> <xsd:complexType>

Trang 21

Để khai báo kiểu dữ liệu cho các phần tử trong lược đồ ta sử dụng chỉ thị:

<xsd:dataType>, trong đó dataType là một trong các kiểu dữ liệu được cho

1.1.7 Bảng định kiểu CSS (Cascading Stype Sheet)

Bảng định kiểu CSS (Cascading Style Sheet) giống như một tập mẫu(template) quy định các kiểu định dạng cho các phần tử trong XML như các địnhdạng về font chữ, màu sắc, mầu nền,

Trang 22

Bảng định kiểu CSS cũng đã được áp dụng trong tài liệu HTML, tuy nhiênđiểm khác biệt chủ yếu giữa việc áp dụng CSS vào HTML với việc áp dụng CSSvào XML là các thẻ trong HTML thì có sẵn thông tin định dạng còn XML thìkhông có.

Bản chất của CSS là tạo ra một tập mẫu quy định các kiểu định dạng chocác phần tử trong XML (hay các thẻ trong HTML) trong một file tách biệt với tàiliệu Sau đó tập mẫu này được áp dụng vào trong tài liệu XML thông qua chỉ thị

xử lý:

<?xml-stylesheet type=”text/css” href=”filename.css” ?>

Trong đó filename là tên file chứa tập mẫu quy định các định dạng cho các phần

tử trong tài liệu, file này có phần mở rộng bắt buộc là css và có nội dung là các

định dạng cho các phần tử trong tài liệu, nội dung định dạng của mỗi phần tửđược định nghĩa theo cú pháp:

elementName {display:block; attName1: attValue1;…;attNamen:attValuen} Trong đó elementName là tên phần tử cần định dạng, display:block hiển

thị thành phần theo cấp khối (bắt đầu ở đầu dòng và thành phần theo sau nó sẽ

bắt đầu ở dòng tiếp theo), hoặc display:line hiển thị thành phần theo nội dung attName là tên thuộc tính, attValue là giá trị của thuộc tính Nếu muốn gom các

thuộc tính định kiểu lại một nhóm (gọi là lớp) thay vì định kiểu cho từng phần tử,

ta sử dụng cú pháp sau:

.className { attName1: attValue1;…;attNamen:attValuen}

Trong đó className là tên lớp và lớp này được sử dụng bên trong phần tử cần

định dạng thông qua thuộc tính theo cú pháp <elementName

CLASS=”className”>

Ví dụ: có tệp tin định dạng format.css sau:

TAILIEU{display:block; font-size:24pt; font-weight:bold;color:red}

TIEUDE {display: block; font-style:bold; color:blue}

.F1{font:12pt/20pt "Arial Black"; color:black; font- style:italic}

Và một tài liệu XML có nội dung sau:

<?xml version="1.0" standalone="yes"?>

Trang 23

<?xml-stylesheet type="text/css" href="format.css"?

1.1.8 Mô hình DOM (Document Object Model)

Để xử lý một tài liệu XML, W3C định nghĩa tài liệu theo mô hình đối tượngtài liệu DOM (Document Object Model) Theo mô hình này thì một tài liệu XMLđược tổ chức theo cấu trúc hình cây bao gồm các nút đối tượng, nội dung củamỗi nút (note) trên cây có thể chứa phần tử (element), dữ liệu (text), thuộc tính(attribute),…và các nút con khác Cụ thể, trong mô hình DOM có các loại nútsau đây [1]:

Trang 24

Mô hình DOM được W3C định nghĩa theo nhiều cấp độ khác nhau Cụ thể

là các cấp độ [10]:

 Level 0: Là đặc tả DOM không chính thức và được áp dụng cho các trình duyệt trước đây như Netscape navigator 3.0 và IE 3.0

 Level 1: Tập trung vào sự kết hợp giữa tài liệu HTML và XML

 Level 2: Hỗ trợ không gian tên XML, khung nhìn có lọc (filtered views) và các sự kiện DOM

 Level 3: Nâng cao các khả năng của DOM với việc cho phép nạp, xử

lý, lưu lại mô hình nội dung tài liệu

Ví dụ: Cho một tài liệu XML

Trang 25

Theo mô hình DOM, tài liêu XML trên được tổ chức theo cấu trúc hình cây như sau:

TAILIEU

SACHKHT

TIEUDE1

Sach khoa hoc tu nhien

Hình 1.2: Cấu trúc cây tài liệu XML 1.1.9 Phân tích tài liệu XML theo mô hình DOM

W3C định nghĩa tài liệu XML theo mô hình DOM (Document ObjectModel) Về cơ bản DOM là một giao diện trình ứng dụng API (ApplicationProgram Interface) không phụ thuộc ngôn ngữ và chương trình, cho phép cácchương trình và các kịch bản truy cập và cập nhật động nội dung, cấu trúc vàkiểu của các tài liệu XML cũng như HTML

Với mô hình DOM, một tài liệu XML có thể được phân tích: tạo, duyệt,thêm, loại bỏ, thay đổi các phần tử thông qua các ngôn ngữ như: Java,JavaScript, Visual Studio.NET, C/C++, Song dù sử dụng ngôn ngữ nào để phântích thì ta cũng phải sử dụng tới các phương thức mà DOM cung cấp được liệt kêtrong bảng sau [11]:

Trang 27

<SCRIPT LANGUAGE="JavaScript">

<TIEUDE> Sach khoa hoc </TIEUDE>

<NOIDUNG> Khoa hoc cong nghe </NOIDUNG>

</TAILIEU>

Trang 30

1.1.11 XLINK và XPOINTER

Như chúng ta biết, các trang Web viết bằng HTML trên Internet có thể kếthợp được với nhau là nhờ vào khả năng tạo siêu liên kết Tuy nhiên việc tạo siêuliên kết trong HTML thường rất hạn chế - chỉ thông qua một số thẻ quy địnhtrước như <A>, <IMG> và các siêu liên kết trong HTML chỉ là đơn chiều

XLINK và XPOINTER là hai khái niệm giúp mở rộng và khắc phục nhữngnhược điểm của siêu liên kết trong HTML XLINK cho phép tạo các liên kết đachiều giữa các tài liệu XML và cho phép liên kết ứng xử tuỳ vào tình huống quyđịnh cũng như tuỳ vào vị trí của tài nguyên XPOINTER được dùng để định vị trícủa một vùng dữ liệu nào đó (dựa trên cơ sở đường dẫn XPATH) XLINK có thểtrỏ và liên kết chính xác đến mục dữ liệu định nghĩa bởi XPOINTER

1.1.11.1 XLINK

Với XLINK, một liên kết trong tài liệu XML được tạo ra bởi việc địnhnghĩa thuộc tính liên kết của phần tử Xlink Các phần tử chứa thuộc tính Xlinkđược gọi là phần tử liên kết (lingking element) Không gian tên của các phần tửliên kết được định nghĩa thông qua địa chỉ URI http:// www W3 org/1999/xlinknhư sau:

<elementName

xmlns:xlink=” http:// www W3 org/1999/xlink” />

Trong đó, tiếp đầu ngữ sử dụng cho không gian tên XLINK có thể là xlinkhoặc một tên khác Có 7 kiểu XLINK được định nghĩa thông qua giá trị củathuộc tính xlink:type như sau:

Trang 31

Trong XML có hai kiểu liên kết đặc trưng đó là liên kết đơn giản (simplelink) và liên kết mở rộng (extended link) Liên kết đơn giản trong XML tương tự

như siêu liên kết trong HTML, trong đó thuộc tính xlink:href được sử dụng để

trỏ đến vị trí của tài nguyên cần liên kết Việc tạo liên kết trong trường hợpsimple link trong XML tuy giống như HTML nhưng nó không bị bó buộc như

HTML nhờ vào phần tử XLINK trong XML có thêm hai thuộc tính xlink:show

và xlink:actuate được thể hiện theo cấu trúc:

<elementName

xlink:show = “replace/ embed/ new/ undefined ”/>

<elementName

xlink:actuate = “onLoad/ onRequest/ undefined ”/>

Liên kết mở rộng (extended link) được sử dụng để liên kết đến nhiều tàiliệu đích và từ nhiều nguồn khác nhau (dựa vào chiều liên kết) Có hai loại tàinguyên liên kết là tài nguyên cục bộ (tương ứng với xlink:type = “resource”,được định nghĩa trực tiếp trong liên kết) và tài nguyên ở xa (tương ứng vớixlink:type= “locator”, được định nghĩa thông qua tham chiếu đến địa chỉ URIhoặc URL ) theo dạng thức:

<elementName xlink:type= “resource”> text </elementName>

Trang 32

định vị dữ liệu dựa trên các phần tử Điểm trỏ ký tự dùng để định vị dữ liệu đếntừng ký tự cụ thể của nội dung tài liệu XPOINTER thường được sử dụng chungvới các địa chỉ cơ sở URI hay URL với hàm trỏ xpointer() được sử dụng sau kýhiệu # của địa chỉ URL theo cú pháp:

Xlink:href = “URL #xpointer((start_expression)/ range-to(end_expression) )”

Trong đó, start_expression và end_expression là biểu thức viết bằng cúpháp XPATH cho biết đầu khoảng cách và cuối khoảng cách

1.2 Cơ sở dữ liệu quan hệ

1.2.1 Cấu trúc cơ sở dữ liệu quan hệ

Một cơ sở dữ liệu quan hệ là một tập của một hoặc nhiều quan hệ, trong đómỗi quan hệ là một bảng hai chiều bao gồm các cột và các hàng (gọi là bảng dữliệu hay quan hệ) Bảng dữ liệu chính là hình thức thể hiện cụ thể của kiểu thựcthể khi chúng ta xây dựng cơ sở dữ liệu, bảng dữ liệu được sử dụng để lưu dữliệu về các thực thể trong lớp thực thể đó

Như vậy, bảng dữ liệu là một tập các bộ dữ liệu, hay bản ghi dữ liệu, mỗi bộ

có cùng một số lượng thuộc tính như nhau nhưng có thể khác nhau về giá trị.Bảng dữ liệu trong cách tiếp cận CSDL quan hệ được hiểu chính xác hơn bằngcụm từ “quan hệ” Một quan hệ bao gồm một lược đồ quan hệ và một thể hiệnquan hệ Trong đó, thể hiện quan hệ chính là một bảng, còn lược đồ quan hệmiêu tả tiêu đề các cột của bảng đó Trong một quan hệ không thể tồn tại hai bộ

dữ liệu giống nhau ở tất cả các thuộc tính

Một bảng dữ liệu được đặc trưng bởi một tên cụ thể, gọi là tên quan hệ.Mỗi cột trong bảng tương ứng với một thuộc tính trong quan hệ, được đặt tênduy nhất (gọi là tên trường) Mỗi dòng trong bảng tương ứng với một bộ củaquan hệ, một bộ là một danh sách các giá trị có thứ tự (tương ứng thứ tự các cộttrong bảng)

Ví dụ: Cho bảng dữ liệu hay quan hệ

Trang 33

Bảng 1.1: Bảng dữ liệu KHACHHANG

Trong bảng dữ liệu, mỗi thuộc tính nhận giá trị nằm trong một miền nào đó,gọi là miền giá trị Cũng như kiểu dữ liệu, miền giá trị không chỉ xác định tập giátrị cho thuộc tính mà còn xác định các thao tác được phép sử dụng trên các dữliệu

Định nghĩa miền giá trị:

Miền giá trị của bảng quan hệ là miền xác định các giá trị của thuộc tính trong bảng quan hệ.

Note: Miền giá trị phải đơn giản, chỉ nhận giá trị đơn (đơn trị) Nếu miền

giá trị nhận giá trị là đa trị (không phải là nguyên tố) thì ta phải tách giá trị đa thành đơn trị (bằng cách thêm vào các quan hệ phụ).

Quan hệ có thể được hiểu là tập con của tích đề các của một hoặc nhiềumiền Như vậy, mỗi quan hệ có thể là vô hạn Với giả thiết rằng, quan hệ là mộttập hữu hạn

Người ta dùng thuật ngữ “quan hệ cơ sở” để chỉ mức độ thấp nhất của thểhiện dữ liệu đối với người dùng Tất cả các dữ liệu trong CSDL quan hệ sẽ đượclưu trữ theo tập các “quan hệ cơ sở” Dữ liệu có thể được truy cập và xử lý theocách nhìn nhận riêng, đặc biệt được gọi là “khung nhìn” Khung nhìn là quan hệlogic, tương ứng trực tiếp hay gián tiếp với quan hệ cơ sở

Định nghĩa khung nhìn (View):

Khung nhìn là quan hệ liên kết logic cho phép liên kết hai hay nhiều quan

hệ một cách trực tiếp hoặc gián tiếp.

Trang 34

Một khung nhìn có thể là một tập con đơn giản của một quan hệ cơ sở.

Ví dụ: cho bảng quan hệ BANHANG

1.2.2 Ràng buộc toàn vẹn trên một cơ sở dữ liệu quan hệ

Ràng buộc toàn vẹn và kiểm tra sự vi phạm ràng buộc toàn vẹn là một trongnhững vấn đề quan trọng trong quá trình phân tích, thiết kế và khai thác các hệthống cơ sở dữ liệu

1.2.2.1 Định nghĩa [3]:

Ràng buộc toàn vẹn là một điều kiện bất biến không được vi phạm trong một cơ sở dữ liệu.

Trang 35

Trong thực tế, một CSDL luôn luôn tồn tại các mối liên hệ qua lại lẫn nhaugiữa các thuộc tính, giữa các bộ giá trị trong cùng một quan hệ hoặc trong cácquan hệ với nhau Các mối quan hệ phụ thuộc lẫn nhau này chính là những điềukiện bất biến mà tất cả các bộ của các quan hệ có liên quan trong CSDL đều phảithoả mãn tại bất kỳ thời điểm nào Ràng buộc toàn vẹn còn có thể được hiểu làcác quy tắc (rules) được áp đặt trên các đối tượng của thế giới thực.

1.2.2.2 Các yếu tố của ràng buộc toàn vẹn

Khi xác định một ràng buộc toàn vẹn cần chỉ rõ:

 Điều kiện của ràng buộc toàn vẹn và trên cơ sở của điều kiện này cho ta cách biểu diễn dữ liệu.

 Bối cảnh xảy ra ràng buộc toàn vẹn: Trên một hay nhiều quan hệ và cụ thể là trên quan hệ nào

 Tầm ảnh hưởng của ràng buộc toàn vẹn, khả năng tính toàn vẹn bị ảnh hưởng

và hành động cần phải có khi tính ràng buộc toàn vẹn bị vi phạm.

Như vậy tính ràng buộc toàn vẹn dữ liệu được biểu diễn thông qua các phụthuộc hàm và cụ thể là dựa trên ràng buộc khoá, có các khái niệm: khoá chính(primary key), khoá ngoại lai (foreign key) và khoá duy nhất (unique key)

 Khoá duy nhất (unique key): Ràng buộc không cho phép có hai giá trị giống y hệt nhau trên cột hoặc tập các cột được định nghĩa bởi mệnh đề dạng

này

 Khoá chính (primary key): Ràng buộc không cho phép có hai giá trị giống y hệt nhau cũng như giá trị null được đưa vào cột hoặc tập các cột được định nghĩa thoả mãn mệnh đề ràng buộc này.

 Khoá ngoại (foreign key): Ràng buộc đòi hỏi mỗi giá trị trong cột hoặc tập các cột được định nghĩa bởi ràng buộc này phải bằng một giá trị lấy từ quan hệ liên kết tương ứng, và cột trong quan hệ liên kết tương ứng cũng phải thoả mãn các ràng buộc toàn vẹn là khoá duy nhất hoặc khoá chính Ràng buộc này

Trang 36

đôi khi được gọi là ràng buộc tham chiếu Cột được khai báo loại ràng buộc này

có thể nhận giá trị null

1.2.3 Chuẩn hoá một cơ sở dữ liệu quan hệ [3]

Chuẩn hoá các cơ sở dữ liệu quan hệ là rất cần thiết trong thực tế vì nhờbước chuẩn hoá này mà chúng ta có thể loại bỏ tối đa sự dư thừa dữ liệu - mộttrong những nguyên nhân dẫn đến sự không toàn vẹn dữ liệu

Chuẩn hoá một cơ sở dữ liệu nghĩa là chúng ta sẽ đưa các lược đồ quan hệ

về một trong các dạng chuẩn: 1NF, 2NF, 3NF

 Chuẩn 1NF: Một quan hệ ở dạng chuẩn 1NF nếu tất cả các giá trị cácthuộc tính của nó là sơ cấp (tức chỉ chứa các giá trị nguyên tố - không phân chianhỏ hơn được nữa)

Nếu một quan hệ chưa ở dạng 1NF thì ta tách các thuộc tính chưa ở dạng nguyên tố thành các thuộc tính nguyên tố

 Chuẩn 2NF: Một quan hệ là chuẩn 2NF nếu nó là chuẩn 1NF và mọithuộc tính không khoá đều phụ thuộc hàm đầy đủ vào khoá chính (tức là không

có thuộc tính không khoá nào phụ thuộc hàm một phần vào khoá chính)

Nếu một quan hệ chưa ở dạng 2NF thì tách quan hệ ban đầu thành các quan

hệ mới gồm: quan hệ chứa các thuộc tính không khoá không phụ thuộc bộ phậnvào khoá chính và các quan hệ trong đó mỗi quan hệ chứa các thuộc tính là thuộctính bộ phận của khoá chính và các thuộc tính phụ thuộc bộ phận vào thuộc tính

bộ phận của khoá chính đó

 Chuẩn 3NF: Một quan hệ ở dạng chuẩn 3NF nếu nó là 2NF và tất cả cácphụ thuộc hàm giữa khoá chính và các thuộc tính khác của nó đều là trực tiếp.Nếu một quan hệ chưa ở dạng 3NF thì thực hiện theo các bước sau:

 Tìm các phụ thuộc hàm bắc cầu vào khoá chính có dạng: K->X, X-

>Y, trong đó K là tập các thuộc tính khoá, X và Y là tập các thuộc tính không khoá

Trang 37

 Nếu tìm thấy phụ thuộc hàm bắc cầu như trên thì thì tiến hành táchquan hệ hiện thời thành hai quan hệ, quan hệ thứ nhất bao gồm các thuộc tính X,

Y và quan hệ thứ hai bao gồm các thuộc tính trong quan hệ ban đầu trừ thuộctính Y

 Kiểm tra các quan hệ con xem đã ở dạng chuẩn 3NF hay chưa, nếu chưa thì lặp lại hai bước trên

1.3 Kết luận

Chương 1 đã trình bày những kiến thức cơ bản về cấu trúc của một tài liệuXML cũng như những kiến thức để giúp chúng ta nhận biết được: thế nào là mộttài liệu XML hợp lệ, hợp khuôn dạng, mô hình DOM và cách phân tích một tàiliệu XML theo mô hình DOM cùng các trình phân ngữ trong XML như: kiểu tưliệu DTD, lược đồ XML, không gian tên, bảng định kiểu CSS, Xpath, Xlink vàXpoint Ngoài những kiến thức về XML, chương 1 cũng đã trình bày những kiếnthức cơ bản về cấu trúc, các khái niệm liên quan của một CSDL quan hệ Cácràng buộc toàn vẹn trên CSDL quan hệ và cách chuẩn hoá một CSDL quan hệ.Với nội dung ngắn gọn, chính xác về XML cũng như CSDL quan hệ,chương 1 đã cung cấp những kiến thức cơ bản và đóng vai trò nền tảng chonhững nghiên cứu trong các chương tiếp theo của luận văn này

Trang 38

Chương 2

TÍCH HỢP CÁC HỆ THỐNG CƠ SỞ DỮ LIỆU VÀ XML

Hơn hai thập kỷ qua chúng ta đã chứng kiến sự phát triển vượt bậc cả về sốlượng cũng như chất lượng của các ứng dụng dựa trên cơ sở dữ liệu, đặc biệt là

cơ sở dữ liệu quan hệ Chúng ta nhận thấy rằng, các hệ thống cơ sở dự liệu quan

hệ ngày càng đóng vai trò quan trọng trong các hoạt động của các tổ chức, doanhnghiệp hay cá nhân Các hệ thống cơ sở dữ liệu quan hệ có thể được sử dụng vớinhững ứng dụng được cài đặt riêng lẻ trong các máy tính cá nhân hay có thể làmột cơ sở dữ liệu tập trung trên mạng LAN, hoặc một cơ sở dữ liệu phân tán trênmạng diện rộng và được sử dụng bởi rất nhiều các đối tượng khác nhau

Các cơ sở dữ liệu ngày nay được lưu trữ ở rất nhiều định dạng file khácnhau Chuyển đổi dữ liệu giữa chúng là một vấn đề nan giải mặc dù đã có không

ít các trình ứng dụng hỗ trợ Nếu dữ liệu của file chỉ được lưu theo dạng text thìmọi việc có thể trở nên đơn giản do file text có thể được đọc bởi hầu như tất cảcác trình ứng dụng Tuy nhiên file text khó có thể bố trí dữ liệu theo cấu trúc.XML ra đời đã khắc phục được những bất cập nói trên Trong XML dữ liệu vàđịnh dạng được lưu ở dạng text và chúng ta có thể dễ dàng cấu hình cũng nhưthay đổi chúng bằng các trình soạn thảo thông thường Và đặc biệt như chúng ta

đã đề cập, việc ngày càng có nhiều các hệ quản trị CSDL tổ chức lưu trữ các filevới nhiều định dạng khác nhau gây khó khăn cho việc giao tiếp giữa các hệ thốngthông tin Để khắc phục tình trạng này, chúng ta dùng file XML làm cầu nối đểlưu trữ và trao đổi dữ liệu Do đó, tổ chức chuyển đổi dữ liệu từ một CSDL bất

kỳ sang định dạng file XML và ngược lại là một việc làm cần thiết mang giá trịthực tiễn cao

Ngày đăng: 11/11/2020, 22:22

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