nghiên cứu cách chuyển đổi cơ sở dữ liệu quan hệ và xml, ứng dụng hệ thống vào quản lý thư viện - Pdf 22

1 ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CNTT & TRUYỀN THÔNG
PHẠM THỊ HƢƠNG NGHIÊN CỨU CÁCH CHUYỂN ĐỔI CƠ SỞ DỮ LIỆU
QUAN HỆ VÀ XML, ỨNG DỤNG HỆ THỐNG VÀO QUẢN LÝ THƢ VIỆN Chuyên ngành : Khoa học máy tính
Mã số : 60.48.01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH


Phạm Thị Hương
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
3

MỤC LỤCcontents
Trang phụ bìa

Lời cam đoan
i
Mục lục
ii
Danh mục các ký hiệu, các chữ viết tắt
v
Danh mục các bảng
vi
Danh mục các hình
vii
LỜI MỞI ĐẦU
1
1. Lý do chọn đề tài
1
2. Mục tiêu nghiên cứu
1
3. Phương pháp nghiên cứu
2
4. Tổng quan luận văn
2
Chương 1: Tổng quan về XML và cơ sở dữ liệu quan hệ
3
1.1. Tổng quan về XML

24
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
4

1.4.1. Hệ quản trị cơ sở dữ liệu
24
1.4.2. Mô hình dữ liệu quan hệ
25
1.4.3. Kiến trúc cơ sở dữ liệu quan hệ
25
1.4.4. Ràng buộc toàn vẹn cơ sở dữ liệu quan hệ
26
1.5. Kết luận chương 1
28
Chương 2: Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML
29
2.1. Phương pháp luận
29
2.1.1. Cấu trúc, kiểu cơ chế của XML và lược đồ CSDL quan hệ
29
2.1.2. Mối quan hệ giữa một CSDL quan hệ và một tài liệu XML
33
2.1.3. Tên kiểu phần tử
33
2.1.4. Giá trị rỗng và giá trị mặc định
34
2.1.5. So sánh các quan hệ trong CSDL quan hệ và XML
35
2.1.6. Thứ tự kiểu phần tử trong lược đồ XML
37

2.6. Kết luận chương 2
60
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
5

Chương 3: Thực nghiệm
61
3.1. Mô tả bài toán và giả thuyết
61
3.2. Yêu cầu hệ thống
62
3.3. Giao diện và một số chức năng của chương trình
62
3.3.1. Màn hình chính của hệ thống
62
3.3.2. Chức năng đăng nhập hệ thống
63
3.3.3. Chức năng nhập dữ liệu
63
3.3.4. Chức năng tìm kiếm thông tin
64
3.3.5. Chức năng báo cáo thống kê
65
3.4. Một số kết quả cài đặt thuật toán
65
3.4.1. Biểu diễn tài liệu XML theo dạng cây
65
3.4.2. Biểu diễn tài liệu XML dạng bảng
66
3.4.3. Chuyển CSDL sang tài liệu XML

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

21
Bảng 1.3. Các phương thức trong mô hình DOM
24
Bảng 2.1. Các kiểu phần tử
29
Bảng 2.2. Minh họa định nghĩa kiểu phần tử hợp thành độc giả
30
Bảng 2.3. So sánh các yếu tố trọng một tập hợp
35
Bảng 2.4. Nội dung so sánh các quan hệ
36
Bảng 2.5. Những kiểu phần tử hợp thành không có thứ tự
38
Bảng 2.6. Khi việc băm nhỏ là có hay không là 1 lựa chọn thích hợp
49

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
8

DANH MỤC CÁC HÌNH
Hình 1.1. Cấu trúc tài liệu XML
5
Hình 1.2. Tài liệu XML được biểu diễn theo cấu trúc cây
23
Hình 2.1. Các mức so sánh giữa mô hình quan hệ và XML
33
Hình 2.2. Sơ dồ thực thể liên kết
40
Hình 2.3. Chuẩn hóa các quan hệ
41

Hình 3.1. Giao diện tổng quan của hệ thống
62
Hình 3.2. Màn hình đăng nhập vào quản lý hệ thống
63
Hình 3.3. Màn hình độc giả
63
Hình 3.4. Kết quả tra cứu thông tin độc giả
65
Hình 3.5. Kết quả biểu diễn tài liệu XML theo DOM
65
Hình 3.6. Kết quả biểu diễn tài liệu XML theo dạng bảng
66
Hình 3.7. Kết quả chuyển đổi từ CSDL sang tài liệu XML
66
Hình 3.8. Kết quả chuyển đổi từ XML sang CSDL quan hệ
67
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
9 MỞ ĐẦU
1. Lý do chọn đề tài
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

