Tải bản đầy đủ

Tích hợp cơ sở dữ liệu quan hệ và XML

LỜI CẢM ƠN

Tôi xin trân trọng cảm ơn quý thầy, cô đã giảng dạy, truyền đạt những
kiến thức và kinh nghiệm quý báu cho tôi trong suốt thời gian học tập, nghiên
cứu chuyên ngành cao học Khoa học Máy tính tại Trường Đại học Công nghệ
Thông tin và Truyền thông, Đại học Thái Nguyên khóa 2014-2016.
Đặc biệt, tôi xin được bày tỏ lòng biết ơn sâu sắc đến PGS.TS Đoàn Văn
Ban, người đã trực tiếp hướng dẫn, tận tình giúp đỡ tôi trong suốt thời gian thực
hiện luận văn tốt nghiệp.
Cuối cùng tôi xin được gửi lời cảm ơn thân thiết nhất đến các bạn bè,
đồng nghiệp và gia đình là những người luôn gần gũi để động viên, chia sẻ trong
suốt thời gian học tập chương trình cao học.

Thái Nguyên, tháng 06 năm 2016

Đỗ Trung Thành


MỤC LỤC
PHẦN MỞ ĐẦU...................................................................................... 1
1. Lý do chọn đề tài .............................................................................. 1

2. Đối tượng và phạm vi nghiên cứu..................................................... 2
3. Hướng nghiên cứu của đề tài ............................................................ 3
4. Phương pháp nghiên cứu .................................................................. 4
5. Ý nghĩa khoa học của đề tài .............................................................. 4
6. Bố cục của luận văn.......................................................................... 6
CHƯƠNG 1 TỔNG QUAN VỀ CSDL VÀ XML .................................. 7
1.1. CSDL quan hệ ............................................................................... 7
1.1.1. Khái niệm về CSDL và hệ quản trị CSDL .............................. 7
1.1.2. Kiến trúc CSDL quan hệ ......................................................... 8
1.1.3. Ràng buộc toàn vẹn CSDL quan hệ ...................................... 10
1.1.4. Chuẩn hóa một CSDL quan hệ.............................................. 11
1.2. XML (eXtensible Markup Language) .......................................... 13
1.2.1. Các thành phần cơ bản của XML .......................................... 16
1.2.2. Đặc tả cấu trúc dữ liệu XML................................................. 17
1.2.3. Phân tích tài liệu XML theo mô hình DOM .......................... 25
1.2.4. Tiếp cận, lưu trữ và xử lý dữ liệu XML ................................ 28
1.3. Kết luận chương 1 ....................................................................... 33
CHƯƠNG 2 TÍCH HỢP CSDL QUAN HỆ VÀ XML ......................... 35
2.1. Mối quan hệ giữa CSDL quan hệ và XML .................................. 35
2.1.1. Phi chuẩn các lược đồ quan hệ .............................................. 36
2.1.2. Kết nối các CSDL đã phi chuẩn ............................................ 40
2.1.3. Ánh xạ CSDL quan hệ thành dữ liệu XML ........................... 42


2.1.4. Ánh xạ XML thành CSDL quan hệ ....................................... 44
2.2. Thuật toán đặc tả XML theo mô hình DOM và DataTabe ........... 46
2.2.1. Đặc tả XML theo mô hình DataTable ................................... 47
2.2.2. Đặc tả XML theo mô hình DOM .......................................... 49
2.2.2.1. Thuật toán đệ quy .......................................................... 49
2.2.2.2. Thuật toán sử dụng vòng lặp .......................................... 51
2.2.2.3. Thuật toán sử dụng Dataset ............................................ 54
2.3. Chuyển đổi CSDL quan hệ sang XML ........................................ 55
2.4. Chuyển đổi XML sang CSDL quan hệ ........................................ 57
2.5. Kết luận chương 2 ....................................................................... 58
CHƯƠNG 3 ỨNG DỤNG TÍCH HỢP CSDL VÀ XML ..................... 59
3.1. Cài đặt đặc tả dữ liệu XML theo mô hình DOM và DataTable .... 61
3.2. Cài đặt thuật toán chuyển đổi CSDL quan hệ sang dữ liệu XML . 62
3.3. Cài đặt thuật toán chuyển đổi dữ liệu XML sang CSDL quan hệ . 66
3.4. Cài đặt ứng dụng quản lý điểm với dữ liệu XML và một số hệ quản
trị CSDL phổ biến. ....................................................................................... 69

