Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML

Chương 1: Tổng quan về XML và cơ sở dữ liệu quan hệ. Chương 2:

Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML. 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; 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.

pdf19 trang | Chuyên mục: XML | Chia sẻ: dkS00TYs | Ngày: 17/10/2014 | Lượt xem: 2799 | Lượt tải: 11download
Tóm tắt nội dung Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 void btnCSDLMYSQL_Click(object sender, EventArgs e) 
 { 
// Tạo thông tin kết nối. 
 string dsr = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=quanlyhv; 
uid = root; pwd=;option=3"; 
// Tạo câu lệnh T-SQL. 
string sql = "SELECT HocVienID, LopID, TenHocVien, GioiTinh, NamSinh, 
DiaChi, DienThoai, DoiTuong, LoaiHinhID, GiaoVien_ID FROM tblHocVien"; 
// Tạo thông tin và đối tượng kết nối. 
try 
 { 
 OdbcConnection con = new OdbcConnection(dsr); 
 OdbcDataAdapter dad = new OdbcDataAdapter(sql, con); 
 con.Open(); 
 DataSet ds = new DataSet(); 
 dad.Fill(ds, "DS_HocVien"); 
 dg.DataSource = ds.Tables["DS_HocVien"].DefaultView; 
dg.DataBind(); ds.WriteXml(Server.MapPath("DS_HocVien.xml", 
XmlWriteMode.IgnoreSchema); 
// Hiển thị tài liệu vào trong TextBox 
TextBox1.Text = ds.GetXml(); 
con.Close(); 
} 
catch (Exception) 
{ 
Page.Controls.Add(new LiteralControl(" 
window.alert(\"Lỗi kết nối CSDL MySQL!\"); ")); 
} 
}// Kết thúc btnCSDLMYSQL_Click() 
c) Cài đặt trên môi trường Microsoft Access 2003 
// Chuyển CSDL được tạo trong môi trường MySQL sang tài liệu XML như sau: 
protected void btnCSDLMSA_Click(object sender, EventArgs e) 
 { 
 // Tạo thông tin kết nối. 
 12 
 string dsr = "Provider=Microsoft.Jet.OLEDB.4.0; data source=" + 
Server.MapPath("quanlyhv.mdb"); 
 // Tạo câu lệnh T-SQL. 
 string sql = "SELECT HocVienID, LopID, TenHocVien, GioiTinh, NamSinh, DiaChi, 
DienThoai, DoiTuong, LoaiHinhID, GiaoVien_ID FROM tblHocVien"; 
 // Tạo thông tin và đối tượng kết nối. 
 try 
 { 
 OleDbConnection con = new OleDbConnection(dsr); 
 con.Open(); 
 OleDbDataAdapter dad = new OleDbDataAdapter(sql, con); 
 DataSet ds = new DataSet(); 
 dad.Fill(ds, "DS_HocVien"); 
 dg.DataSource = ds.Tables["DS_HocVien"].DefaultView; 
 dg.DataBind(); 
 ds.WriteXml(Server.MapPath("DS_HocVien.xml"), XmlWriteMode.IgnoreSchema); 
 // Hiển thị tài liệu vào trong TextBox 
 TextBox1.Text = ds.GetXml(); 
 con.Close(); 
 } 
 catch (Exception) 
 { 
Page.Controls.Add(new LiteralControl(" 
window.alert(\"Lỗi kết nối CSDL Microsoft Access!\"); ")); 
 } 
 }// Kết thúc btnCSDLMSA_Click() 
d) Hiển thị nội dung tài liệu XML 
 // Hiển thị tập tin XML vào đối tượng GridView. 
 void showXmlData(string fileName) 
 { 
 DataSet dataSet = new DataSet(); 
 dataSet.ReadXml(fileName); 
 if (dataSet != null) 
 { 
 GridView1.DataSource = dataSet.Tables[0]; 
 GridView1.DataBind(); 
 } 
 }}// Kết thúc showXmlData(string) 
 13 
 Kết quả thực hiện thuật toán chuyển đổi cơ sở dữ liệu quan hệ sang tài liệu XML 
như hình minh họa sau (Hình 2.27): 
Hình 2.27: Chuyển một CSDL sang tài liệu XML 
2.5. Kết luận chƣơng 2 
Chương 2 trình bày những mối liên hệ về nội dung của một CSDL quan hệ với nội 
dung của một tài liệu XML, đồng thời đã đưa ra phương pháp luận để chuyển một CSDL 
quan hệ thành một tài liệu XML và ngược lại. Sử dụng các câu lệnh truy vấn XML và dựa 
trên các quy tắc ánh xạ đơn giản, dễ hiểu và chính xác. Ngoài ra, chương này còn đưa ra 
cách cài đặt cụ thể cho các thuật toán chuyển đổi giữa CSDL quan hệ và XML, cách 
chuyển đổi một CSDL sang XML và ngược lại. 
CHƢƠNG 3 
CHƢƠNG TRÌNH THỬ NGHIỆM 
Thuật toán tích hợp các cơ sở dữ liệu quan hệ và XML, biểu diễn tài liệu XML theo 
mô hình DOM, biểu diễn tài liệu XML theo dạng bảng, chuyển cơ sở dữ liệu sang tài liệu 
XML, chuyển tài liệu XML sang cơ sở dữ liệu được cài đặt và thử nghiệm bằng ngôn ngữ 
lập trình C# trong môi trường ASP.NET, cơ sở dữ liệu Microsoft SQL Server. Trên cơ sở 
đó, xây dựng chương trình thử nghiệm “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. 
3.1. Màn hình chính của hệ thống 
Là nơi bắt đầu cho mọi chức năng của hệ thống, nhằm cung cấp một cái nhìn tổng 
thể cho người sử dụng (Hình 3.1). 
 14 
Hình 3.1: Giao diện tổng quan của hệ thống 
3.2. Chức năng đăng nhập hệ thống 
Khi người quản trị đăng nhập đúng tên đăng nhập và mật khẩu thì hệ thống sẽ 
chuyển đến trang quản lý hệ thống. Tên đăng nhập và mật khẩu được lưu trữ trong cơ sở 
dữ liệu Microsoft SQL Server (Hình 3.2). 
Hình 3.2: Màn hình đăng nhập vào quản lý hệ thống 
3.3. Chức năng đăng ký học tập 
Người học điền các thông tin vào phiếu đăng ký và gửi thông tin đăng ký đến bộ 
phận xét và tiếp nhận hồ sơ đăng ký học thông qua chức năng Đăng ký (Hình 3.3). 
 15 
Hình 3.3: Màn hình đăng ký 
3.4. Chức năng báo cáo thống kê 
Sau mỗi đợt đăng ký học tập của học viên bộ phận xét duyệt hồ sơ cần lập báo cáo 
thống kê và gửi danh sách những học viên đang theo học tại trung tâm theo từng đợt cho 
bộ phân tổng hợp để báo cáo với lãnh đạo như sau (Hình 3.4). 
Hình 3.4: Danh sách học sinh – sinh viên đăng ký học tập tại trung tâm 
3.5. Chức năng tìm kiếm thông tin 
Tra cứu theo các tiêu chí: tên, địa chỉ, loại hình học tập. 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). 
 16 
Hình 3.5: Kết quả tra cứu thông tin học viên 
3.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 
 17 
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). 
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 
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 
 18 
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ệ 
KẾT LUẬN 
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 
 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. 
 19 
References 
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. 
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.  
18.  
19.  
20. www.xml.com 
21.  
22.  

File đính kèm:

  • pdfChuyển đổi giữa cơ sở dữ liệu quan hệ và XML.pdf