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