3.5. Cài đặt Website tin tức với dữ liệu XML, Sql Server và MySql .. 70
3.6. Kết luận chương 3 ....................................................................... 71
KẾT LUẬN............................................................................................ 72


DANH MỤC CÁC THUẬT NGỮ

Bảng kiểu xếp chồng:

Cascading Style Sheets

Cơ sở dữ liệu:

Database

Địa chỉ định vị tài nguyên toàn cầu:

Universal Resource Locator

Định danh tài nguyên trên Internet:

Uniform Resource Identifier

Định nghĩa kiểu tài liệu:

Document Type Definition

Mạng cục bộ:

Local Area Network

Mạng diện rộng:

Wide Area Network

Mô hình đối tượng tài liệu:

Document Object Model

Ngôn ngữ định dạng mở rộng:

eXtensible

Markup

HyperText

Markup

Language
Ngôn ngữ định dạng siêu văn bản:
Language
Ngôn ngữ định dạng siêu văn bản động:

Dynamic HTML

Ngôn ngữ truy vấn có cấu trúc:

Structured Query Language



DANH MỤC CÁC TỪ VIẾT TẮT
1NF:

First Normal Form

2NF:

Second Normal Form

3NF:

Third Normal Form

API:

Application Program Interface

ASP:

Active Server Pages

BCNF:

Boyce Codd Normal Form

CSDL:

Cơ sở dữ liệu

CSS:

Cascading Style Sheets

DHTML:

Dynamic HyperText Markup Language

DOM:

Document Object Model

DTD:

Document Type Definition

GML:

Geography Markup Language

HTML:

HyperText Markup Language

LAN:

Local Area Network

ODBC:

Open Database Connectivity

PHP:

Personal Home Page

RDF:

Resource Description Framework

RSS:

Really Simple Syndication

SGML:

Standard Generalized Markup Language

SQL:

Structured Query Language

SVG:

Scalable Vector Graphics

URI:

Uniform Resource Identifier


URL:

Universal Resource Locator

W3C:

World Wide Web Consortium

WAN:

Wide Area Network

XHTML:

Extensible HyperText Markup Language

XML:

eXtensible Markup Language

MS:

Microsoft

VS:

Visual

LinQ

Language-Integrated Query


DANH MỤC CÁC HÌNH
Hình 1.1. Sơ đồ quan hệ giữa các dạng chuẩn ........................................ 13
Hình 1.2. Cấu trúc tài liệu XML ............................................................. 18
Hình 1.3. Các kiểu dữ liệu trong Schema (Schema Datatypes) ............... 22
Hình 1.4. Tài liệu XML được biểu diễn theo cấu trúc cây ...................... 27
Hình 2.1: Các mức so sánh giữa mô hình quan hệ và XML .................... 35
Hình 2.2. Sơ đồ thực thể liên kết 1-1 ...................................................... 36
Hình 2.3. Chuẩn hóa các lược đồ quan hệ 1-1 ........................................ 37
Hình 2.4. Phi chuẩn quan hệ 1-1............................................................. 37
Hình 2.5. Sơ đồ thực thể liên kết N-N .................................................... 38
Hình 2.6. Chuẩn hóa các lược đồ quan hệ N-N....................................... 38
Hình 2.7. Phi chuẩn lược đồ quan hệ N-N .............................................. 38
Hình 2.8. Sơ đồ thực thể liên kết 1-N ..................................................... 39
Hình 2.9. Chuẩn hóa các lược đồ quan hệ 1-N ....................................... 39
Hình 2.10. Phi chuẩn các lược đồ quan hệ 1-N ....................................... 40
Hình 2.11. Các bảng của CSDL quan hệ ................................................ 41
Hình 2.12. Kết quả sau khi thực hiện câu lệnh Sql ................................. 41
Hình 2.13. Những ánh xạ cơ bản từ CSDL quan hệ thành tài liệu XML . 42
Hình 2.14. Ánh xạ một CSDL quan hệ thành tài liệu XML .................... 43
Hình 2.15. Sơ đồ ánh xạ một CSDL quan hệ thành tài liệu XML ........... 44
Hình 2.16. Sơ đồ ánh xạ từ tài liệu XML thành CSDL quan hệ .............. 45
Hình 2.17. Ánh xạ tài liệu XML sang CSDL quan hệ............................. 46
Hình 2.18. Mô hình XML ở dạng bảng và dạng cây ............................... 46
Hình 3.1. Giao diện ứng dụng trên Windows Form ................................ 60
Hình 3.2. Đặc tả dữ liệu XML theo DOM và DataTabe ......................... 61