4. Tổng quan luận văn
Luận văn được trình bày theo hình thức từ trên xuống. Bắt đầu của mỗi phần
đều đưa ra những khái niệm cơ bản và quy định cho phần trình bày tiếp sau nhằm
mục đích giúp dễ dàng trong khi đọc, dần dần đi sâu vào để thảo luận rõ hơn những
vấn đề liên quan.
Luận văn được trình bày trong 3 chương và phần kết luận
Chƣơng 1: Tổng quan về XML và cơ sở dữ liệu quan hệ
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 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
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. Đưa ra thuật toán chuyển đổi giữa cơ sở dữ liệu quan hệ và XML.
Chƣơng 3: Thực 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, trên cơ sở xây dựng ứng dụng “Quản lý thư viện” tại thư viện 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.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
11

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ề XML
XML (viết tắt từ tiếng Anh eXtensible Markup Language, "Ngôn ngữ Đánh

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.
Tài liệu XML có thể được soạn thảo bởi các hệ soạn thảo 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 hề đề
cập tới cách thức trình bày dữ liệu. Một tài liệu XML sẽ chứa những đặc tả về cấu
trúc dữ liệu. Mỗi cấu trúc gồm nhiều phần tử (element), mỗi thành phần được bắt
đầu với một thẻ bắt đầu (Start-tag) và kết thúc với một thẻ kết thúc (End-tag). Giữa
Start-tag và End-tag là nội dung của phần tử này. Nội dung có thể bao gồm 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ó thể có các thành phần theo quy định khác nhau.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
13

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ã 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. Chuẩn XML
không bắt buộc phải khai báo phần mở đầu của XML.

<?xml Ten_1=”Gia_tri_1” Ten_2=”Gia_tri_2” … ?>
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ụ 1.1: < ?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ụ 1.2 : 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).
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
15

Ví dụ 1.3: 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 quá trình phân tích. Những chỉ thị này thường bắt đầu bằng dấu <? kết
thúc cũng 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 <?xml-stylesheet?>.
- Chỉ thị xử lý có dạng khai báo chung như sau :


</document>
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ự </ và kết thúc bằng 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ụ 1.7: Các tên thẻ sau là hợp lệ
<DOCUMENT>
<document>
<Chapter15>
<Section-19>
<_text>
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 đó <DOCUMENT> khác với
<document>
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
17

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ụ 1.8 : Trong tài liệu XML sau thì phần tử <heading> là phần tử rỗng :
<?xml version=”1.0” encoding=”utf-8” ?>
<document>
<heading/>
<subject>

một thẻ. Thẻ này bắt đầu bằng <![CDATA 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: <prefix:TagName> đối với thẻ mở và </prefix:TagName> đối với
thẻ đóng.
Ví dụ 1.11: Cho tài liệu XML chưa định nghĩa không gian tên gọi sau:
<?xml version="1.0" encoding="utf-8" ?>
<DanhSach_DG> <! DG: Độc giả >
<Docgia Madg="B001">
<Tendg>
Lê Thị Ánh
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
19

</Tendg>
<GioiTinh>
Nữ
</GioiTinh>

Lê Thị Ánh
</Tendg>
<GioiTinh>
Nữ
</GioiTinh>
<Namsinh>
20/07/1992
</Namsinh>
<DiaChi>
Thái Bình
</DiaChi>
<Nghenghiep>
Sinh viên
</Nghenghiep>
<Khoa>
Kinh tế
</Khoa>
<Lop>
CĐ51KT1
</Lop>
<DienThoai>
0123660672
</DienThoai>
</Docgia>
</DanhSach_Dg>
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:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
21


22

</ds:DanhSach_Dg>
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.
- 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ử dụng 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
&amp;

XML. Mẫu khai báo như sau:
<!DOCTYPE rootname [DTD]>
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:
<!ELEMENT NAME CONTENT_MODEL>
Trong đó:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
24

- 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.14: khai báo và định nghĩa DTD trong tài liệu XML:
<?xml version="1.0" standalone="yes" encoding="UTF-8" ?>
<!DOCTYPE DanhSach_DG[
<!ELEMENT DanhSach_DG(Docgia)*>
<!ELEMENT HocVien(MaDG, Tendg, GioiTinh, Namsinh, DiaChi,
Nghenghiep, Khoa,Lop, Dienthoai)>
<! ELEMENT Madg(#PCDATA)>
<! ELEMENT Tendg(#PCDATA)>
<! ELEMENT Gioitinh(#PCDATA)>
<! ELEMENT Namsinh(#PCDATA)>
<! ELEMENT DiaChi(#PCDATA)>
<! ELEMENT Nghenghiep(#PCDATA)>
<! ELEMENT Khoa(#PCDATA)>
<! ELEMENT Lop(#PCDATA)>

</DienThoai>
</Docgia>
</DanhSach_Dg>
1.2.6. Lƣợc đồ XML
XML Schema 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, tiếp theo
dùng tiếp đầu ngữ xsd: để khai báo không gian tên XML Schema, theo cú pháp sau :
<?xml version = “1.0” ?>
<xsd:schema xmlns:xsd = http : // www.w3.org/1999/XMLSchema>
…………
</xsd:schema>
Để chương trình xử lý XML có thể sử dụng 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
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

Trích đoạn Cơ chế chuyển một CSDL quan hệ thành một tài liệu XML Chuyển một tài liệu XML sang một CSDL quan hệ Cài đặt thuật toán Chuyển một CSDL quan hệ thành một tài liệu XML Yêu cầu hệ thống
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status