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