Hình 3.3. Đặc tả dữ liệu XML theo mô hình DataTable ......................... 61
Hình 3.4. Đặc tả dữ liệu XML theo 3 thuật toán đã trình bày ................. 62
Hình 3.5. Chuyển đổi dữ liệu Sql Server sang XML .............................. 63
Hình 3.6. Chuyển đổi dữ liệu MySql sang XML .................................... 64
Hình 3.7. Chuyển đổi dữ liệu MS Access sang XML ............................. 65
Hình 3.8. Chuyển đổi dữ liệu VS Foxpro sang XML.............................. 65
Hình 3.9. Chuyển đổi XML sang Sql Server .......................................... 66
Hình 3.10. Chuyển đổi XML sang MySql .............................................. 67
Hình 3.11. Chuyển đổi XML sang MS Access ....................................... 68
Hình 3.12. Chuyển đổi XML sang VS Foxpro ....................................... 69


DANH MỤC CÁC BẢNG BIỂU, SƠ ĐỒ
Bảng 1.1. Dữ liệu về sinh viên. ................................................................ 8
Bảng 1.2. Tham chiếu thực thể trong XML ............................................ 19
Bảng 1.3: Các loại nút trong mô hình XML ........................................... 26
Bảng 1.4: Các phương thức trong mô hình DOM ................................... 28


PHẦN MỞ ĐẦU

PHẦN MỞ ĐẦU
1. Lý do chọn đề tài
Ngày nay, công nghệ thông tin đã và đang được ứng dụng rộng rãi trong
mọi lĩnh vực của đời sống xã hội. Cùng với sự phát triển đó nhu cầu trao đổi
thông tin là một nhu cầu không thể thiếu trong nội bộ các hệ thống tin học cũng
như giữa các hệ thống tin học với nhau.
Các hệ thống tin học ngày nay có sự phát triển vượt bậc về quy mô, độ
phức tạp cao, phạm vi sử dụng ngày càng lớn dẫn đến nhu cầu cần phải phân rã
hệ thống, việc xử lý dữ liệu cần được phân cấp thành nhiều tầng, mỗi hệ thống
tin học cần được xây dựng thành các hệ thống con. Từ đây dẫn đến nhu cầu cần
trao đổi thông tin dữ liệu bên trong các hệ thống con, nội bộ hệ thống tin học
này cũng xuất hiện những vấn đề là dữ liệu với các thành phần khác nhau, việc
trao đổi dữ liệu giữa các hệ thống con cũng gặp phải không ít khó khăn.
Xuất phát từ thực tiễn, các hệ thống tin học ngày càng có yêu cầu cao về
chất lượng, khả năng đáp ứng nhanh,… dẫn đến nhu cầu cần phải nâng cấp hệ
thống cũ lên hệ thống mới. Khi đó, một lượng lớn dữ liệu cần được chuyển đổi
sang hệ thống mới. Trong quá trình chuyển đổi, dữ liệu không tương thích
thường bị mất mát thông tin.
Sự phát triển mạnh mẽ, sôi động của Internet và các ứng dụng trên Web,
đặc biệt là các ứng dụng trong thương mại điện tử. Nhu cầu về trao đổi thông tin
giữa các ứng dụng trong lĩnh vực này là rất lớn.
Cơ sở dữ liệu (CSDL) trong ngành công nghệ thông tin ngày nay 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, Microsoft Access, Visual Foxpro,… các
loại dữ liệu này đều có sự khác nhau về định dạng, lưu trữ, truy xuất và xử lý.
Do đó, việc trao đổi dữ liệu giữa các hệ thống như vậy sẽ tiêu tốn rất nhiều thời

