Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 114 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
114
Dung lượng
3,3 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
---------------------------
NGUYỄN THỊ LAN
CHUYỂN ĐỔI GIỮA CƠ SỞ DỮ LIỆU
QUAN HỆ VÀ XML
LUẬN VĂN THẠC SĨ KHOA HỌC
Hà Nội – 2011
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
---------------------------
NGUYỄN THỊ LAN
CHUYỂN ĐỔI GIỮA CƠ SỞ DỮ LIỆU
QUAN HỆ VÀ XML
Chuyên ngành: Bảo đảm toán cho máy tính và hệ thống tính toán
Mã số: 60.46.35
LUẬN VĂN THẠC SĨ KHOA HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS.TS. Đỗ Trung Tuấn
Hà Nội - 2011
MỤC LỤCContents
I. Lý do chọn đề tài ..........................................................................................1
I.1. Cơ sở khoa học và thực tiễn .....................................................................1
I.2. Các mục tiêu của đề tài .............................................................................2
I.3. Nội dung nghiên cứu.................................................................................3
II. Đối tượng và phương pháp nghiên cứu ......................................................3
II.1. Mục đích nghiên cứu ...............................................................................3
II.2. Đối tượng nghiên cứu ..............................................................................3
II.3. Giả thiết khoa học....................................................................................3
II.4. Nhiệm vụ nghiên cứu ..............................................................................4
II.5. Phạm vi nghiên cứu .................................................................................4
II.6. Phương pháp nghiên cứu .........................................................................4
III. Bố cục luận văn .........................................................................................4
CHƯƠNG 1.......................................................................................................7
TỔNG QUAN VỀ XML VÀ CƠ SỞ DỮ LIỆU QUAN HỆ ..........................7
1.1. Khái quát sự ra đời và phát triển của XML ..............................................7
1.1.1. XML và HTML .....................................................................................8
1.1.2. Mục tiêu sử dụng tài liệu XML ...........................................................10
1.1.3. Các lợi ích khi sử dụng XML .............................................................10
1.2. Tài liệu XML ..........................................................................................11
1.2.1. Định nghĩa tài liệu XML .....................................................................11
1.2.2. Cấu trúc tài liệu XML .........................................................................11
1.2.3. Các thành phần cơ bản của tài liệu XML............................................13
1.2.4. Cấu trúc một tài liệu XML hợp khuôn dạng .......................................21
1.2.5. Định nghĩa kiểu tài liệu DTD ..............................................................22
1.3. Phân tích tài liệu XML theo DOM ........................................................29
1.3.1. Mô hình đối tượng tài liệu .................................................................29
1.3.2. Phân tích tài liệu XML theo mô hình đối tượng dữ liệu DOM ..........32
1.4. Cơ sở dữ liệu quan hệ .............................................................................33
1.4.1. Hệ quản trị cơ sở dữ liệu .....................................................................34
1.4.2. Mô hình dữ liệu quan hệ .....................................................................35
1.4.3. Kiến trúc cơ sở dữ liệu quan hệ ..........................................................36
1.4.4. Ràng buộc toàn vẹn cơ sở dữ liệu quan hệ .........................................38
1.5. Kết luận chương 1...................................................................................41
CHƯƠNG 2......................................................................................................43
CHUYỂN ĐỔI GIỮA CƠ SỞ DỮ LIỆU QUAN HỆ VÀ XML .................43
2.1. Phương pháp luận ...................................................................................45
2.1.1. Mối quan hệ giữa một CSDL quan hệ và một tài liệu XML ..............45
2.1.2. Kiểu cơ chế, cấu trúc của XML và lược đồ CSDL quan hệ ...............46
2.1.3. Tên kiểu phần tử..................................................................................50
2.1.4. Giá trị rỗng và giá trị mặc định ...........................................................51
2.1.5. So sánh các quan hệ trong CSDL quan hệ và XML ...........................52
2.1.6. Thứ tự kiểu phần tử trong lược dồ XML ............................................54
2.2. Cơ chế chuyển một CSDL quan hệ thành một tài liệu XML .................57
2.2.1. Phi chuẩn hoá các lược đồ quan hệ .....................................................57
2.2.2. Kết nối các CSDL đã phi chuẩn hoá ...................................................63
2.2.3 Ánh xạ một CSDL quan hệ thành một tài liệu XML ...........................65
Ví dụ: Chuyển từ CSDL quan hệ thành XML (Hình 2.15) ...........................68
2.3. Chuyển một tài liệu XML sang một CSDL quan hệ ..............................68
2.3.1. Phương pháp ánh xạ một tài liệu XML thành CSDL quan hệ ............70
Ví dụ: Chuyển từ tài liệu XML thành bảng CSDL quan hệ (Hình 2.20) .....72
2.3.2. Phương pháp băm nhỏ hay phân tách các tài liệu XML .....................72
2.4. Thuật toán chuyển đổi giữa cơ sở dữ liệu quan hệ và XML ..................77
2.4.1. Biểu diễn tài liệu XML theo mô hình DOM .......................................78
2.4.2. Biểu diễn tài liệu XML theo dạng bảng của CSDL quan hệ ..............79
2.4.3. Chuyển một CSDL quan hệ sang một tài liệu XML...........................80
2.5. Cài đặt thuật toán ....................................................................................81
2.5.1. Đọc tài liệu XML dưới dạng DOM.....................................................81
2.5.2. Chuyển đổi một tài liệu XML thành CSDL quan hệ ..........................82
2.5.3. Chuyển một CSDL quan hệ thành một tài liệu XML .........................84
2.6. Kết luận chương 2...................................................................................89
CHƯƠNG 3......................................................................................................90
CHƯƠNG TRÌNH THỬ NGHIỆM ..............................................................90
3.1. Yêu cầu hệ thống ...................................................................................90
3.1.1. Phần mềm ...........................................................................................90
3.1.2. Phần cứng ............................................................................................90
3.2. Giao diện một số chức năng của chương trình .......................................91
3.2.1. Màn hình chính của hệ thống ..............................................................91
3.2.3. Chức năng đăng ký học tập .................................................................92
3.2.4. Chức năng báo cáo thống kê ...............................................................94
3.2.5. Chức năng tìm kiếm thông tin.............................................................97
3.2.6. Một số kết quả cài đặt thuật toán ........................................................99
KẾT LUẬN ....................................................................................................102
Các kết quả đạt được của luận văn: ............................................................102
Một số hạn chế của luận văn: .......................................................................102
Hướng nghiên cứu tiếp theo: ........................................................................102
TÀI LIỆU THAM KHẢO ............................................................................104
Tiếng Việt ....................................................................................................104
Tiếng Anh ....................................................................................................105
Nguồn từ các website...................................................................................105
BẢNG KÝ HIỆU CÁC CHỮ VIẾT TẮT
Chữ viết
tắt
Nghĩa tiếng anh
Nghĩa tiếng việt
1NF
First Normal Form
Dạng chuẩn 1
2NF
Second Normal Form
Dạng chuẩn 2
3NF
Third Normal Form
Dạng chuẩn 3
BCNF
Boyce Codd Normal Form
Dạng chuẩn Boyce Codd
CSDL
Database
Cơ sở dữ liệu
CSS
Cascading Style Sheets
Bảng kiểu xếp chồng
DHTML
Dynamic HyperText Markup
Language
Ngôn ngữ định dạng siêu văn
bản động
DOM
Document Object Model
Mô hình đối tượng tài liệu
DTD
Document Type Definition
Định nghĩa kiểu tài liệu
HTML
HyperText Markup Language
Ngôn ngữ đánh dấu siêu văn bản
LAN
Local Area Network
Mạng cục bộ
SGML
Standard Generalized Markup
Language
Siêu ngôn ngữ có khả năng sinh
ngôn ngữ khác
SQL
Structured Query Language
Ngôn ngữ truy vấn có cấu trúc
URI
Uniform Resource Identifier
Định danh tài nguyên trên
Internet
URL
Universal Resource Locator
Địa chỉ định vị tài nguyên toàn
cầu
W3C
World Wide Web Consortium
Tập đoàn mạng toàn cầu
WAN
Wide Area Network
Mạng diện rộng
XHTML
Extensible HyperText Markup
Language
Ngôn ngữ đánh dấu siêu văn bản
mở rộng
XML
eXtensible Markup Language
Ngôn ngữ định dạng mở rộng
DANH MỤC BẢNG BIỂU
Bảng 1. 1: Bảng tham chiếu thực thể trong XML .............................................22
Bảng 1. 2: Các loại nút trong mô hình XML ....................................................30
Bảng 1. 3: Các phương thức trong mô hình DOM ...........................................32
Bảng 1. 4: Bảng dữ liệu về học viên .................................................................36
Bảng 2. 1: Các kiểu phần tử ..............................................................................46
Bảng 2. 2: Minh họa định nghĩa kiểu phần tử hợp thành Học viên ..................47
Bảng 2. 3: So sánh các yếu tố trong một tập hợp..............................................52
Bảng 2. 4: Nội dung so sánh các quan hệ .........................................................53
Bảng 2. 5: Những kiểu phần tử hợp thành không có thứ tự..............................56
Bảng 2. 6: Dữ liệu bảng liên kết .......................................................................65
Bảng 2. 7. Khi việc băm nhỏ là hay không là một lựa chọn thích hợp .............74
Bảng 2. 8. Phương pháp XMLTABLE .............................................................75
DANH MỤC CÁC HÌNH
Hình 1. 1 Cấu trúc tài liệu XML ..................................................................... 13
Hình 1. 2: Tài liệu XML được biểu diễn theo cấu trúc cây ............................ 32
Hình 1. 3: Mô hình hệ quản trị cơ sở dữ liệu .................................................. 35
Hình 2.1: Chuyển đổi giữa CSDL quan hệ và XML ...................................... 45
Hình 2. 2: Các mức so sánh giữa mô hình quan hệ và XML .......................... 46
Hình 2. 3: Sơ đồ thực thể liên kết .................................................................. 58
Hình 2. 4: Chuẩn hóa các quan hệ .................................................................. 59
Hình 2. 5: Phi chuẩn quan hệ .......................................................................... 59
Hình 2. 6: Sơ đồ thực thể liên kết .................................................................. 60
Hình 2. 7: Chuẩn hóa quan hệ ......................................................................... 61
Hình 2. 8: Phi chuẩn quan hệ .......................................................................... 61
Hình 2. 9: Sơ đồ thực thể liên kết .................................................................. 62
Hình 2. 10: Chuẩn hóa quan hệ ....................................................................... 62
Hình 2. 11: Phi chuẩn quan hệ ........................................................................ 63
Hình 2. 12: Những ánh xạ cơ bản từ CSDL quan hệ thành tài liệu XML ...... 65
Hình 2. 13: Ánh xạ một CSDL sang một tài liệu XML .................................. 67
Hình 2. 14: Sơ đồ chuyển CSDL quan hệ thành tài liệu XML ....................... 67
Hình 2. 15: Chuyển từ bảng CSDL quan hệ thành tài liệu XML ................... 68
Hình 2. 16: Tài liệu XML được thể hiện theo mô hình DOM ........................ 68
Hình 2. 17: Sơ đồ chuyển tài liệu XML thành CSDL quan hệ ....................... 69
Hình 2. 18: Những ánh xạ cơ bản từ tài liệu XML thành CSDL quan hệ ...... 70
Hình 2. 19: Ánh xạ một tài liệu XML thành một CSDL quan hệ ................... 71
Hình 2. 20: Chuyển từ một tài liệu XML thành một CSDL quan hệ.............. 72
Hình 2. 21: Việc băm nhỏ một tài liệu XML .................................................. 73
Hình 2. 22: Chèn thành phần XML và các giá trị của thuộc tính vào các cột quan
hệ ..................................................................................................................... 77
Hình 2. 23: Mô hình XML ở dạng bảng và dạng cây ..................................... 78
Hình 2. 24: Biểu diễn tài liệu XML theo mô hình DOM ................................ 79
Hình 3.1: Giao diện tổng quan của hệ thống................................................... 91
Hình 3.2: Màn hình đăng nhập vào quản lý hệ thống ..................................... 91
Hình 3.3: Màn hình đăng ký ........................................................................... 92
Hình 3.4: Danh sách học sinh – sinh viên đăng ký học tập tại trung tâm....... 95
Hình 3.5: Kết quả tra cứu thông tin học viên .................................................. 98
Hình 3.6: Kết quả biểu diễn tài liệu XML theo DOM .................................... 99
Hình 3.7: Kết quả biểu diễn tài liệu XML theo dạng bảng ........................... 100
Hình 3.8: Kết quả chuyển đổi từ CSDL sang tài liệu XML ........................ 100
Hình 3.9: Kết quả chuyển đổi từ XML sang CSDL quan hệ ........................ 101
Lời mở đầu
LỜI MỞ ĐẦU
I. Lý do chọn đề tài
I.1. Cơ sở khoa học và thực tiễn
Trong những năm gần đây, cuộc cách mạng khoa học và kỹ thuật đang
diễn ra vô cùng nhanh chóng làm biến đổi sâu sắc toàn bộ đời sống của xã hội
loài người. Bước đột phá trung tâm của cuộc cách mạng khoa học kỹ thuật và
công nghệ này chính là sự phát triển của ngành công nghệ thông tin.
Ngày nay công nghệ thông tin đã được ứng dụng rộng rãi trong mọi lĩnh
vực kinh tế, chính trị, xã hội, y tế và giáo dục, … đóng vai trò rất quan trọng
trong quá trình chuyển dịch nền kinh tế, xã hội, làm thay đổi đáng kể về lối
sống, phong cách làm việc và nhận thức trong công việc.
Với sự phát triển vượt bậc trong lĩnh vực công nghệ mạng đã cho ra đời
nhiều dịch vụ từ xa, đặc biệt là sự ra đời của dịch vụ “application as a
service”. Các giao dịch, tương tác, giao tiếp với nhau đều thông qua môi
trường Internet. Điều này đã biến công nghệ thông tin trở thành một công cụ
không thể thiếu được trong sự phát triển của mọi lĩnh vực, mọi ngành nghề.
Cùng với sự phát triển đó thì có hàng loạt các ngôn ngữ và các giao thức
giao tiếp, thiết kế trang web cũng ra đời để phục vụ cho những mục đích, dịch
vụ nhất định. Có thể kể đến nhiều ngôn ngữ đã phát triển phổ biến như
HTML, DHTML, Java, PHP, ASP, … mỗi loại ngôn ngữ cũng đều có ưu và
nhược điểm riêng [4].
Việc lưu trữ, truy xuất dữ liệu rất đa dạng với nhiều kiểu định dạng khác
nhau, chẳng hạn như MySQL, Oracle, PostgreSQL, SQL Server, DB2,
Infomix,… đều có sự khác nhau về định dạng, lưu trữ và truy xuất dữ liệu. Do
đó, việc trao đổi dữ liệu giữa các hệ thống như vậy trên Internet sẽ ảnh hưởng
đến: tiêu tốn rất nhiều thời gian của các nhà phát triển, hạn chế đến tốc độ xử
lý của ứng dụng,…
1
Lời mở đầu
Với ngôn ngữ XML [8] mới phát triển trong những năm gần đây nhưng
đã được phổ biến rộng rãi trong các ngôn ngữ lập trình, chẳng hạn như ở các
ngôn ngữ .NET, Java,... Một số đặc trưng cơ bản của ngôn ngữ XML là:
- XML được dùng để lưu trữ dữ liệu từ các tập tin hoặc cơ sở dữ liệu.
- XML có thể được trao đổi dữ liệu dễ dàng giữa các hệ thống không
tương thích với nhau.
- XML có thể được dùng để chia sẻ dữ liệu dễ dàng hơn giữa các ứng
dụng, dễ dàng mở rộng hoặc nâng cấp sang hệ thống máy chủ, ứng
dụng, trình duyệt khác.
- XML độc lập với ứng dụng, phần cứng và phần mềm vì thế đã làm
cho dữ liệu được sử dụng hiệu quả hơn.
- XML có thể được dùng để tạo ra một ngôn ngữ đánh dấu mới tùy
theo mục đích sử dụng chẳng hạn như là ngôn ngữ đánh dấu cho
thiết bị không dây.
Chính vì thế, XML ngày càng trở nên phổ biến, điểm quan trọng nhất là
XML cho phép dễ dàng xử lý, chuyển tải và trao đổi dữ liệu giữa nhiều ứng
và tài liệu người dùng với các định dạng khác nhau.
Trước những thực trạng đó và những kiến thức đã hiểu biết về XML, em
đã thấy tính thiết thực của vấn đề này và được sự gợi ý của giảng viên hướng
dẫn, em đã chọn đề tài “Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML”
làm đề tài cho luận văn thạc sỹ của mình.
I.2. Các mục tiêu của đề tài
- Tìm hiểu về XML và cách định dạng các tài liệu XML
- Nghiên cứu XML để đơ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.
- Nghiên cứu các thuật toán chuyển đổi một cơ sở dữ liệu quan hệ thành
một cơ sở dữ liệu dạng XML và ngược lại chuyển một cơ sở dữ liệu dạng
2
Lời mở đầu
XML về một cơ sở dữ liệu quan hệ. Phục vụ cho việc tích hợp dữ liệu từ các
CSDL khác nhau.
I.3. Nội dung nghiên cứu
- Nghiên cứu về cơ sở dữ liệu XML và cách định dạng các tài liệu XML
- Nghiên cứu về DOM
- Nghiên cứu lý thuyết cơ sở dữ liệu quan hệ
- Nghiên cứu các thuật toán chuyển đổi giữa cơ sở dữ liệu quan hệ thành
cơ sở dữ liệu dạng XML và ngược lại.
- Nghiên cứu về quy trình, chuyên môn nghiêp vụ trong việc “Quản lý
học viên” tại Trung tâm tin học ngoại ngữ Trường Cao đẳng Công nghiệp
Nam Định.
- Nghiên cứu ngôn ngữ lập trình C# trong môi trường ASP.NET để triển
khai xây dựng chương trình ứng dụng.
II. Đối tƣợng và phƣơng pháp nghiên cứu
II.1. Mục đích nghiên cứu
Luận văn tập trung nghiên cứu, tìm hiểu về XML(tài liệu XML và định
dạng tài liệu XML), DOM và phương pháp sử dụng DOM để chuyển đổi một
cơ sở dữ liệu quan hệ thành một cơ sở dữ liệu dạng XML và ngược lại.
II.2. Đối tƣợng nghiên cứu
Tìm hiểu về công nghệ XML.
Tìm hiểu về cơ sở dữ liệu quan hệ.
Cách chuyển đổi một cơ sở dữ liệu dạng XML sang một cơ sở dữ liệu
quan hệ.
Cách chuyển cơ sở dữ liệu quan hệ sang cơ sở dữ liệu dạng XML.
II.3. Giả thiết khoa học
3
Lời mở đầu
Nếu chúng ta sử dụng công nghệ XML thì chúng ta không những có thể
phát triển một cơ sở dữ liệu dạng XML mới trong khi vẫn sử dụng các cơ sở
dữ liệu đang tồn tại mà còn có thể rút trích các dữ liệu từ các cơ sở dữ liệu
dạng XML.
II.4. Nhiệm vụ nghiên cứu
Nghiên cứu về XML.
Nghiên cứu giải pháp thực hiện chuyển đổi qua lại giữa XML và cơ sở
dữ liệu quan hệ.
Xây dựng một ứng dụng cụ thể dựa trên các kết quả nghiên cứu.
Đồng thời luận văn cũng mong muốn nêu ra được một số hướng
nghiên cứu tiếp theo căn cứ vào các kết quả đã đạt được.
II.5. Phạm vi nghiên cứu
Luận văn tập trung nghiên cứu các kiến thức có liên quan, các cơ sở lý
thuyết, chẳng hạn như: tài liệu XML, định dạng tài liệu XML, DOM, lý
thuyết cơ sở dữ liệu, thuật toán chuyển đổi giữa cơ sở dữ liệu quan hệ và cơ
sở dữ liệu dạng XML.
II.6. Phƣơng pháp nghiên cứu
Nghiên cứu qua các tài liệu như: sách, các bài báo, thông tin trên các
website và các tài liệu liên quan.
Phân tích, tổng hợp lý thuyết và xây dựng các thuật toán chuyển đổi
một cơ sở dữ liệu quan hệ sang dạng tài liệu XML và ngược lại.
Ứng dụng ngôn ngữ lập trình C# trong môi trường ASP.NET để triển
khai xây dựng một chương trình ứng dụng demo về việc “Quản lý học viên”
tại Trung tâm tin học ngoại ngữ Trường Cao đẳng Công nghiệp Nam Định.
III. Bố cục luận văn
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ệ
4
Lời mở đầu
- Trình bày tổng quan về cấu trúc một tài liệu XML, tạo tài liệu XML
hợp khuôn dạng.
- Định nghĩa kiểu tài liệu (DTD), lược đồ (Schema), mô hình đối tượng
tài liệu (DOM).
- Phân tích tài liệu XML theo DOM
- Định dạng tài liệu XML dùng bảng định kiểu (CSS)
- Các khái niệm cơ sở về cơ sở dữ liệu (CSDL) quan hệ.
Chƣơng 2: Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML
- Phi chuẩn các lược đồ quan hệ
- Kết nối các lược đồ quan hệ đã phi chuẩn
- Ánh xạ một CSDL sang một tài liệu XML
- Ánh xạ một CSDL quan hệ đã kết nối thành một DOM chính và
chuyển thành một tài liệu XML
- Chuyển một CSDL quan hệ sang một tài liệu XML
- Chuyển một tài liệu XML sang một cơ sở dữ liệu quan hệ.
- Phương pháp băm nhỏ hay phân tách các tài liệu XML thành các
bảng CSDL
- Cài đặt các thuật toán
o Thuật toán Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML
o Thuật toán biểu diễn tài liệu XML theo DOM
o Thuật toán hiển thị tài liệu XML dưới dạng bảng
Chƣơng 3: Chương trình thử nghiệm
- Trình bày việc cài đặt thuật toán bằng ngôn ngữ lập trình C# trong môi
trường ASP.NET.
Xây dựng chương trình ứng dụng demo việc “Quản lý học viên” tại
Trung tâm tin học ngoại ngữ Trường Cao đẳng Công nghiệp Nam Định.
5
Lời mở đầu
- Cài đặt thuật toán để chuyển đổi và tích hợp XML với CSDL của hệ
thống thông tin “Quản lý học viên” tại Trung tâm tin học ngoại ngữ Trường
Cao đẳng Công nghiệp Nam Định.
Kết luận: Tóm tắt các nội dung chính, các kết quả đạt được và hướng
nghiên cứu tiếp theo của luận văn.
6
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
CHƢƠNG 1
TỔNG QUAN VỀ XML VÀ CƠ SỞ DỮ LIỆU QUAN HỆ
1.1. Khái quát sự ra đời và phát triển của XML
XML (eXtensible Markup Language)[18]: là ngôn ngữ tạo cấu trúc dữ
liệu văn bản được phát triển từ đầu năm 1996 dựa theo và tận dụng những
điểm mạnh của chuẩn SGML (Standard Generalized Markup Language: được
coi như là siêu ngôn ngữ có khả năng sinh ngôn ngữ khác), cùng những kinh
nghiệm có được từ ngôn ngữ HTML (HyperText Markup Language). SGML
phát triển cho việc định cấu trúc và nội dung tài liệu điện tử do tổ chức ISO
(International Organization for Standardization) chuẩn hóa năm 1986.
SGML là do IBM đưa ra nhưng được phát triển bởi W3C (World Wide
Web Consortium: tổ chức độc lập định ra tiêu chuẩn cho định dạng Web, máy
chủ và ngôn ngữ), nhưng đặc tả XML lại do Netscape, Microsoft và các thành
viên dự án Text Encoding Intiative (TEI) xây dựng. Tổ chức W3C XML
Special Interest Group có đại diện từ hơn 100 công ty cùng nhiều chuyên gia
được mời khác. W3C chính thức thông qua chuẩn XML vào tháng 2/1998.
XML là một hệ thống có luật dùng cho việc thiết kế các khổ mẫu
(format) cho văn bản giúp tạo cấu trúc cho dữ liệu. Trong thực tế XML không
phải là một ngôn ngữ lập trình, XML giúp máy tính dễ dàng tạo dữ liệu, đọc
dữ liệu, trao đổi dữ liệu và làm cho cấu trúc dữ liệu trở nên rõ ràng và dễ hiểu
hơn, ngoài ra XML còn có thể mở rộng, có nền tảng hoàn toàn độc lập và hỗ
trợ tính quốc tế hóa, nội địa hóa. XML hỗ trợ hoàn toàn unicode.
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 (chẳng hạn như: RDF, RSS, MathML, XHTML,
SVG, GML và cXML) được định nghĩa theo cách thông thường, cho phép các
7
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
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.
XML là một tài liệu văn bản có cấu trúc, cho phép biểu diễn thông tin
về các đối tượng trong thực tế, dễ dàng chuyển tải và trao đổi dữ liệu giữa
nhiều ứng dụng khác nhau.
1.1.1. XML và HTML
Trong thực tế bản thân ngôn ngữ XML có nguồn gốc giống như ngôn
ngữ định dạng siêu văn bản HTML (HyperText Markup Language) từ chuẩn
ngôn ngữ định dạng văn bản tổng quát có cấu trúc SGML. Mỗi văn bản XML
cũng sử các thẻ (tags), các từ được đặt trong ngoặc với „‟ (mở và
đóng) và dùng thuộc tính tên gọi của các phần tử (element) với mẫu name=
“value”.
Trong khi HTML đặc biệt chú ý tới từng thẻ (tag) và thuộc tính
(attribute) có ý nghĩa gì và phần văn bản giữa các thẻ đó hiển thị như thế nào
trên trình duyệt thì XML sử dụng các thẻ chỉ để phân định ranh giới giữa các
đoạn dữ liệu và coi việc đọc và xử lý dữ liệu hoàn toàn là nhiệm vụ của các
ứng dụng. Nhưng khác với ngôn ngữ HTML, số lượng và tên gọi các phần tử
trong XML là không hạn chế.
XML là một văn bản nhưng không giống với những loại văn bản thông
thường mà ta có thể đọc được. Các chương trình dùng để tạo các dữ liệu được
cấu trúc hóa thông thường được lưu dữ liệu trên đĩa cứng, sử dụng khuôn
dạng text hay nhị phân. Một thuận lợi của khuôn dạng văn bản là cho phép
người đọc có thể đọc nó với bất kỳ bộ soạn thảo văn bản nào tùy thích. Các
khuôn dạng văn bản cũng cho phép tìm lỗi dễ dàng hơn trong các ứng dụng.
Giống như HTML các file XML là những file văn bản được tạo ra không phải
với mục đích đề đọc, nhưng vẫn có thể đọc nếu thấy cần thiết. Tuy nhiên
XML có điểm không bằng HTML, các luật dùng trong XML rất hạn chế, chỉ
8
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
cần quên một thẻ, hay một thuộc tính không đi kèm với nội dung sẽ làm cho
toàn bộ file XML đó ngừng hoạt động, trong khi đó lỗi này ở file HTML có
thể được bỏ qua.
XML được xem như là ngôn ngữ mạnh hơn HTML do nó mang lại
thông tin đầy đủ về dữ liệu. XML cung cấp “siêu dữ liệu” metadata hay còn
được gọi là “dữ liệu về dữ liệu” (data about data). XML cho phép các nhà
phát triển và quản trị công nghệ thông tin mô tả thông tin có liên quan tới các
nguồn thông tin khác. Đây là phương pháp khai thác thông tin lý tưởng trong
môi trường trao đổi thông tin từ các máy chủ ứng dụng cũng như từ các ứng
dụng với nhau. Cấu trúc chặt chẽ của XML (nội dung được đặt giữa các thẻ
metadata) cho phép các ứng dụng dễ dàng tìm kiếm và sử dụng nội dung đã
tạo. Môi trường tài liệu XML trở thành một kho dữ liệu hỏi-đáp (query data
repository) tương tự như cơ sở dữ liệu. Ngôn ngữ XML là giải pháp tích hợp
cho vấn đề trao đổi dữ liệu tự động giữa các kho thông tin trên mạng Internet.
Một biểu ghi XML đơn giản có dạng như sau:
encoding="utf-8" standalone="yes"?>
Kinh tế học vi mô
Ngô Đình Giao
Kinh tế vĩ mô
Thống kê
2006
Chuẩn trao đổi các dữ liệu trên Internet hiện nay đã được tổ chức tiêu
chuẩn quốc gia của Mỹ thông qua nhằm thay thế cho các chuẩn cũ không còn
phù đó là chuẩn ANSI/NISO Z39.85-2001 [18]
9
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
1.1.2. Mục tiêu sử dụng tài liệu XML
Ngày nay, việc lưu trữ dữ liệu rất đa dạng với nhiều kiểu định dạng khác
nhau, chẳng hạn như Microsoft SQL Server và Oracle là đã có sự khác nhau
về định dạng gây nên một số hạn chế như: tiêu tốn rất nhiều thời gian của các
nhà phát triển, hạn chế đến tốc độ xử lý của ứng dụng, … Với khả năng của
XML cho phép người dùng có thể tự định nghĩa các thẻ (tag) nhằm mục đích
làm cho tài liệu XML trở nên thông dụng hơn những ngôn ngữ thông thường
như HTML và còn khắc phục được các hạn chế trên. Do đó, XML ngày càng
trở nên thông dụng và phổ biến rộng rãi cho những ứng dụng thực thi trên môi
trường Internet [4].
Mục tiêu ra đời của XML là phải tương thích với SGML, dễ dàng viết
những chương trình để xử lý cho những tài liệu XML. Tiếp theo, là những tài
liệu viết bởi XML phải rõ ràng, dễ đọc và dễ tạo lập. Và điều quan trong nhất
là nó được hỗ trợ trong nhiều ứng dụng. Nói tóm lại, XML dễ dàng chia sẻ dữ
liệu với những định dạng khác nhau.
1.1.3. Các lợi ích khi sử dụng XML
Từ khi ra đời và phát triển, XML phải trải qua nhiều thử thách trong việc
thuyết phục các nhà lập trình sử dụng XML là sự lựa chọn hàng đầu vì nó dễ
đọc, dễ hiểu và dễ thực hiện bằng cách đưa ra một số lợi ích sau:
XML được dùng để chia sẻ dữ liệu với những tập tin văn bản đơn
giản dễ hiểu.
XML có thể tách rời dữ liệu, có nghĩa là dữ liệu được chứa trong
các tập tin XML riêng biệt.
XML có thể được dùng để chuyển đổi dữ liệu giữa các hệ thống
không tương thích với nhau.
XML dùng để mô tả rất tường minh thông tin của các đối tượng
phức tạp mà cơ sở dữ liệu không làm được.
10
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
XML được dùng để lưu trữ dữ liệu nhằm làm cho dữ liệu của chúng
ta linh động và hữu ích hơn.
1.2. Tài liệu XML
1.2.1. Định nghĩa tài liệu XML
Một tài liệu HTML có thể tồn tại một số thẻ không đúng quy định thì
trình biên dịch sẽ bỏ qua những thẻ này. Tuy nhiên với một tài liệu XML thì
điều này không thể xảy ra. Khi xây dựng một tài liệu XML, nó phải tuân thủ
theo một số quy luật nhất định. Những tài liệu XML tuân thủ đúng những quy
luật này được gọi là định dạng đúng. Với một tài liệu không phải là định dạng
đúng, Internet Explorer sẽ thông báo lỗi khi nạp tài liệu này [8].
Một tài liệu XML định dạng đúng [11] chưa chắc là một tài liệu hợp lệ.
Một tài liệu XML được xem là hợp lệ nếu nó đảm bảo những quy tắc đặc tả
trong tài liệu DTD hay giản đồ. Một DTD hay schema sẽ định nghĩa mọi thứ
từ cấu trúc dữ liệu tới kiểu dữ liệu, những thuộc tính được yêu cầu, và những
ràng buộc về thành phần và thuộc tính được kết hợp trong tài liệu. Phương
thức kiểm tra tài liệu này thường được sử dụng trong giao tiếp giữa ứng dụng
– ứng dụng, đảm bảo dữ liệu trao đổi hợp lệ tránh dẫn tới những ảnh hưởng
của dữ liệu không hợp lệ trên toàn hệ thống.
Tài liệu XML có thể được soạn thảo bởi các phần mềm thông thường
như: Notepad, EditPlus,... hay các trình soạn thảo chuyên dụng của XML
như: XML Notepad, XMLWriter, XML Spy,... [8].
1.2.2. Cấu trúc tài liệu XML
Tài liệu XML chỉ chứa đựng dữ liệu và cách lưu trữ dữ liệu mà không đề
cập tới cách thức trình bày dữ liệu. Một tài liệu XML chứa những đặc tả về
cấu trúc dữ liệu. Mỗi cấu trúc gồm nhiều phần tử, mỗi thành phần được bắt
đầu với một thẻ bắt đầu và kết thúc với một thẻ kết thúc. Nội dung của phần
11
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
tử nằm giữa thẻ bắt đầu và thẻ kết thúc. Nội dung có thể chứa dữ liệu văn bản
hay có thể là một phần tử khác.
Một tài liệu XML có thể được chia thành 2 thành phần chính, mỗi thành
phần có các quy định khác nhau [8]:
1- Phần khởi đầu bao gồm các khai báo như: phiên bản sử dụng của
XML, cách thức mã hóa 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, các khoảng trắng,… XML không bắt buộc phải khai
báo phần mở đầu của tài liệu XML. Tuy nhiên W3C khuyến khích chúng ta
nên sử dụng phần khai báo này, ít nhất cũng phải có phần khai báo phiên bản
sử dụng của XML.
2- Phần thân của tài liệu chứa nội dung của dữ liệu bao gồm một hay
nhiều thành phần, tối thiểu phải có ít nhất một thành phần, những thành phần
này bao gồm các phần tử. Mỗi phần tử bao gồm một cặp thẻ gồm thẻ bắt đầu
(thẻ mở) và thẻ kết thúc (thẻ đóng). Phần tử đầu tiên của tài liệu được coi là
phần tử gốc. Tất cả các tài liệu XML được gọi là hợp khuôn dạng nếu có chứa
duy nhất một phần tử gốc. Phần tử gốc chứa tất cả các phần tử và các cặp thẻ
khác nhau.
Giữa thẻ đóng và thẻ mở của một phần tử có thể đặt nội dung của
phần tử nếu có. Nội dung của phần tử có thể bao gồm văn bản thuần hoặc các
phần tử khác và các cặp thẻ khác. Các cặp thẻ bên trong nội dung bao gồm
các thẻ sau :
- Thẻ khai báo tham số
- Thẻ chỉ thị xử lý
- Thẻ ghi chú
- Thẻ CDATA
- Thẻ khai báo cấu trúc
- Thẻ khai báo thực thể
12
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
Hình 1. 1 Cấu trúc tài liệu XML
1.2.3. Các thành phần cơ bản của tài liệu XML
1.2.3.1. Định dạng và dữ liệu kí tự
Tài liệu XML được cấu thành từ phần định dạng và phần dữ liệu kí tự.
Trong tài liệu XML, định dạng giúp phân biệt các thành phần khác nhau trong
tài liệu XML hay các nút khác nhau trong cây XML. Định dạng bao gồm các
thẻ bắt đầu, 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ự, các chú thích, phân đoạn CDATA, khai báo kiểu tài liệu và chỉ thị
xử lý. Tất cả các dữ liệu còn lại trong tài liệu XML không phải là định dạng
đều được xem là dữ liệu kí tự [8].
1.2.3.2. Các khai báo trong thẻ XML (Thẻ khai báo tham số)
Một tài liệu XML có thể bắt đầu bởi khai báo cho biết tài liệu được viết
theo định dạng và đặc tả XML. Khai báo thẻ XML là không bắt buộc trong tài
liệu XML, nếu sử dụng khai báo thẻ XML thì khai báo này bắt buộc phải
được đặt ở dòng đầu tiên của tài liệu XML. Khai báo thẻ XML trong tài liệu
được định nghĩa theo cú pháp sau [8]:
< ?xml [các thuộc tính của thẻ XML] ? >
Trong đó : [các thuộc tính của thẻ XML] gồm version, encoding, và
standalone (tức là bao gồm các phiên bản, mã hoá và thực thể độc lập).
Hoặc có thể được định nghĩa theo cú pháp sau :
13
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
Trong đó : Ten_1, Ten_2, … là các tên của các tham số
Gia_tri_1, Gia_tri_2, … là các giá trị tương ứng.
Hiện nay có 3 tham số đuợc dùng là version, encoding, và standalone.
Tham số version bắt buộc phải có nếu các tham số khác đuợc sử dụng
- Khai báo phiên bản: khai 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à tùy chọn nhưng W3C khuyến cáo
nên sử dụng khai báo này).
Ví dụ : < ?xml version=”1.0” ? >
(Cho biết tài liệu dùng phiên bản XML 1.0)
- Khai báo mã hóa: bộ mã được sử dụng trong tài liệu XML phổ biến
nhất là UTF-8. Ngoài ra có thể sử dụng các bộ mã khác như Unicode, UCS-2,
USC-4,... (khai báo này là tùy chọn).
Ví dụ : Tài liệu XML sử dụng cách mã hóa Unicode ký hiệu utf-8
< ?xml version=”1.0” encoding=”utf-8” ? >
- Khai báo thực thể độc lập: đượ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à tùy chọn).
Ví dụ : Tài liệu XML dùng phiên bản XML 1.0, sử dụng cách mã
hóa Unicode ký hiệu utf-8 và không có tham chiếu với các tài liệu khác :
< ?xml version=”1.0” encoding=”utf-8” standalone=”yes” ? >
1.2.3.3. Chỉ thị xử lý
- Các chỉ thị xử lý được dùng để chỉ dẫn cho bộ phân tích cách xử lý tài
liệu XML trong qua trình phân tích. Những chỉ thị này thường bắt đầu bằng
dấu . Chẳng hạn, khi chỉ thị yêu cầu bộ phân tích
kết hợp dữ liệu của XML với bảng định kiểu CSS thì ta phải khai báo như sau
.
- Chỉ thị xử lý có dạng khai báo chung như sau :
14
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
Trong đó :
Bo_xu_ly : là ký hiệu của bộ xử lý sẽ tiến hành một số xử lý nào đó
trên tài liệu XML .
Du_lieu : là thông tin được gởi đến Bo_xu_ly
Ví dụ: Chỉ thị sau kết nối bảng định kiểu Vidu.css vào tài liệu XML
< ?xml-stylesheet type =”text/css” href=”vidu.css”? >
- Thẻ này sẽ có ý nghĩa với một số trình duyệt Web như ỊE ( phiên bản
50. về sau ), Netscape ( phiên bản 6.0 về sau)
1.2.3.4. Phần chú thích (ghi chú tài liệu)
Chú thích trong tài liệu XML tương tự như chú thích trong tài liệu
HTML [8]. Khi diễn dịch nội dung tài liệu, trình biên dịch sẽ bỏ qua những
dòng chú thích. Chú thích trong tài liệu XML được đặt trong cặp kí tự XML -->.
Ví dụ :
< !--phan khai bao...-->
< !—phan noi dung...-->
Khi thêm các dòng chú thích vào trong tài liệu XML cần phải đảm bảo
một số quy tắc sau:
- Chú thích không được đặt trước các khai báo.
- Không được đặt chú thích vào bên trong phần định dạng.
Ví dụ : cách dùng chú thích sau là không hợp lệ
< !--phan khai bao...-->
15
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
......
1.2.3.5. Thẻ và các phần tử
Cấu trúc tài liệu XML dựa trên các thành phần định dạng, các thành
phần này bao gồm nhiều phần tử. Mỗi phần tử thường bao gồm một cặp thẻ
bắt đầu và thẻ kết thúc. Ngoại trừ các phần tử rỗng sẽ được định nghĩa bằng
một thẻ. Thẻ bắt đầu (thẻ mở) bắt đầu bằng kí tự < và kết thúc bằng kí tự >.
Thẻ kết thúc (thẻ đóng) bắt đầu bằng cặp kí tự .
Tên thẻ có thể bắt đầu bằng kí tự chữ hoặc dấu gạch dưới (_) hoặc dấu
hai chấm (:). Các kí tự kế tiếp có thể là kí tự số, chữ, gạch dưới, dấu chấm,
dấu hai chấm nhưng không được là khoảng trắng [8].
Ví dụ : các tên thẻ sau là hợp lệ
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ác thẻ và
thuộc tính thì cần phải phân biệt chữ hoa và chữ thường. Do đó
khác với
Phần tử rỗng: là phần tử mà chỉ có một thẻ duy nhất và được đặt trong
cặp dấu < />.
Ví dụ : Trong tài liệu XML sau thì phần tử là phần tử
rỗng :
16
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
Cong nghe USB khong day
Phần tử rỗng có thể có thuộc tính :
Ví dụ : Trong tài liệu XML sau thì phần tử rỗng có
thuộc tính là color:
Cong nghe USB khong day
Phần tử gốc: là phần tử chứa đựng 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 được xem là phần rất quan trọng trong cấu trúc của
tài liệu XML. Trong ví dụ trên phần tử là phần tử gốc của tài
liệu
1.2.3.4.6. Thuộc tính
Thuộc tính của các thẻ trong tài liệu XML tương tự như thuộc tính của
các thẻ HTML[8]. Thuộc tính được kết hợp theo từng cặp tên và giá trị.
Thuộc tính cho phép xác định thêm thông tin của thẻ. Thuộc tính được đặt
trong thẻ mở và thẻ rỗng. Sử dụng dấu bằng (=) để gán giá trị cho thuộc tính.
Thuộc tính luôn được gán giá trị là kiểu text, giá trị của thuộc tính phải
đặt trong cặp dấu nháy kép “”. Tuy nhiên, nếu giá trị chuỗi truyền cho thuộc
tính có dấu nháy kép ta có thể sử dụng nháy đơn để thay thế.
Ví dụ :
17
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
1.2.3.7. Phân đoạn CDATA
Phân đoạn CDATA cũng là một phần tử trong tài liệu XML nhưng chỉ
gồm một thẻ. Thẻ này bắt đầu bằng và kết thúc bằng ]>. Toàn bộ
nội dung được đặt trong phân đoạn CDATA sẽ không được trình phân tích coi
như cấu trúc XML mà chúng chỉ được xem như là dữ liệu thuần túy[8].
1.2.3.8. Không gian tên gọi
XML cho phép tự định nghĩa và đặt tên cho các thẻ[8]. Nếu tài liệu
XML chỉ sử dụng cho một mục đích nào đó và không cần phải kết hợp với
các tài liệu XML khác thì điều này không cần thiết. Nhưng một khi các ứng
dụng phát triển, tập định nghĩa các thẻ XML cần chia sẻ và kết hợp với nhau
thì đó là một vấn đề cần phải quan tâm.
Để định nghĩa không gian tên gọi cho các thẻ, ta đưa vào thuộc tính
xmlns:prefix="yournamespace" vào gốc phần tử. Trong đó prefix là tên miền
hay tiền tố mà ta muốn dùng cho không gian tên, yournamespace là không
gian tên gọi mà ta muốn chỉ định, mỗi không gian tên gọi có một định danh
duy nhất (có thể là định danh URL hoặc URI). Sau đó sử dụng không gian tên
gọi này cho tất cả các thẻ trong tài liệu XML mà ta muốn chúng thuộc không
gian tên gọi đã định nghĩa theo cú pháp: đối với thẻ mở
và đối với thẻ đóng.
Ví dụ 1.1: Cho tài liệu XML chưa định nghĩa không gian tên gọi sau:
TA01
Lê Thị Thu Trang
18
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
Nữ
1984
255 Trần Huy Liệu – Tp Nam Định
0123660672
Giả sử nếu ta sử dụng không gian tên gọi "http://www.danhsach.com.vn/ds"
với tiền tố là ds cho ví dụ trên, ta sẽ sử dụng như sau:
TA01
Lê Thị Thu Trang
Nữ
19
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
1984
255 Trần Huy Liệu – Tp Nam Định
0123660672
Khi đó, việc sử dụng không gian tên gọi cho tất cả các thẻ trong tài liệu
XML như sau:
TA01
Lê Thị Thu Trang
Nữ
1984
20
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
255 Trần Huy Liệu – Tp Nam Định
0123660672
1.2.4. Cấu trúc một tài liệu XML 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ác quy tắc sau[8]:
- Các khai báo XML phải được đặt ở dòng đầu tiên của tài liệu. Khai
báo chỉ thị xử lý XML đầu tiên không bắt buộc, tuy nhiên nếu sử dụng thì
phải đặt chúng ở ngay dòng đầu tiên của tài liệu. Nếu không theo yêu cầu này
thì tài liệu XML được xem là không hợp 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à con của phần tử gốc.
- Mọi phần tử XML khác rỗng phải bao gồm đầy đủ thẻ đóng và thẻ
mở. Trong tài liệu XML hợp khuôn dạng, mọi thẻ mở (ngoại trừ thẻ rỗng)
phải có thẻ đóng tương ứng. Nếu bộ phân tích XML phát hiện một phần tử bị
thiếu thẻ đóng hay thẻ mở thì quá trình phân tích, biên dịch tài liệu sẽ bị kết
thúc.
- Đóng phần tử rỗng với chuỗi />. Phần tử rỗng là phần tử chỉ có một
thẻ. Dấu kết của phần tử rỗng phải là /> nếu không tài liệu sẽ được coi là
không hợp khuôn dạng.
- Mọi phần tử trong tài liệu XML khác phần tử gốc đều phải nằm giữa
cặp thẻ gốc.
21
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
- Các phần tử lồng nhau phải có thẻ đóng, mở tương ứng đúng vị trí.
- Chỉ nên sử dụng 5 tham chiếu thực thể được định nghĩa trước trong
XML. Trong ngôn ngữ định dạng XML, một số kí tự nhận dạng đặc biệt như
, „, “, và & không thể sử dụng trong tài liệu theo cách thể hiện dữ liệu
thông thường. Muốn sử những kí hiệu này phải dùng tham chiếu thực thể đã
được XML định nghĩa trước như sau:
Bảng 1. 1: Bảng tham chiếu thực thể trong XML
Tham chiếu thực thể
Ý nghĩa tƣơng ứng
&
&
<
<
>
>
'
„
"
“
Ví dụ : Giá trị thời gian là 50‟ 11‟‟
- Sử dụng tên thuộc tính là duy nhất. Các thẻ trong thuộc tính không
được đặt cùng tên.
Ví dụ : Tài liệu sau vi phạm ràng buộc này
- Tất cả các giá trị của thuộc tính đều phải nằm trong cặp dấu nháy kép
(“) hoặc nháy đơn („).
- Chỉ nên sử dụng kí tự < và & đối với thẻ mở và các thực thể.
1.2.5. Định nghĩa kiểu tài liệu DTD
Khi định nghĩa thẻ XML, ta tùy ý quyết định cách sử dụng chúng. Ta có
thể quyết định thẻ chỉ chứa nội dung là dữ liệu văn bản thuần túy hoặc có thể
22
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
chứa các phần tử con khác. Tuy nhiên, để tài liệu rõ ràng ta nên định nghĩa
kiểu tài liệu mà mỗi phần tử sẽ biểu diễn.
Một tài liệu XML được coi là hợp lệ và có giá trị khi toàn bộ các phần tử
trong tài liệu được định nghĩa kiểu mà nó sẽ chứa.
Định nghĩa kiểu tài liệu DTD phải theo cú pháp quy định của tổ chức
XML W3C. Sử dụng thẻ khai báo để bắt đầu định nghĩa cho
các phần tử XML. Mẫu khai báo như sau:
Trong đó:
- DOCTYPE : là một phần của phần mở đầu tài liệu.
- DTD : là định nghĩa cho các phần tử trong tài liệu.
- rootname : Tên phần tử gốc.
Mỗi phần tử được định nghĩa theo cú pháp sau:
Trong đó:
- NAME : là tên của 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 (bao gồm dữ liệu có thể dùng phân tích hoặc
các phần tử con khác).
Ví dụ 1.2: khai báo và định nghĩa DTD trong tài liệu XML:
23
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
]>
TA01
Lê Thị Thu Trang
Nữ
1984
255 Trần Huy Liệu – Tp Nam Định
0123660672
1.2.6. Giản đồ XML
Giản đồ XML là một tài liệu XML được viết dưới dạng thức thuần văn
bản với phần mở rộng .xsd. Tài liệu này mở đầu bằng khai báo chuẩn XML,
24
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
tiếp theo dùng tiếp đầu ngữ xsd: để khai báo không gian tên gọi XML Schema
Cấu trúc chung ( thông dụng ) của các tài liệu trong XML Shema như sau:
Đặc tả các thẻ
Đặc tả các kiểu
Với DTD, Đặc tả cấu trúc tài liệu XML bao gồm 2 phần : Đặc tả cấu
trúc nội dung các thẻ , Đặc tả thuộc tính các thẻ. Thông tin về một thẻ được
mô tả qua 2 phần tách biệt nhau : Đặc tả cấu trúc nội dung mô tả cách sắp xếp
các thành phần bên trong của thẻ đang xét, Đặc tả thuộc tính mô tả hệ thống
các thuộc tính của thẻ đang xét.
Với giản đồ XML, thông tin về một thẻ được mô tả tập trung qua một ý
niệm duy nhất là kiểu[8]. Mỗi thẻ sẽ có tương ứng một kiểu. Đặc tả kiểu mô
tả kiểu của thẻ cùng với một số tính chất khác. Đặc tả kiểu mô tả các thông tin
về các thẻ thuộc kiểu ( có thể có nhiều thẻ cùng thuộc một kiểu ) bao hàm cả
các thông tin về cách sắp xếp các thành phần bên trong của thẻ và hệ thống
các thuộc tính của thẻ.
Ví dụ:
Bộ môn Công Nghệ XML Công nghệ XML và ứng dụng Nguyễn
Tiến Huy
admincnttvn@gmail.com http://www.ebook.edu.vn Trang 60
Để chương trình xử lý XML có thể sử dụng được tập tin lược đồ (.xsd)
cho tài liệu XML, thì các bộ xử lý phải có cách cài đặt cụ thể của riêng nó để
nhận ra lược đồ đi kèm với tài liệu XML. W3C cho phép khai báo không gian
tên gọi cho tài liệu XML tham chiếu đến tập tin lược đồ theo địa chỉ URL như
sau:
………………
Giản đồ XML được Microsoft đề xuất để thay thế cho định kiểu tư liệu
DTD, được sử dụng để định nghĩa kiểu tư liệu cho các phần tử XML, vốn
xuất thân từ SGML, khó sử dụng và có một số nhược điểm như không định
nghĩa chính xác được các loại dữ liệu. Trong khi đó, XML Schema có một số
ưu điểm sau:
26
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
- Dễ học và dễ dùng hơn DTD.
- Định nghĩa chính xác được các kiểu dữ liệu.
- Có hệ thống không gian tên gọi tốt hơn.
- Dùng lại được các phần tử bằng cách thừa kế.
1.2.7. Bảng định kiểu CSS
CSS là mô hình định nghĩa kiểu định dạng dùng cho việc hiển thị tài
liệu[8]. Ta có thể dùng CSS để hiển thị tài liệu XML tương tự như các tài liệu
HTML. CSS cho phép tách rời định dạng với nội dung dữ liệu.
CSS được hiểu như một tập mẫu quy định các kiểu định dạng cho các
phần tử trong XML như định dạng về font chữ, màu chữ, màu nền,….
Bảng định kiểu CSS được sử dụng trong tài liệu HTML, tuy nhiên điểm
khác biệt chủ yếu giữa việc sử dụng CSS vào HTML với việc sử dụng CSS
vào XML là các thẻ trong HTML thì có sẵn thông tin định dạng còn các thẻ
trong 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 cho
các phần tử của XML trong một file tách biệt với tài liệu. Sau đó tập mẫu này
được sử dụng vào trong tài liệu thông qua việc xử lý với cú pháp như sau:
Trong đó filename.css 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, tập tin này có phần mở rộng là .css và 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 khối (bắt đầu ở đầu dòng và các thành phần theo sau
nó sẽ bắt đầu ở dòng tiếp theo), hoặc display:line sẽ hiển thị thành phần theo
nội dung, attName là tên thuộc tính và attValue là giá trị của thuộc tính.
27
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
Nếu muốn gom giá trị 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ử, tạo lớp bằng cách đặt một dấu chấm trước
tên lớp theo 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:
Ví dụ 1.3: Có tệp định dạng Hocvien.css như sau:
DanhSach_HV {background-color: #ffffff; width:
100%}
HocVien {background-color: Green; width: 100%}
HocvienID {display:block; margin-Bottom:30pt;
margin-left:0}
LopID {display:block; margin-bottom:30pt;
font-
size:30pt margin-left:0}
TenHocVien {color:Maroon; font-size:20pt}
GioiTinh {color:Maroon; font-size:20pt}
NamSinh {color:Maroon;font-size:20pt }
DiaChi {color:Maroon; font-size:20pt}
DienThoai {color:Maroon; font-size:20pt}
Và một tài liệu XML có nội dung như sau:
TA01
28
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
Lê Thị Thu Trang
Nữ
1984
255 Trần Huy Liệu – Tp Nam Định
0123660672
1.3. Phân tích tài liệu XML theo DOM
1.3.1. Mô hình đối tƣợng tài liệu
Để xử lý tài liệu XML, W3C định nghĩa tài liệu theo mô hình hướng đối
tượng DOM. Theo mô hình này 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ủa mỗi nút (node), trên cây có thể
chứa phần tử, dữ liệu, thuộc tính,… và các nút con khác. Cụ thể, trong mô
hình XML có các loại nút:
29
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
Bảng 1. 2: Các loại nút trong mô hình XML
Nút
Ý nghĩa
Element
Phần tử XML
Attribute
Thuộc tính XML
Text
Dữ liệu text
CDATA section
Phân đoạn CDATA
Entity reference
Tham chiếu thực thể
Entity
Thực thể
Processing Instruction
Chỉ thị xử lý
Comment
Chú thích
Document
Tài liệu
Document Type
Kiểu tư liệu
Document fragment
Đoạn tài liệu
Notation
Ghi chú
Mô hình DOM được W3C định nghĩa theo nhiều mức khác nhau, cụ thể
là các mức sau:
Mức 0: đặc tả XML không chính thức và được áp dụng cho các trình
duyệt trước đây như Nestcape Navigator 3.0 và IE 3.0.
Mức 1: Tập trung vào kết hợp giữa tài liệu XML và HTML.
Mức 2: Hỗ trợ không gian tên gọi XML, khung nhìn có lọc và các sự
kiện DOM.
Mức 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 cho nội dung tài liệu.
Ví dụ 1.4: Cho một tài liệu XML sau:
30
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
0001
TA01
Lê Thị Thu Trang
Nữ
1984
255 Trần Huy Liệu – Tp Nam Định
0123660672
Theo mô hình DOM, tài liệu XML ở ví dụ trên được tổ chức lại theo cấu
trúc cây, cụ thể như sau:
31
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
HocVien
Hoc
VienID
LopID
TenHoc
Vien
Gioi
Tinh
Nam
Sinh
Dia
Chi
Dien
Thoai
0001
TA01
Lê Thị
Thu
Trang
Nữ
1984
255
Trần
Huy
Liệu –
Tp
Nam
Định
012366
0672
Hình 1. 2: Tài liệu XML được biểu diễn theo cấu trúc cây
1.3.2. Phân tích tài liệu XML theo mô hình đối tƣợng dữ liệu DOM
Theo W3C, định nghĩa tài liệu theo mô hình đối tượng dữ liệu DOM cơ
bản là giao diện trình ứng dụng API không phụ thuộc vào ngôn ngữ và
chương trình, cho phép các chương trình và các kịch bản truy cập và cập nhật
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 đối tượng dữ liệu 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 Stdio.NET, C/C++,…. Cho dù sử dụng
ngôn ngữ nào để phân tí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:
Bảng 1. 3: Các phương thức trong mô hình DOM
Phƣơng thức
Ý nghĩa
documentElement
Lấy nút gốc của tài liệu DOM
parentNode
Lấy nút cha của nút hiện tại
firstChild
Lấy nút con đầu tiên
previousChild
Lấy nút con trước đó
32
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
nextChild
Lấy nút con kế tiếp
lastChild
Lấy nút con cuối cùng
firstSibling
Lấy nút con cùng cấp đầu tiên
nextSibling
Lấy nút con cùng cấp kế tiếp
previousSibling
Lấy nút con cùng cấp trước đó
lastSibling
Lấy nút con cùng cấp cuối cùng
getElementByTagName
Lấy về danh sách các nút
Item(i)
Truy cập nút thứ i trong danh sách
childeNodes
Trả về danh sách các nút trong tài liệu
docType
Trả về kiểu của nút gốc
Length
Trả về các nút trong danh sách các nút
nodeName
Trả về tên của một nút
noteValue
Trả về giá trị của một nút
noteType
Xác định kiểu dữ liệu của một nút
createElement()
Khởi tạo một thành phần mới trong tài liệu
createTextNode()
Khởi tạo dữ liệu text cho một nút
1.4. Cơ sở dữ liệu quan hệ
Quan hệ: Là một bảng hai chiều bao gồm các cột và các dòng (gọi là
bảng dữ liệu)
Thuộc tính dữ liệu: Là tên các cột của 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ệ.
Cơ sở dữ liệu được hiểu theo cách định nghĩa kiểu kĩ thuật thì nó là một
tập hợp thông tin có cấu trúc. Tuy nhiên, thuật ngữ này thường dùng trong
công nghệ thông tin và nó thường được hiểu rõ hơn dưới dạng một tập hợp
liên kết các dữ liệu, thường đủ lớn để lưu trên một thiết bị lưu trữ như đĩa hay
băng. Dữ liệu này được duy trì dưới dạng một tập hợp các tập tin trong hệ
điều hành hay được lưu trữ trong các hệ quản trị cơ sở dữ liệu.
33
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
Nói các khác Cơ sở dữ liệu là một tập hợp có cấu trúc của những dữ liệu
có liên quan với nhau được lưu trữ trong máy tính.
Ví dụ: Quan hệ HocVien là một CSDL quan hệ
1.4.1. Hệ quản trị cơ sở dữ liệu
Hệ quản trị cơ sở dữ liệu là phần mềm hay hệ thống được thiết kế để
quản trị một cơ sở dữ liệu. Cụ thể, các chương trình thuộc loại này hỗ trợ khả
năng lưu trữ, sửa chữa, xóa và tìm kiếm thông tin trong một CSDL. Có rất
nhiều loại hệ quản trị CSDL khác nhau: từ phần mềm nhỏ chạy trên máy tính
cá nhân cho đến những hệ quản trị phức tạp chạy trên một hoặc nhiều siêu
máy tính.
Tuy nhiên, đa số hệ quản trị CSDL đều có một đặc điểm chung là sử
dụng ngôn ngữ truy vấn theo cấu trúc (SQL). Các hệ quản trị CSDL phổ biến
được nhiều người biết đến là MySQL, Oracle, PostgreSQL, SQL Server,
DB2, Infomix,... Phần lớn các hệ quản trị CSDL kể trên hoạt động tốt trên
nhiều hệ điều hành khác nhau như Linux, Unix và MacOS ngoại trừ SQL
Server của Microsoft chỉ chạy trên hệ điều hành Windows [7].
* Ưu điểm của việc thiết kế hệ quản trị Cơ sở dữ liệu:
- Cho phép người sử dụng tạo ra và duy trì Cơ sở dữ liệu.
- Cho phép định nghĩa, xây dựng và thao tác dữ liệu:
Định nghĩa một cơ sở dữ liệu là đặc tả các kiểu dữ liệu, các cấu trúc,
các ràng buộc cho các dữ liệu sẽ được lưu trữ.
Xây dựng cơ sở dữ liệu là lưu trữ dữ liệu lên các phương tiện lưu trữ
được hệ quản trị cơ sở dữ liệu kiểm soát.
Thao tác trên một cơ sở dữ liêu là quá trình truy vấn cơ sở dữ liệu để
lấy ra các dữ liệu cụ thể, cập nhật cơ sở dữ liệu, tạo ra các báo cáo từ dữ liệu.
34
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
Hình 1. 3: Mô hình hệ quản trị cơ sở dữ liệu
1.4.2. Mô hình dữ liệu quan hệ
1.4.2.1. Định nghĩa quan hệ
Gọi R A1 ,..........., An là tập hữu hạn của các thuộc tính, mỗi thuộc tính
Ai với i = 1,......,n có miền giá trị tương ứng là Dom(Ai). Quan hệ trên tập
thuộc tính R A1 ,..........., An là tập con của tích đề các:
r Dom Ai ............ Dom An . Khi đó ta ký hiệu là: r(R) - quan hệ r trên tập
thuộc tính R
Ví dụ: Cho quan hệ NHAN_VIEN với các thuộc tính như sau:
NHAN_VIEN (Hoten
Namsinh
Gioitinh)
(t1)
(t2)
(t3)
Nguyễn Thị Lan
Lê Anh Tuấn
Lê Thị Thu Trang
1981
1979
1984
Nữ
Nam
Nữ
Mỗi cột là một thuộc tính: thuộc tính Hoten, Namsinh, Gioitinh
Mỗi hàng là một bộ : bộ t1, t2, t3
1.4.2.2. Định nghĩa khoá của quan hệ
Khoá của một quan hệ r trên tập thuộc tính R A1 ,..........., An là tập con
K R sao cho bất kỳ hai bộ khác nhau t1, t2 thuộc r luôn thoả mãn t1(K)
35
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
t2(K). Bất kỳ tập con thực sự K ' K nào đều không có tính chất đó. Tập K là
siêu khoá của quan hệ r nếu K là một khoá của quan hệ r
1.4.3. Kiến 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ực thể 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ó 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ằng cụm từ “quan hệ”. Một quan hệ bao gồm lược đồ quan hệ và một thể
hiện quan hệ. Trong đó thể hiện quan hệ chính là một bảng còn một 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ên
duy nhất (gọi là tên thuộc tính). Mỗi dòng trong bảng tương ứng với một bộ
trong quan hệ, được đặt tên duy nhất (gọi là thuộc tính). Mỗi dòng trong bộ
ứng với một bảng tương ứng với một bộ của quan 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ột trong bảng) [4].
Ví dụ 1.5: Cho bảng dữ liệu về các học viên
Bảng 1. 4: Bảng dữ liệu về học viên
36
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
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 của CSDL quan hệ.
Ví dụ 1.6: Cho cơ sở dữ liệu quanlyhv.mdb với các quan hệ và các liên
kết, trong đó mỗi quan hệ là một bảng 2 chiều :
Bảng 1. 5: Cơ sở dữ liệu quản lý học viên
1.4.3.1. Định nghĩa miền giá trị
Miền giá trị: Là tập hợp các giá trị nguyên tử gắn với thuộc tính. Nó bao
gồm các thông số như tên, kiểu dữ liệu, khuôn dạng và mô tả
Ví dụ: Tên: SDT_Hocvien
Kiểu dữ liệu: Chuỗi ký tự
Khuôn dạng: xxx_xxxxxxx
Mô tả: miền giá trị số điện thoại của học viên
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 quan hệ.
Miền giá trị phải đơn giản, chỉ có giá trị đơn trị. Nếu miền giá trị nhận
giá trị là đa trị thì ta phải tách giá trị đa trị thành đơn trị bằng cách thêm vào
các quan hệ phụ.
37
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
Quan hệ có thể hiểu là tập con của tích đề các của một hoặc nhiều miền.
Như vậy, mỗi quan hệ có thể gọi là vô hạn. Với giả thiết rằng quan hệ là một
tậ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 với người dùng. Tất cả dữ liệu trong CSDL quan hệ sẽ được
lưu trữ theo tập các “quan hệ cơ sở”. Dữ liệu có thể được truy cập và xử lý
theo cách nhìn nhận riêng, đặc biệt gọi là “khung nhìn”.
1.4.3.2. Định nghĩa khung nhìn
Khung nhìn là một tập hợp các bảng dữ liệu đã tồn tại, có cấu trúc như
một bảng, khung nhìn không lưu trữ dữ liệu mà nó được tạo ra khi sử dụng,
khung nhìn là đối tượng thuộc CSDL.
Ví dụ 1.7: Các View hạy các Query là các khung nhìn
Khung nhìn được tạo ra từ câu lệnh truy vấn dữ liệu (lệnh SELECT),
truy vấn từ một hoặc nhiều bảng dữ liệu. Khung nhìn được sử dụng khai thác
dữ liệu như một bảng dữ liệu, chia sẻ nhiều người dùng, an toàn trong khai
thác, không ảnh hưởng dữ liệu gốc.
Có thể thực hiện truy vấn dữ liệu trên cấu trúc của khung nhìn. Như vậy,
một khung nhìn trông giống như một bảng với một tên khung nhìn và là một
tập bao gồm các dòng và các cột. Điểm khác biệt giữa khung nhìn và bảng là
khung nhìn không được xem là một cấu trúc lưu trữ dữ liệu tồn tại trong cơ sở
dữ liệu.
Thực chất dữ liệu quan sát được trong khung nhìn được lấy từ các bảng
thông qua câu lệnh truy vấn dữ liệu.
1.4.4. Ràng buộc toàn vẹn 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
trong nhữ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.
38
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
1.4.4.1. Định nghĩa
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.
Trong thực tế, một CSDL luôn luôn tồn tại những mối liên hệ qua lại lẫn
nhau giữ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ác quan hệ với nhau. Các mối quan hệ phụ thuộc lẫn nhau này chính là
những điều kiện bất biến mà tất cả các bộ của quan hệ có liên quan trong
CSDL đều phải thỏa 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 được áp đặt trên các đối tượng của thế giới thực.
1.4.4.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 nêu rõ các yếu tố sau:
- Đ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 khóa.
Các khái niệm về khóa: khóa chính, khóa ngoại.
- Khóa chính (primary key): ràng buộc không cho phép có hai giá trị
giống hệt nhau cũng như hai giá trị null được đưa vào cột hoặc tập các cột
được định nghĩa thỏa mãn mệnh đề ràng buộc này.
- Khóa 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
thỏa mãn các ràng buộc toàn vẹn là khóa duy nhất hoặc khóa chính. Ràng
39
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
buộc này đôi khi còn gọi là ràng buộc tham chiếu. Cột được khai báo ràng
buộc này có thể nhận giá trị null.
1.4.4.3. Chuẩn hóa một cơ sở dữ liệu quan hệ
Chuẩn hóa một cơ sở dữ liệu quan hệ là một công việc rất cần thiết trong
thực tế vì nhờ việc chuẩn hóa này mà chúng ta có thể loại bỏ được tối đa sự
dư thừa thông tin, dữ liệu dư thừa không cần thiết là nguyên nhân dẫn đến sự
không toàn vẹn dữ liệu.
Chuẩn hóa một CSDL có nghĩa là phải biến đổi, đưa các lược đồ quan hệ
về một trong các dạng chuẩn: 1NF, 2NF, 3NF, BCNF.
Chuẩn 1NF: Một lược đồ quan hệ ở dạng chuẩn 1NF nếu toàn bộ các
thuộc tính của mọi bộ đều mang giá trị đơn. Tức nó chỉ chứa các giá trị
nguyên tố không phân chia nhỏ được nữa.
Chuẩn 2NF: Một lược đồ quan hệ ở dạng chuẩn 2NF thì nó phải đạt
chuẩn 1NF và mọi thuộc tính không khóa của lược đồ quan hệ đều phụ thuộc
đầy đủ vào khóa chính (tức là không có thuộc tính không khóa nào phụ thuộc
hàm một phần vào khóa chính).
Nếu một quan hệ chưa ở dạng 2NF thì ta 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 khóa không phụ thuộc
bộ phận vào khóa chính và các quan hệ trong đó mỗi quan hệ chứa các thuộc
tính là các thuộc tính bộ phận của khóa 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 khóa chính đó.
Chuẩn 3NF: Một lược đồ quan hệ ở dạng chuẩn 3NF nếu nó là 2NF và
tất cả các phụ thuộc hàm giữa khóa chính và các thuộc tính khác của nó đều là
trực tiếp. Nếu một lược đồ quan hệ chưa ở dạng chuẩn 3NF thì phải thực hiện
các bước sau đây:
Tìm các phụ thuộc hàm bắc cầu vào khóa chính có dạng: K X.
40
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
X
Y, trong đó K là tập các khóa chính, X và Y là tập các
thuộc tính không khóa.
Nếu tìm thấy phụ thuộc hàm bắc cầu trong quan hệ thì tiến hành
tách quan hệ hiện đó 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ộc tí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 ch đến khi nó là 3NF.
Chuẩn BCNF: Một lược đồ quan hệ ở dạng chuẩn BCNF nếu mọi phụ
thuộc hàm X A F+ với A
X đều có X là siêu khóa.
Nhận xét: Các lớp dạng chuẩn của một lược đồ quan hệ có quan hệ
lồng vào nhau: nghĩa là lớp sau nằm trọn trong lớp trước. BCNF
3NF
2NF 1NF.
BCNF
3NF
2NF
1NF
Hình 1.4: Sơ đồ quan hệ của các dạng chuẩn
1.5. Kết luận chƣơng 1
Chương 1 đã nêu lên những kiến thức cơ bản về cấu trúc một tài liệu
XML, nhận biết được thế nào là một tài liệu XML hợp lệ, hợp khuôn dạng,
cách tạo một tài liệu XML hợp khuôn dạng, mô hình DOM và cách phân tích
tài liệu XML theo mô hình DOM cùng các trình phân ngữ trong XML như:
kiểu tài liệu DTD, giản đồ XML, không gian tên gọi, bảng định kiểu CSS.
Ngoài những kiến thức cơ bản về XML, trong chương 1 cũng trình bày những
41
Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ
kiến thức cơ bản về cơ sở dữ liệu quan hệ, các khái niệm, cấu trúc, các ràng
buộc toàn vẹn, các dạng chuẩn hóa CSDL quan hệ.
42
Chương 2: Chuyển đổi giữa Cơ sở dữ liệu quan hệ và XML
CHƢƠNG 2
CHUYỂN ĐỔI GIỮA CƠ SỞ DỮ LIỆU QUAN HỆ VÀ XML
Nhiều thập kỷ qua, đã 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ệ. Các hệ thống cơ sở dữ liệu quan hệ ngày càng đóng góp
vai trò quan trọng trong các hoạt động của các tổ chức, doanh nghiệp hay cá
nhân. Các hệ thống cơ sở dữ liệu quan hệ có thể được sử dụng với ứng dụng
được cài đặt riêng lẻ trong máy tính cá nhân, dưới dạng cơ sở dữ liệu tập
trung trên mạng cục bộ hoặc một cơ sở dữ liệu phân tán trên mạng diện rộng
và được sử dụng bởi rất nhiều đối tượng khác nhau.
Ngày nay, các cơ sở dữ liệu được lưu trữ theo rất nhiều định dạng file
khác nhau, chẳng hạn như MySQL, Oracle, PostgreSQL, SQL Server, DB2,
Infomix,… Vì vậy, việc 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 những trình ứng dụng hỗ trợ. Nếu dữ liệu của tập tin
chỉ được lưu theo dạng văn bản đơn thuần thì mọi việc trở nên đơn giản do
tập tin văn bản có thể được đọc bởi hầu như tất cả các trình ứng dụng. Tuy
nhiên tập tin văn bản khó có thể bố trí dữ liệu theo cấu trúc. Do đó, XML [6]
ra đời để khắc phục những vấn đề bất cập nói trên. Trong tài liệu XML, dữ
liệu và định dạng được lưu trữ ở dạng văn bản 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.
Việc ngày càng có nhiều hệ quản trị cơ sở dữ liệu tổ chức lưu trữ các tập
tin với nhiều định dạng khác nhau gây khó khăn cho việc phát triển và giao
tiếp giữa các hệ thống thông tin. Để khắc phục tình trạng này cần dùng các
tập tin XML làm cầu nối để lưu trữ và trao đổi dữ liệu. Do đó, chuyển đổi dữ
liệu từ một cơ sở dữ liệu bất kỳ sang định dạng tập tin XML và ngược lại
chuyển từ một tập tin XML sang một cơ sở dữ liệu là một công việc rất cần
thiết và mang lại giá trị cao trong thực tiễn.
43
Chương 2: Chuyển đổi giữa Cơ sở dữ liệu quan hệ và XML
Với cấu trúc của một tài liệu XML, các cơ sở dữ liệu được tổ chức dưới
dạng mô hình đối tượng DOM. Việc xử lý các dữ liệu này thông qua mô hình
DOM như chuyển một cơ sở dữ liệu quan hệ sang một tài liệu XML hoặc
ngược lại chuyển một tài liệu XML sang dạng một cơ sở dữ liệu quan hệ là
nội dung của việc chuyển đổi giữa cơ sở dữ liệu và XML.
Bài toán: Cho một CSDL quanlyhv với các bảng dữ đã được phi chuẩn
và kết nối sau:
44
Chương 2: Chuyển đổi giữa Cơ sở dữ liệu quan hệ và XML
Công việc đặt ra là thực hiện việc chuyển đổi một trong các bảng quan
hệ trên thành tài liệu XML và ngược lại như hình minh hoạ sau:
Hình 2.1: Chuyển đổi giữa CSDL quan hệ và XML
2.1. Phƣơng pháp luận
Nghiên cứu các thuật toán và đưa ra cách chuyển đổi một cơ sở dữ liệu
quan hệ thành một tài liệu XML và ngược lại chuyển một tài liệu XML về
một cơ sở dữ liệu quan hệ.
2.1.1. Mối quan hệ giữa một CSDL quan hệ và một tài liệu XML
Để tìm hiểu mối quan hệ giữa nội dung một CSDL quan hệ và một tài
liệu XML, chúng ta cần phải so sánh sự thể hiện của một CSDL quan hệ và
một tài liệu XML qua các mức: mô hình dữ liệu, lược đồ và minh họa (Hình
2.2):
Mức mô
Nội dung quan hệ
Nội dung XML
hình dữ
liệu
Mức
Relation Attribute
Element Type Attribute
Lƣợc đồ quan hệ
Lƣợc đồ DTD hay XML
45
Chương 2: Chuyển đổi giữa Cơ sở dữ liệu quan hệ và XML
lƣợc đồ
Relation A Attribute X
Element Type a Attribute x
Relation B Attribute Y
Element Type b Attribute y
……………
…………..
Cơ sở dữ liệu quan hệ
Mức
Tài liệu XML
minh
họa
Tupe Value
Element Type ---> Attribute
Element Value Attribute Value
Hình 2. 2: Các mức so sánh giữa mô hình quan hệ và XML
2.1.2. Kiểu cơ chế, cấu trúc của XML và lƣợc đồ CSDL quan hệ
Những cơ chế cơ bản được sử dụng để định rõ cấu trúc của những tài
liệu XML và lược đồ quan hệ là những kiểu phần tử và những thuộc tính đối
với XML giống như những quan hệ và những thuộc tính đối với CSDL quan
hệ. Về kiểu phần tử, nó hữu dụng cho việc mô tả hai mảng phạm trù: Đầu
tiên, nó mô tả kiểu phần tử có bao gồm một miền nguyên tử hay không. Thứ
hai, biểu thị kiểu phần tử có một miền hợp hay không. Những kết quả này
phân biệt trong bốn kiểu phần tử khác nhau. Điều đó nhấn mạnh sự phân loại
này thì thích hợp tới cả hai lược đồ DTD và XML. Tuy nhiên CSDL quan hệ
không cho phép tới những miền quan hệ đặc biệt, nhưng với những thuộc
tính, hãy xem xét với mỗi loại kiểu phần tử như những thuộc tính XML và
CSDL quan hệ với nhiều chi tiết.
Bảng 2.1: Các kiểu phần tử
Kiểu phần tử (Element Type)
Miền nguyên tử Miền hợp
Kiểu phần tử nguyên tử
True
False
Kiểu phần tử hợp thành với nội dung phần tử
False
True
Kiểu phần tử hợp thành
True
True
46
Chương 2: Chuyển đổi giữa Cơ sở dữ liệu quan hệ và XML
Kiểu phần tử rỗng
False
False
Các kiểu phần tử chỉ bao gồm miền nguyên tử được gọi là những kiểu
phần tử nguyên tử. Những kiểu phần tử DTD chỉ có một miền nguyên tử có
thể là #PCDATA (những miền nguyên tử được xác định trước cho những
thuộc tính DTD so sánh một kiểu chuỗi được gọi là CDATA), kiểu liệt kê và
một vài kiểu đặc biệt, chẳng hạn như: ID, IDREF(s).
Ngược lại DTD, lược đồ XML cung cấp một phạm vi rộng lớn của
những nguyên tử được xác định bởi những kiểu phần tử và những thuộc tính.
Những miền nguyên tử được xác định trước là phù hợp để biểu diễn trong
CSDL quan hệ. Lược đồ XML cho phép những miền nguyên tử được sử dụng
như là cơ sở bắt nguồn từ những miền được định nghĩa bởi người dùng. Điều
này thì tương tự với nội dung hướng đối tượng của lớp con bằng việc định rõ
những mở rộng thích hợp hoặc những ràng buộc.
Bên cạnh những miền nguyên tử, những kiểu phần tử được phép kết
hợp với một miền hợp được gọi là những kiểu phần tử hợp. Kiểu phần tử bao
gồm những kiểu phần tử khác nhau gọi là những kiểu phần tử hợp được sử
dụng để xây dựng độ sâu tùy ý (để xác định thứ bậc kiểu phần tử trong tài
liệu). Với mỗi tài liệu XML, nó được yêu cầu là tất cả các kiểu phần tử hợp
được tạo thành từ một hay nhiều kiểu phần tử đơn. Đây là một trong những
ràng buộc CSDL quan hệ, nơi mà một phần của những sự phân cấp không thể
thực hiện bởi những trung gian ẩn bên trong mà chỉ khi những quan hệ gồm
những thuộc tính chỉ có giá trị nguyên thủy. Khi những kiểu phần tử hợp
thành có thể có một miền nguyên tử để thêm vào miền hợp thành. Hơn nữa,
bên trong những kiểu phần tử hợp thành với nội dung hỗn hợp và những kiểu
phần tử hợp thành với nội dung phần tử. Đặc biệt khi những kiểu phần tử hợp
thành xuất hiện trong một chuỗi nối tiếp hoặc như là một sự lựa chọn.
Bảng 2.2: Minh họa định nghĩa kiểu phần tử hợp thành Học viên
47
Chương 2: Chuyển đổi giữa Cơ sở dữ liệu quan hệ và XML
XML Document
0001
TA01
Lê Thị Thu Trang
Nữ
1984
255 Trần Huy Liệu – Tp Nam Định
0123660672
GV01
DTD
48
Chương 2: Chuyển đổi giữa Cơ sở dữ liệu quan hệ và XML
XML Schema
54
Chương 2: Chuyển đổi giữa Cơ sở dữ liệu quan hệ và XML
0001
TA01
Lê Thị Thu Trang
Nữ
1984
255 Trần Huy Liệu – Tp Nam Định
0123660672
GV01
Tại mức minh họa, thứ tự của các phần tử cụ thể được định nghĩa ẩn
bằng vị trí của những kiểu phần tử trong tài liệu XML.
Lưu ý: Thứ tự ẩn này có thể là thứ tự ẩn không hoàn toàn được định
nghĩa bằng DTD tương ứng.
55
Chương 2: Chuyển đổi giữa Cơ sở dữ liệu quan hệ và XML
Lược đồ XML còn cho phép định nghĩa ẩn những kiểu phần tử hợp
thành không có thứ tự bởi định nghĩa của kiểu phần tử all. Các phần tử định
nghĩa trong nhóm all của lược đồ phải xuất hiện đồng thời trong tài liệu hoặc
không được có phần tử nào xuất hiện cả. Thứ tự xuất hiện của các phần tử là
không quan trọng.
Bảng 2. 5: Những kiểu phần tử hợp thành không có thứ tự
XML Schema
0001
Đang
học
tại
khoa
Kinh
tế
Trường
CĐCNNĐ
Lê Thị Thu Trang
Nữ
1984
255 Trần Huy Liệu, TP. Nam Định
0123660672
TA01
LH01
GV01
0002
Đang học tại khoa Điện – Điên tử Trường
CĐCNNĐ
Nguyễn Trung Thanh
Nam
1986
3/12 Nguyễn Du, TP. Nam Định
0123666777
TA02
97
Chương 3: Chương trình thử nghiệm
LH02
GV01
0003
Đang
học
tại
khoa
Cơ
Khí
Trường
CĐCNNĐ
Lê thị Minh Thư
NỮ
1987
17 Đường Giải Phóng, TP. Nam Định
0945777999
TA03
LH03
GV03
Chẳng hạn, ta chọn tiêu chí tìm kiếm “Tên học viên”, kết quả tìm thấy và
hiển thị màn hình sau (Hình 3.5).
Hình 3.5: Kết quả tra cứu thông tin học viên
98
Chương 3: Chương trình thử nghiệm
3.2.6. Một số kết quả cài đặt thuật toán
Ngoài một số chức năng cơ bản trên, chương trình thử nghiệm luận văn
“Chuyển đổi giữa sở dữ liệu quan hệ và XML” còn minh họa các thuật toán
chuyển đổi từ XML sang CSDL và ngược lại.
a) Biểu diễn tài liệu XML theo dạng cây: tạo tài liệu XML bằng cách
đọc một trong các CSDL quan hệ như Microsoft SQL Server, MySQL,
Microsoft Access thông qua các chức năng: Hiển thị XML từ SQL Server,
Hiển thị XML từ MySQL, Hiển thị XML từ MS Access. Sau đó hiển thị tài
liệu XML này dưới dạng cây bởi chức năng Biểu diễn theo DOM (Hình 3.6).
Hình 3.6: Kết quả biểu diễn tài liệu XML theo DOM
b) Biểu diễn tài liệu XML dạng bảng: tạo tài liệu XML bằng cách đọc
một trong các CSDL quan hệ như Microsoft SQL Server, MySQL, Microsoft
Access thông qua các chức năng: Hiển thị XML từ SQL Server, Hiển thị
XML từ MySQL, Hiển thị XML từ MS Access. Sau đó hiển thị tài liệu XML
này dưới dạng bảng bởi chức năng Biểu diễn XML dạng bảng (Hình 3.7).
99
Chương 3: Chương trình thử nghiệm
Hình 3.7: Kết quả biểu diễn tài liệu XML theo dạng bảng
c) Chuyển cơ sở dữ liệu sang tài liệu XML: đọc các bảng trong CSDL
quan hệ chẳng hạn như Microsoft SQL Server, MySQL, Microsoft Access
thông qua các chức năng: Chuyển SQL Server sang XML, Chuyển MySQL
sang XML, Chuyển MS Access sang XML, sau đó chuyển thành tài liệu
XML tương ứng (Hình 3.8).
Hình 3.8: Kết quả chuyển đổi từ CSDL sang tài liệu XML
100
Chương 3: Chương trình thử nghiệm
d) Chuyển tài liệu XML sang cơ sở dữ liệu: đọc tài liệu XML, sau đó
chuyển sang một trong các CSDL như Microsoft SQL Server, MySQL,
Microsoft Access bởi các chức năng: Chuyển XML sang SQL Server, Chuyển
XML sang MySQL, Chuyển XML sang Access (Hình 3.9).
Hình 3.9: Kết quả chuyển đổi từ XML sang CSDL quan hệ
101
Kết luận
KẾT LUẬN
Việc chuyển đổi các CSDL quan hệ sang một tài liệu XML và ngược lại
mà không cần quan tâm đến việc bảo toàn các ràng buộc dữ liệu hay việc
nghiên cứu chuyển đổi có bảo toàn ràng buộc bằng việc xét các ràng buộc dữ
liệu thông qua các ràng buộc khóa đã và đang được nghiên cứu.
Tuy nhiên, với phương pháp thứ nhất thì rõ ràng tính ứng dụng thực tiễn
không cao, do CSDL tồn tại trong thế giới thực luôn luôn có sự ràng buộc lẫn
nhau. Với phương pháp thứ hai thì thực sự khó khăn, phức tạp để có thể xét
được hầu hết tất cả các ràng buộc cũng như các phụ thuộc dữ liệu.
Các kết quả đạt đƣợc của luận văn:
Trình bày tổng quan về cấu trúc 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ình DOM và các khái niệm CSDL quan hệ.
Giới thiệu các thuật toán chuyển một tài liệu XML sang một CSDL
quan hệ và ngược lại.
Xây dựng thuật toán chuyển đổi giữa CSDL quan hệ và XML.
Cài đặt được thuật toán bằng ngôn ngữ lập trình C# trong môi trường
ASP.NET. Trên cơ sở xây dựng phần mềm ứng dụng “Quản lý học viên” tại
Trung tâm tin học và ngoại ngữ trường Cao đẳng Công nghiệp Nam Định.
Một số hạn chế của luận văn:
Thuật toán chuyển đổi có độ phức tạp O(n2) còn chưa tối ưu.
Cơ sở dữ liệu sử dụng trong chương trình chưa hoàn thiện.
Việc viết code chưa bắt lỗi của người sử dụng một cách chặt chẽ.
Hƣớng nghiên cứu tiếp theo:
Trong tương lai, luận văn có thể được phát triển để hổ trợ cho việc
phục hồi các CSDL quan hệ gốc từ các tài liệu XML đã được chuyển đổi
trong quá trình trao đổi dữ liệu
102
Kết luận
Hoàn thiện hệ thống thông tin “Quản lý học viên” cũng là hướng phát
triển của đề tài nhằm đáp ứng cao hơn nữa các yêu cầu sử dụng riêng của
Trung tâm tin học và ngoại ngữ Trường Cao đẳng Công nghiệp Nam Định.
Do thời gian và khả năng có hạn, luận văn có thể còn nhiều thiếu sót, em
rất mong nhận được sự góp ý, chỉ dẫn thêm của các thầy, cô và các bạn đồng
nghiệp để em có thể xây dựng được ứng dụng hoàn thiện hơn. Một lần nữa
em xin chân thành cảm ơn thầy hướng dẫn PGS.TS. Đỗ Trung Tuấn và các
thầy cô của Trường Đại học Khoa học Tự nhiên đã tạo mọi điều kiện thuận
lợi để luận văn này hoàn thành đúng thời hạn.
103
Tài liệu tham khảo
TÀI LIỆU THAM KHẢO
Tiếng Việt
1. Nguyễn Tiến, Đặng Xuân Hường, Nguyễn Văn Hoài, Nguyễn Tuấn
Ngọc (2001), “Nhập môn XML thực hành và ứng dụng”, NXB Thống kê.
2. Christopher Allen (2004), “Nhập môn về Cơ sở dữ liệu quan hệ và Lập
trình SQL”, NXB Thống kê.
3. Lê Minh Hoàng (2006), “Các thủ thuật trong HTML và thiết kế Web”,
NXB Lao động – Xã hội.
4. Lê Tiến Vương (2000), “Nhập môn cơ sở dữ liệu quan hệ”, NXB
Thống kê.
5. Nguyễn Ngọc Bình Phương, Thái Kim Phụng, Lê Ngọc Sơn, Nguyễn
Hoàng Thanh Nhàn (2007), “Các giải pháp lập trình ASP.NET 2.0”, Nhà
sách Đất Việt.
6. Nguyễn Phương Lan (2003), “XML nền tảng và ứng dụng”, NXB Lao
động – Xã hội.
7. Nguyễn Thị Ngọc Mai (2007), “Lý thuyết cơ sở dữ liệu - Tập1, 2”, NXB
Lao động – Xã hội.
8. Nguyễn Thiên Bằng, Hoàng Đức Hải, Phương Lan (2005), “Giáo trình
nhập môn XML”, NXB Lao động – Xã hội.
9. Phạm Hữu Khang (2005), “Lập trình ASP.Net 2.0”, NXB Lao động – Xã
hội.
10. Phạm Hữu Khang (2007), “SQL Server 2005 - Lập Trình T-SQL”, NXB
Lao động – Xã hội.
11. Phương Lan, Hoàng Đức Hải (2002), “Lập trình Windows với C#. Net”,
NXB Lao động – Xã hội.
104
Tài liệu tham khảo
Tiếng Anh
12. Ash Rofail and R. Allen Wyke (2002), “XML Programming (Core
Reference)” Published by Microsoft Corporation.
13. Bhavani Thuraisingham (2002), “XML Databases and the Semantic
Web”, Published by CRC Press.
14. Bipin Joshi (2008), “Beginning XML with C# 2008: From Novice to
Professional”, Published by Apress.
15. KevinWilliams, Michael Brundage, Patrick Dengler, Jeff Gabriel, Andy
Hoskinson, Michael Kay, Thomas Maxwell, Marcelo Ochoa, Johnny Papa,
Mohan Vanmane (2000), “Professional XML Databases”, Published by Wrox
Press Ltd.
16. Vidya Vrat Agarwal, James Huddleston, Ranga Raghuram, Syed Fahad
Gilani, Jacob Hammer Pedersen, and Jon Reid (2007), “Beginning C# 2008
Databases: From Novice to Professional”, Published by Apress.
Nguồn từ các website
17. http://www.ifla.org/IV/ifla64/138-161e.htm
18. http://www.w3.org/TR/REC-xml/)
19. http://www.w3.org/standards/xml/
20. www.xml.com
21. http://www.w3schools.com/xml/default.asp
22. http://vi.wikipedia.org
105
[...]... hiểu về XML và cách định dạng các tài liệu XML - Nghiên cứu XML để đơ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 - Nghiên cứu các thuật toán chuyển đổi một cơ sở dữ liệu quan hệ thành một cơ sở dữ liệu dạng XML và ngược lại chuyển một cơ sở dữ liệu dạng 2 Lời mở đầu XML về một cơ sở dữ liệu quan hệ Phục vụ cho việc tích hợp dữ liệu từ... và phƣơng pháp nghiên cứu II.1 Mục đích nghiên cứu Luận văn tập trung nghiên cứu, tìm hiểu về XML( tài liệu XML và định dạng tài liệu XML) , DOM và phương pháp sử dụng DOM để chuyển đổi một cơ sở dữ liệu quan hệ thành một cơ sở dữ liệu dạng XML và ngược lại II.2 Đối tƣợng nghiên cứu Tìm hiểu về công nghệ XML Tìm hiểu về cơ sở dữ liệu quan hệ Cách chuyển đổi một cơ sở dữ liệu dạng XML sang một cơ. .. một cơ sở dữ liệu quan hệ Cách chuyển cơ sở dữ liệu quan hệ sang cơ sở dữ liệu dạng XML II.3 Giả thiết khoa học 3 Lời mở đầu Nếu chúng ta sử dụng công nghệ XML thì chúng ta không những có thể phát triển một cơ sở dữ liệu dạng XML mới trong khi vẫn sử dụng các cơ sở dữ liệu đang tồn tại mà còn có thể rút trích các dữ liệu từ các cơ sở dữ liệu dạng XML II.4 Nhiệm vụ nghiên cứu Nghiên cứu về XML ... Tổng quan về XML và cơ sở dữ liệu quan hệ 4 Lời mở đầu - Trình bày tổng quan về cấu trúc một tài liệu XML, tạo tài liệu XML hợp khuôn dạng - Định nghĩa kiểu tài liệu (DTD), lược đồ (Schema), mô hình đối tượng tài liệu (DOM) - Phân tích tài liệu XML theo DOM - Định dạng tài liệu XML dùng bảng định kiểu (CSS) - Các khái niệm cơ sở về cơ sở dữ liệu (CSDL) quan hệ Chƣơng 2: Chuyển đổi giữa cơ sở dữ liệu quan. .. tài liệu XML, DOM, lý thuyết cơ sở dữ liệu, thuật toán chuyển đổi giữa cơ sở dữ liệu quan hệ và cơ sở dữ liệu dạng XML II.6 Phƣơng pháp nghiên cứu Nghiên cứu qua các tài liệu như: sách, các bài báo, thông tin trên các website và các tài liệu liên quan Phân tích, tổng hợp lý thuyết và xây dựng các thuật toán chuyển đổi một cơ sở dữ liệu quan hệ sang dạng tài liệu XML và ngược lại Ứng dụng ngôn ngữ... sở dữ liệu quan hệ và XML - Phi chuẩn các lược đồ quan hệ - Kết nối các lược đồ quan hệ đã phi chuẩn - Ánh xạ một CSDL sang một tài liệu XML - Ánh xạ một CSDL quan hệ đã kết nối thành một DOM chính và chuyển thành một tài liệu XML - Chuyển một CSDL quan hệ sang một tài liệu XML - Chuyển một tài liệu XML sang một cơ sở dữ liệu quan hệ - Phương pháp băm nhỏ hay phân tách các tài liệu XML thành các bảng... Phục vụ cho việc tích hợp dữ liệu từ các CSDL khác nhau I.3 Nội dung nghiên cứu - Nghiên cứu về cơ sở dữ liệu XML và cách định dạng các tài liệu XML - Nghiên cứu về DOM - Nghiên cứu lý thuyết cơ sở dữ liệu quan hệ - Nghiên cứu các thuật toán chuyển đổi giữa cơ sở dữ liệu quan hệ thành cơ sở dữ liệu dạng XML và ngược lại - Nghiên cứu về quy trình, chuyên môn nghiêp vụ trong việc “Quản lý học viên” tại... chuyển đổi và tích hợp XML với CSDL của hệ thống thông tin “Quản lý học viên” tại Trung tâm tin học ngoại ngữ Trường Cao đẳng Công nghiệp Nam Định Kết luận: Tóm tắt các nội dung chính, các kết quả đạt được và hướng nghiên cứu tiếp theo của luận văn 6 Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ CHƢƠNG 1 TỔNG QUAN VỀ XML VÀ CƠ SỞ DỮ LIỆU QUAN HỆ 1.1 Khái quát sự ra đời và phát triển của XML XML... khai báo thực thể 12 Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ Hình 1 1 Cấu trúc tài liệu XML 1.2.3 Các thành phần cơ bản của tài liệu XML 1.2.3.1 Định dạng và dữ liệu kí tự Tài liệu XML được cấu thành từ phần định dạng và phần dữ liệu kí tự Trong tài liệu XML, định dạng giúp phân biệt các thành phần khác nhau trong tài liệu XML hay các nút khác nhau trong cây XML Định dạng bao gồm các thẻ bắt... Chương 1: Tổng quan về XML và Cơ sở dữ liệu quan hệ XML được dùng để lưu trữ dữ liệu nhằm làm cho dữ liệu của chúng ta linh động và hữu ích hơn 1.2 Tài liệu XML 1.2.1 Định nghĩa tài liệu XML Một tài liệu HTML có thể tồn tại một số thẻ không đúng quy định thì trình biên dịch sẽ bỏ qua những thẻ này Tuy nhiên với một tài liệu XML thì điều này không thể xảy ra Khi xây dựng một tài liệu XML, nó phải tuân ... hiểu sở liệu quan hệ Cách chuyển đổi sở liệu dạng XML sang sở liệu quan hệ Cách chuyển sở liệu quan hệ sang sở liệu dạng XML II.3 Giả thiết khoa học Lời mở đầu Nếu sử dụng công nghệ XML phát... Tổng quan XML Cơ sở liệu quan hệ Nói khác Cơ sở liệu tập hợp có cấu trúc liệu có liên quan với lưu trữ máy tính Ví dụ: Quan hệ HocVien CSDL quan hệ 1.4.1 Hệ quản trị sở liệu Hệ quản trị sở liệu. .. tạo liệu text cho nút 1.4 Cơ sở liệu quan hệ Quan hệ: Là bảng hai chiều bao gồm cột dòng (gọi bảng liệu) Thuộc tính liệu: Là tên cột quan hệ ==> Một sở liệu quan hệ tập nhiều quan hệ Cơ sở liệu