郭蕓俊+葉瑤



摘要:探討了利用網絡實現數據庫實驗環境建設的方法;以windows操作系統為平臺,使用.NET和系統自帶的Web服務器作為開發工具和運行環境,采用C#語言和jQuery等腳本語言實現動態交互,設計了基于B/S的三層架構的通用數據庫管理系統,構建了一個操作簡便的異構數據庫管理實驗平臺。
關鍵詞:數據庫管理;三層架構;B/S
中圖分類號:TP392;G642 文獻標識碼:A 文章編號:1007-9416(2017)11-0162-03
實驗實踐是培養學生創新能力極其重要的環節,對應用型本科院校更是如此。目前,隨著數據庫技術的廣泛應用,很多世界知名軟件企業發布了各種通用數據庫管理系統(DBMS)。同時,大多數本科院校的計算機及相關專業也都開設了數據庫類課程[1-3],但實驗實踐環境往往是單一的某種數據庫管理系統,究其原因主要是因為各種數據庫管理系統的基本功能都是對數據庫表進行各種“增刪改查”操作[4],但其操作界面與使用習慣卻各有不同,對結構化查詢語言(SQL)的支持也各有增改,且各個DBMS動輒幾個GB的安裝需求,為達成基本正常運行條件也對硬件系統有較高的要求。因此,學生在單一數據庫管理系統平臺上完成學習后,往往形成數據庫就是該管理平臺的錯誤認知,同時,因缺少與前臺應用軟件的連接訓練,導致學生在學完數據庫相關課程后,并不知道如何去應用[5]。隨著網絡技術的快速發展,各種遠程管理技術的不斷創新,遠程數據庫系統、云端數據庫系統的逐漸普及,對數據庫系統的遠程管理需求也在不斷提高。數據庫系統的遠程管理可以通過DBMS提供的客戶端來實現,其缺點是需要安裝對應的客戶端軟件,如果同時在多個DBMS環境下做實驗,在實驗用機上必須安裝各種客戶端,這將嚴重影響實驗用機的工作效能。所有這些因素,都給學生的學習與實踐訓練帶來了諸多的不便。因此,探討如何利用網絡實現異構數據庫管理系統實驗環境建設的方法,對培養學生正確認識數據庫管理系統,訓練學生分析解決問題的能力都有重要的意義。
本文提出了通過瀏覽器/服務器(B/S)架構來實現數據庫遠程管理,系統無需安裝客戶端軟件,也不需指定特定的數據庫管理系統,對數據庫的物理位置及具體結構沒有特殊要求,只要上網即可[6],特別適合同時管理多種數據庫系統,對異地異構的數據庫系統可通過同一個網頁實現遠程管理。
1 系統總體結構
軟件體系結構有兩種:C/S(Client/Server)結構和B/S(Browser/Server)結構,目前C/S逐步向平臺無關的B/S過渡[7]。通過分層結構的思想,可以實現軟件體系“高內聚低耦合”的目標,極大地降低軟件開發維護修改的風險,其中三層架構是最常見的,同時也是最為重要的一種分層式結構[8-10]。結合應用型人才培養目標,為訓練學生在多種常用的數據庫管理系統下都可以相對熟練的完成基本管理工作。經綜合考慮,本系統采用B/S結構的三層架構方式來實現[11-12],物理數據可以分布在不同的服務器上,WEB服務器提供各種數據庫系統的遠程接口并將接口服務WEB化,從而提供簡潔的瀏覽器訪問。
系統的開發采用.NET平臺下用C#語言進行編程,表示層采用Html、jQuery等腳本語言進行設計和編寫,中間層用C#語言來實現,數據訪問層接口層用來實現與數據庫服務器的連接[13-16],本文中數據庫服務器以Oracle、SQL Server、My SQL為例來表示異構的管理系統。該系統主要滿足以下功能:用戶通過該系統可以動態地變更后臺數據庫管理系統的連接關系,即用戶可以按照需要實現多個不同數據庫的連接;可以查看當前連接的數據庫系統有哪些可用的數據庫,即用戶連接成功數據庫后,可以顯示當前數據庫中所有庫;可以實現SQL語句查詢,即用戶在前臺輸入SQL語句,系統對其進行分析處理,將結果返回給用戶;可以查看選中的數據庫有哪些表、視圖、存儲過程和觸發器,即用戶可以查詢當前庫中的所有內容,可以添加、刪除及修改新的表、視圖、存儲過程和觸發器;可以對數據庫進行表結構維護,即用戶可以對當前庫中表的字段進行修改、刪除;可以對數據內容實現基本的增刪改查,即用戶可以對數據庫表中數據進行基本操作。系統功能結構圖如圖1所示。
2 系統設計
根據數據庫實驗的實際需求,確定了系統應具備的基本功能,采用模塊化設計,主要包括數據庫登錄模塊、數據庫管理模塊、新建查詢模塊、表查詢模塊及視圖和函數模塊。
2.1 數據庫登錄模塊設計
數據庫登錄模塊在系統對用戶的權限進行分配及管理的基礎上,對進入數據庫系統的用戶進行驗證,判斷其合法性。當連接數據庫時,如果是合法用戶,數據庫登錄名及密碼等信息驗證通過,進入到系統的數據庫管理界面;如果是非法用戶,則提示登陸數據庫失敗。
2.2 數據庫管理模塊設計
數據庫管理模塊主要實現數據庫的管理操作,當用戶登錄后進入數據庫管理模塊,可以查看當前數據庫中所有庫及庫中可實現的功能模塊:包括數據庫新建、數據庫修改、數據庫刪除以及備份還原等。
2.3 新建查詢模塊設計
通過新建查詢模塊,用戶可以輸入要執行的SQL查詢語句,如果輸入語句正確,則執行后顯示輸出結果;若輸入語句錯誤,則顯示錯誤原因。
2.4 表查詢模塊設計
通過表查詢模塊,用戶可以查看當前庫中所有表,查看當前表結構,并對表結構進行維護;可以查看表中所有數據,對表數據進行增刪改查的基本操作;也可以刪除表。
數據庫表結構,擁有字段名、主鍵和各種約束條件等。數據庫中的字段名稱一般由英文字符組成,當記錄需要顯示在前臺界面時,記錄列表的每一列所對應的抬頭名稱可以由用戶自定義。該特性可以借助SQL規范的別名功能實現,系統通過預先獲取字段名稱列表的方式實現自定義列抬頭功能、指定記錄主鍵,數據查詢功能是數據操作中最主要的功能,是其他數據管理的基礎,這是由于單條記錄的獲取、修改和刪除都需要查詢結果集中記錄的主鍵字段作為記錄的唯一標識。所以在配置邏輯屬性時,還需要用戶指定一個字段或若干字段的組合為記錄的主鍵字段。endprint
(1)數據查詢,包括從不同數據源獲取數據、分頁顯示、重命名字段名等操作。(2)數據插入,解析邏輯配置中插入數據的SQL語句,執行解析后的完整SQL語句以達到數據記錄插入的目的。(3)數據修改,數據修改分為兩步,分別是數據記錄內容的獲取和保存修改后的新值。解析邏輯配置中獲取數據的SQL語句,執行解析后的完整SQL語句以達到數據記錄內容獲取的目的。數據修改需要替換的變量包括可修改的字段名稱以及修改條件中的主鍵名稱,由于不便檢測用戶在界面上具體修改了哪些值,所以SQL語句中需要包含所有可修改的字段以避免遺漏。(4)數據刪除,解析邏輯配置中刪除數據的SQL語句,執行解析后的完整SQL語句以達到數據記錄刪除的目的。
2.5 視圖和函數模塊設計
視圖查詢即解析邏輯配置中查詢視圖源的SQL語句,執行解析后,顯示當前視圖及創建時間;函數查詢即解析邏輯配置中查詢數據庫中的預定義SQL語句存儲過程和觸發器,執行解析后,函數查詢即可以查看數據庫中的存在的函數。
3 系統測試
系統的運行環境為Windows操作系統、VS2010及由SQL Server、Oracle及My SQL組成的數據庫管理系統,以SQL Server為例介紹數據庫登錄測試及新建查詢測試,根據系統要求,還應包括表查詢、視圖查詢和函數查詢等測試,這里不再一一列舉。
3.1 數據庫登錄測試
測試輸入的服務器名、登錄名及密碼是否正確。若不正確,提示錯誤;若正確,提示成功,并經跳轉頁面進入數據庫管理主界面。在登陸界面輸入正確信息,其中服務器名為(local)\SQLEXPRESS,登錄名及密碼分別為sa及123,顯示數據庫連接成功,并跳轉到主界面,如圖2和圖3所示。
3.2 新建查詢測試
輸入SQL查詢語句,若輸入正確,如“select * from users”,則在頁面上顯示查詢結果,即顯示users表中所用數據,如圖4所示;若輸入錯誤,如“show users”,則在頁面上顯示錯誤原因,如圖5所示。
4 結語
該平臺的設計與實現,緊密聯系實際需求,構建了一個異構數據管理真實環境,使實驗環境與企業的實際需求相對接,充分調動了學生學習的主動性,使學生能利用現有的數據庫系統完成軟件開發,加強了學生數據庫應用能力,極大的提高了學生的實踐動手能力。
參考文獻
[1]李楠楠.《數據庫應用技術》實驗課程教學方法的改革與實踐[J].科技信息,2013(34):357-358.
[2]閭燕.面向應用型人才的數據庫課程實驗教學改革探討[J].福建電腦,2014(11):68-69,90.
[3]羅曉霞.《數據庫原理及應用》實驗教學改革研究與實踐[J].教育教學論壇,2016(8):155-156.
[4]霍迎旦.數據庫管理系統設計與實現[J].長春理工大學學報,2010,5(7):73-75.
[5]金梅,滕艷平,王海珍.《數據庫原理與應用》實驗教學研究與探索[J].實驗科學與技術,2013,11(5):131-133.
[6]高屹.一個通用數據庫管理系統工具的研究與實現[J].軍事通信技術,2008,29(1):19-22,37.
[7]路遙.基于三層架構下的數據訪問研究和應用[D].長春:長春理工大學,2009.
[8]李紅芹.基于三層架構的.NET數據庫業務系統開發[J].計算機與現代化,2009(10):120-125.
[9]張焰.三層Client/Server構架結合Datasnap技術的應用研究[J].電腦與信息技術,2004(06):39-42.
[10]Cai Mingxing,Zheng jintao.Three-Tier Knowledge Management System Base on .NET[J].Journal of Software Engineering and Applications,2009(2):40-43.
[11]王進.B/S模式下的三層架構模式[J].軟件導刊,2011,10(3):30-31.
[12]趙丁,勾智楠.基于Web的遠程數據庫管理探究[J].硅谷,2014(05):66,62.
[13]張磊.通用數據管理系統的設計與實現[D].北京:北京郵電大學,2010.
[14]葉安勝.基于.NET架構的WEB數據庫訪問技術研究與應用[D].成都:電子科技大學,2004.
[15]王海燕.C#.NET下三層架構數據庫應用系統開發[J].計算機技術與發展,2012,22(06):78-81.
[16]陳誼楠.基于.NET平臺采用ADO.NET實現數據訪問層[J].電腦編程技巧與維護,2012(4):35-36,57.
Abstract:In this paper, the method that how to explore a database experimental platform by network is discussed. The windows operating system is adopted, the .NET and its own Web server are taken as development tool. Besides, C# language and jQuery language are used to realize the interaction dynamicly. The three-tier architecture general database management system based on B/S is designed ,and the convenient heterogeneous database experimental management platform is constructed, which plays a certain role in improving experimental effect.
Key Words:database management; three-layer application;B/Sendprint