TÍCH HỢP CSDL QUAN HỆ VÀ XML

Trang 1


PHẦN MỞ ĐẦU
gian của các nhà phát triển, hạn chế đến tốc độ xử lý của ứng dụng,…
Nhu cầu cần xây dựng một hệ thống thông tin được tích hợp từ nhiều
CSDL khác nhau ngày càng trở nên phổ biến. Dữ liệu được truy xuất từ những
CSDL này được tích hợp lại để xử lý và cung cấp thông tin cho người dùng, sau
đó lại được lưu vào những CSDL tương ứng theo yêu cầu. Những dữ liệu cần
tích hợp với nhau không phải là toàn bộ các bảng dữ liệu mà là những dữ liệu
cần trích xuất theo yêu cầu. Để thực hiện việc điều này thì các dữ liệu từ nhiều
mô hình khác nhau phải được chuyển về cùng một mô hình và sau khi xử lý,
chúng lại phải chuyển về mô hình của dữ liệu gốc. Do vậy, việc chuyển đổi các
CSDL quan hệ sang XML và ngược lại đóng vai trò quan trọng trong các mô
hình tích hợp này.
Ngoài việc làm trung gian trong chuyển đổi dữ liệu, XML còn có ứng
dụng trong việc lưu trữ thông tin, việc sử dụng tập tin XML cũng mang lại giá
trị cao trong thực tiễn vì những ứng dụng sử dụng XML không cần sự hỗ trợ của
các hệ quản trị CSDL. Vì vậy, việc xây dựng ứng dụng với dữ liệu XML đã và
đang được các nhà phát triển quan tâm và triển khai xây dựng khá rộng rãi, đặc
biệt nó đã và đang được sử dụng làm dữ liệu không chỉ trên môi trường Desktop
hay môi trường Web mà dữ liệu XML đã và đang là dữ liệu được sử dụng rất
nhiều trên môi trường cảm ứng của điện thoại di động và máy tính bảng.
2. Đối tượng và phạm vi nghiên cứu
a) Đối tượng nghiên cứu
- Một số hệ quản trị CSDL quan hệ phổ biến trong thực tế. Cụ thể là
MySql, MS Access, Sql Server, VS Foxpro.
- Cách đặc tả, tiếp cận, xử lý dữ liệu XML.
- Các thuật toán chuyển đổi CSDL quan hệ sang XML và ngược lại.
b) Phạm vi nghiên cứu

TÍCH HỢP CSDL QUAN HỆ VÀ XML

Trang 2


PHẦN MỞ ĐẦU
- Các dữ liệu dạng Text, và số, logic, datetime,... Không nghiên cứu về dữ
liệu đa phương tiện khác như hình ảnh, âm thanh, video,…
- Lý thuyết về CSDL quan hệ; các thuật toán chuyển đổi CSDL quan hệ
và XML với công nghệ .Net 4.0 trở lên, ngôn ngữ lập trình C#.
- Phân tích, đặc tả, tiếp cận và xử lý dữ liệu XML và một số hệ quản trị
CSDL như Sql Server, Access, MySqlbằng ngôn ngữ C#.
3. Hướng nghiên cứu của đề tài
a) Về lý thuyết:
- Lý thuyết về CSDL quan hệ, một số hệ quản trị CSDL phổ biến, cụ thể
là Sql Server, MySql, MS Access và Visual Foxpro.
- Các phương pháp phân tích, đặc tả, tiếp cận và xử lý dữ liệu XML.
- Các thuật toán chuyển đổi giữa CSDL quan hệ và XML.
b) Về thực nghiệm:
- Nghiên cứu công cụ lập trình Visual Studio với công nghệ .Net 4.0 trở
lên và ngôn ngữ lập trình C#.
- Xây dựng ứng dụng phân tích, đặc tả dữ liệu XML dưới dạng DataTable
và mô hình DOM (Cụ thể là hiển thị dữ liệu XML lên DataGridView và
TreeView).
- Xây dựng công cụ chuyển đổi một số CSDL quan hệ sang XML và
ngược lại từ XML sang một số CSDL quan hệ phổ biến này.
- Xây dựng Demo ứng dụng trên Windows Form và Asp.Net với việc sử
dụng dữ liệu XML.

TÍCH HỢP CSDL QUAN HỆ VÀ XML

Trang 3


PHẦN MỞ ĐẦU
4. Phương pháp nghiên cứu
- Nghiên cứu các vấn đề cơ sở các nội dung nêu trên thông qua các tài
liệu, sách, các bài báo, thông tin trên Internet 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 phân tích, đặc
tả tài liệu XML; các thuật toán chuyển đổi CSDL quan hệ sang XML và ngược
lại trên môi trường Asp.Net và môi trường Windows Form với ngôn ngữ C#.
- Nghiên cứu ứng dụng ngôn ngữ C# trong môi trường ASP.NET và
Windows Form để triển khai xây dựng ứng dụng demo quản lý điểm trên một số
CSDL quan hệ phổ biến cũng như trên tài liệu XML.
5. Ý nghĩa khoa học của đề tài
Chuyển đổi CSDL quan hệ sang XML và ngược lại giữ một vai trò quan
trọng. Việc nghiên cứu, xây dựng thuật toán chuyển đổi CSDL quan hệ sang
XML và ngược lại là việc làm cần thiết, thực hiện tốt các thuật toán này sẽ mang
lại giá trị cao trong thực tiễn ngành Công nghệ Thông tin trong giai đoạn hiện
nay.
XML đã và đang được sử dụng rộng rãi trong thực tế, đặc biệt với sự phát
triển sôi động, mạnh mẽ của công nghệ cảm ứng trên điện thoại di động và máy
tính bảng (dữ liệu XML được ứng dụng nhiều trong lĩnh vực này do lợi thế việc
sử dụng, tiếp cận, xử lý và lưu trữ dữ liệu XML không cần đến các hệ quản trị
CSDL). Chính vì vậy, việc xây dựng và phát triển các ứng dụng với dữ liệu
XML đã và đang giữ một vai trò quan trọng. Việc khai thác các phương pháp
tiếp cận, lưu trữ, xử lý tốt dữ liệu XML cũng sẽ mang lại nhiều lợi ích cho các
hệ thống thông tin trong bối cảnh ngành Công nghệ Thông tin trong giai đoạn
hiện nay.
Mô hình tích hợp nhiều hệ quản trị CSDL quan hệ khác nhau cùng hoạt
động trên một hệ thống đang ngày càng trở lên phổ biến. Việc chuyển đổi qua

TÍCH HỢP CSDL QUAN HỆ VÀ XML

Trang 4


PHẦN MỞ ĐẦU
lại giữa các CSDL quan hệ thông qua XML hoặc trích xuất dữ liệu theo yêu cầu
của người sử dụng dưới dạng XML sẽ giữ một vai trò quan trọng của hệ thống
này.

TÍCH HỢP CSDL QUAN HỆ VÀ XML

Trang 5


PHẦN MỞ ĐẦU
6. Bố cục của luận văn
Đề tài “Tích hợp CSDL quan hệ và XML” gồm các nội dung nghiên cứu
chính với bố cục như sau:
CHƯƠNG 1. TỔNG QUAN VỀ CSDL VÀ XML
Nghiên cứu lý thuyết cơ bản về CSDL quan hệ; phân tích, đặc tả, tiếp cận
và xử lý dữ liệu XML.
CHƯƠNG 2. TÍCH HỢP CSDLQUAN HỆ VÀ XML
Nghiên cứu mối quan hệ giữa CSDL quan hệ với XML; các thuật toán
đặc tả dữ liệu XML; các thuật toán chuyển đổi giữa CSDL quan hệ và dữ liệu
XML.
CHƯƠNG 3. ỨNG DỤNG TÍCH HỢP CSDL VÀ XML
Cài đặt các thuật toán, phương pháp xử lý dữ liệu XML trên cơ sở chương
1 và chương 2 đã trình bày; cài đặt ứng dụng quản lý điểm (trên môi trường
Windows Form và Asp.Net), Website tin tức (trên môi trường Asp.Net và PHP)
với dữ liệu XML và một số hệ quản trị CSDL phổ biến như Sql Server, MySql,
MS Access.

TÍCH HỢP CSDL QUAN HỆ VÀ XML

Trang 6


CHƯƠNG 1. TỔNG QUAN VỀ CSDL VÀ XML

CHƯƠNG 1
TỔNG QUAN VỀ CSDL VÀ XML
1.1. CSDL quan hệ
1.1.1. Khái niệm về CSDL và hệ quản trị CSDL
a) Cơ sở dữ liệu (CSDL)
Cơ sở dữ liệu được xác định như là một bộ sưu tập các dữ liệu có liên
quan logic với nhau; nó được tổ chức, sắp xếp theo một cách nào đó và được các
hệ ứng dụng của một đơn vị/cơ quan cụ thể nào đó sử dụng[5].
Ví dụ: một CSDL quản lý điểm của một trường có thể chứa các dữ liệu về
sinh viên(bao gồm các khoản dữ liệu như tên sinh viên, ngày sinh, giới tính, dân
tộc, quê quán,…), các dữ liệu về điểm của sinh viên (bao gồm các khoản dữ liệu
như điểm thi lần 1, điểm thi lần 2, …).
CSDL thường được sử dụng với những ứng dụng cài đặt riêng lẻ trong
máy tính cá nhân, hoặc dưới dạng một CSDL tập trung trên mạng LAN, hoặc
dưới dạng một CSDL phân tán trên mạng WAN.
Các thành phần của môi trường sử dụng CSDL bao gồm:
- Tệp và CSDL.
- Phần cứng và hệ điều hành.
- Cấu trúc dữ liệu và phương pháp truy xuất dữ liệu.
b) Hệ quản trị CSDL (DBMS)
Hệ quản trị CSDL là hệ thống bao gồm phần mềm cho phép mô tả, lưu
giữ, thao tác các dữ liệu và xử lý truy vấn trên một CSDL. Nó đảm bảo tính an
toàn, bí mật của dữ liệu trong môi trường nhiều người sử dụng.

TÍCH HỢP CSDL QUAN HỆ VÀ XML

Trang 7


CHƯƠNG 1. TỔNG QUAN VỀ CSDL VÀ XML

Hiện nay, chúng ta thường gặp các hệ quản trị CSDL cỡ vừa và nhỏ như
Foxpro, Access, cỡ lớn như Sql Server, Oracle.
1.1.2. Kiến trúc CSDL 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, 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 là các “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 trường). 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à trường). 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) [5].
Ví dụ 1.1.Cho bảng dữ liệu về sinh viên
maSV

hoTen

ngaySinh

gioiTinh

noiSinh

danToc

maLop

001

Nguyễn Thị Anh

20/10/1994

Nữ

Trấn Yên Kinh

tin13a

002

Hà Văn An

13/10/1994

Nam

Lục Yên

tin13b

Tày

Bảng 1.1. Dữ liệu về sinh viên

TÍCH HỢP CSDL QUAN HỆ VÀ XML

Trang 8


CHƯƠNG 1. TỔNG QUAN VỀ CSDL VÀ XML

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.
a) Khái niệm miền giá trị
Miền giá trị của bảng quan hệ là miền xác định các giá trị 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ụ.
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”.
b) Khung nhìn
Khung nhìn là một bảng tạm thờ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.
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.

TÍCH HỢP CSDL QUAN HỆ VÀ XML

Trang 9


CHƯƠNG 1. TỔNG QUAN VỀ CSDL VÀ XML

Có thể thực hiện truy vấn dữ liệu dựa 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. Ví dụ như trong CSDL Sql Server ta có thể
thấy các Views là sự thể hiện các khung nhìn rõ ràng nhất về vấn đề này.
1.1.3. Ràng buộc toàn vẹn CSDL 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.
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 [1].
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.
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.

TÍCH HỢP CSDL QUAN HỆ VÀ XML

Trang 10


CHƯƠNG 1. TỔNG QUAN VỀ CSDL VÀ XML

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 (primary key), khóa ngoại (foreign key)
và khóa duy nhất (unique key).
- 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 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.
Khóa duy nhất (unique key): Ràng buộc không cho phép có hai giá trị
giống hệt trên cột hoặc tập các cột được định nghĩa bởi mệnh đề dạng này.
1.1.4. Chuẩn hóa một CSDL 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 [1].
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.

TÍCH HỢP CSDL QUAN HỆ VÀ XML

Trang 11


CHƯƠNG 1. TỔNG QUAN VỀ CSDL VÀ XML

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.
+ 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ứ 2 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 cho đế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.

TÍCH HỢP CSDL QUAN HỆ VÀ XML

Trang 12


CHƯƠNG 1. TỔNG QUAN VỀ CSDL VÀ XML

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 gọn trong lớp trước: BCNF  3NF  2NF 
1NF

BCNF

B 3NF

2NF

1NF

Hình 1.1. Sơ đồ quan hệ giữa các dạng chuẩn
1.2. XML (eXtensible Markup Language)
XML là một tập con của SGML (Standard Generalized Markup
Language) [10], trong đó, SGML là một hệ thống tổ chức và gắn thẻ yếu tố của
một tài liệu. SGML được phát triển và tiêu chuẩn hóa bởi Tổ chức Tiêu chuẩn
quốc tế (ISO) vào năm 1986. SGML chính nó không chỉ định bất kỳ đặc biệt là
định dạng mà nó quy định cụ thể các quy tắc cho các yếu tố gắn thẻ. Các thẻ sau
đó có thể được giải thích để các yếu tố định dạng theo nhiều cách khác nhau.
SGML được sử dụng rộng rãi để quản lý các văn bản lớn mà có thể bản sửa đổi
thường xuyên và cần phải được in trong các định dạng khác nhau. Bởi vì nó là
một hệ thống lớn và phức tạp, đó là chưa sử dụng rộng rãi trên máy tính cá
nhân.Tuy nhiên, sự phát triển của Internet, và đặc biệt là World Wide Web, đang
tạo ra đổi mới quan tâm đến SGML vì World Wide Web sử dụng HTML, mà là
một cách để xác định và thông dịch thẻ theo các quy tắc SGML.
Vào giữa những năm 90 của thế kỷ XX, các chuyên gia SGML đã có kinh
nghiệm với World Wide Web (vẫn còn khá mới vào thời đó) tin tưởng rằng
SGML có thể cung cấp giải pháp cho vấn đề mà Web đang gặp phải. Jon Bosak

TÍCH HỢP CSDL QUAN HỆ VÀ XML

Trang 13


CHƯƠNG 1. TỔNG QUAN VỀ CSDL VÀ XML

đưa ra ý kiến W3C nên tài trợ cho một chương trình mang tên “SGML trên
Web”. Sau thời gian này một tập con của SGML ra đời mang tên XML.
XLM (viết tắt từ tiếng Anh eXtensible Markup Language, “Ngôn ngữ
đánh dấu mở rộng”) là ngôn ngữ đánh dấu với mục đích chung do W3C đề nghị
để tạo ra các ngôn ngữ đánh dấu khác. Đây là một tập con đơn giản của SGML,
có khả năng mô tả nhiều loại dữ liệu khác nhau. Mục đích chính của XML là
đơn giản hóa việc chia sẻ dữ liệu giữa các hệ thống khác nhau, đặc biệt là các hệ
thống được kết nối với Internet. Các ngôn ngữ dựa trên XML (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 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 cung cấp một phương tiện dùng văn bản (text) để mô tả thông tin và
áp dụng một cấu trúc kiểu cây cho thông tin đó. Tại mức văn bản, mọi thông tin
đều thể hiện dưới dạng text, chen giữa là các thẻ đánh dấu (markup) với nhiệm
vụ ký hiệu sự phân chia thông tin thành một cấu trúc có thứ bậc của các dữ liệu
ký tự, các phần tử dùng để chứa dữ liệu và các thuộc tính của phần tử đó.
Đơn vị cơ sở của XML là các ký tự theo định nghĩa của Universal
Character Set (Bộ ký tự toàn cầu). Các ký tự được kết hợp theo các tổ hợp chuỗi
hợp lệ để tạo thành một tài liệu XML. Tài liệu này bao gồm nhiều thực thể
(Entity), mỗi thực thể thường là một phần tử nào đó của các ký tự thuộc tài liệu,
được mã hóa dưới dạng một chuỗi các bit và lưu trữ trong một tệp văn bản (text
file).
Trước XML, có rất ít ngôn ngữ mô tả dữ liệu với các đặc điểm đa năng,
thân thiện với giao thức Internet, dễ học và dễ tạo. Thực tế, đa số các định dạng
trao đổi dữ liệu trước đó đều chuyên dụng, có tính độc quyền và có định dạng
nhị phân (chuỗi bit thay vì chuỗi ký tự), khó dùng chung giữa các ứng dụng

TÍCH HỢP CSDL QUAN HỆ VÀ XML

Trang 14


CHƯƠNG 1. TỔNG QUAN VỀ CSDL VÀ XML

phần mềm khác nhau hay giữa các hệ nền (platform) khác nhau. Việc tạo ra và
bảo trì trên các trình soạn thảo thông dụng lại càng khó khăn.
Bằng cách cho phép các tên dữ liệu, cấu trúc thứ bậc được phép và ý
nghĩa của các phần tử cùng cuộc tính của chúng. XML có tính chất mở và có thể
được định nghĩa bởi một giản đồ có thể tùy biến được.
Giống như HTML, XML cũng dùng các thẻ (Tags) để encodes data (mã
hóa dữ liệu). Điểm khác biệt chính giữa HTML và XML là trong khi các thẻ của
HTML chứa ý nghĩa về cách trình bày dữ liệu thì các thẻ của XML chứa ý nghĩa
về cấu trúc của các dữ liệu. Chính vì vậy, 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, với 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 phải
tuân thủ theo một số quy luật nhất định.
XML thuộc loại công nghệ biểu diễn thông tin. Công nghệ biểu diễn
thông tin là ngành khoa học nghiên cứu về các mô hình, phương pháp, kỹ thuật
biểu diễn thông tin. Các mô hình chính trong công nghệ biểu diễn thông tin bao
gồm:
- Tập tin (File) : Thông tin lưu trữ trên bộ nhớ phụ
- Cơ sở dữ liệu (Database) : Thông tin lưu trữ trên bộ nhớ phụ
- Cấu trúc dữ liệu (Data Structure) : Thông tin xử lý trong bộ nhớ chính
- Trang Web (WebPage) : Thông tin thể hiện
- Luồng dữ liệu (Data Stream) : Thông tin trao đổi nội bộ bên trong một
hệ thống tin học hay giửa các cáchệ thống tin học.
Chính vì vậy mà phạm vi ứng dụng của các tài liệu XML không chỉ dừng
ở việc trao đổi thông tin mà bao hàm cả các vần đề biểu diễn thông tin khác như
lưu trữ thông tin , cấu trúc dữ liệu , thể hiện thông tin ,... [2]

TÍCH HỢP CSDL QUAN HỆ VÀ XML

Trang 15


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×