摘要:為了建立一個新型的、安全可靠的網絡在線考試系統,數據的安全性和完整性應有較高的要求。該文介紹了在線考試系統數據庫的概念設計、物理結構設計、邏輯結構、數據庫連接池技術,對于在線考試系統的數據庫設計有一定的參考價值。
關鍵詞:在線考試系統SQL Server 2000數據庫連接池技術
眾所周知,當今社會各種領域與計算機互聯網技術越來越密切相關,計算機信息技術的快速發展正在改變著世界。隨著計算機網絡及網絡應用軟件的日益普及,現代化教育蓬勃發展,建立一個新型的、安全可靠的在線考試系統已成為可能。
1 數據庫開發工具的選取
由于網絡在線考試系統對于數據的安全性及完整性要求比較高,并且為了增加程序的適用范圍,還要保證系統可以擁有存儲足夠多的數據能力。因此需要選擇一種可靠、安全和易用的數據庫開發工具,SQL Server 2000作為一種高性能的關系型數據庫管理系統,有著較好的可靠性、安全性和易用性。SQL server 2000是Microsoft公司在2000年推出的,它繼承了SQL Server 7.0版本的優點同時又比它增加了許多更先進的功能,具有使用方便,可伸縮性好與相關軟件集成程度高等優點,共有4個版本,分別是個人版,標準版,企業版和開發版。
SQL server 2000的特點:①Internet集成。②可伸縮性和可用性。③企業級數據庫功能。④易于安裝、部署和使用。
2 數據庫設計
2.1 數據庫概念設計
2.1.1 考生檔案實體 考生檔案實體包括編號、姓名、密碼、性別、專業、班級、提示問題、問題答案、注冊時間、身份證號屬性。
2.1.2 教師檔案實體 教師檔案實體包括編號、姓名、密碼、性別、所屬院系、注冊時間、聯系電話屬性。
2.1.3 管理員檔案實體 教師檔案實體包括編號、姓名、密碼。
2.1.4 套題實體 套題實體包括編號、套題名稱、所屬課程和添加時間屬性。
2.1.5 考試題目實體 考試題目實體包括編號、問題類型、所屬課程、所屬套題、選項A、選項B、選項C、選項D、添加時間、正確答案和備注屬性。
2.1.6 考生成績信息實體 考生成績信息實體包括編號、準考證號、所屬課程、單選題分數和多選題分數、合計分數、添加時間屬性。
2.1.7 課程信息實體 課程信息實體包括編號、課程名稱、添加時間屬性。
2.2 數據庫物理結構設計
設計原則如下:
2.2.1 進行規范化設計,盡量地減少數據的冗余和重復
2.2.2結構設計與操作設計相結合
2.2.3 數據結構具有相對穩定性數據結構的相對穩定性,可以作為新、舊系統轉換的依據。
2.3 數據庫邏輯結構 數據庫的邏輯設計就是將數據的概念設計轉化為數據庫系統的實際模型,從而得到數據庫的邏輯結構,根據數據庫概念設計,就可以創建與之相對應的數據表。
本系統包括以下幾個主要的數據庫表:
2.3.1 student表(考生信息表):考生信息表用來保存考生信息。
2.3.2 manager表(管理員信息表):管理員信息表用來存放管理員信息。
2.3.3 Teacher表(教師信息表):教師信息表用來存放教師的基本信息。
2.3.4 Taoti表(套題信息表):套題信息表用來保存套題信息。
2.3.5 Questions表(考試題目信息表):考試題目信息表用來保存考試題目信息,該表中保存著所屬課程和所屬套題的ID,通過這兩個ID可以獲取所屬課程和套題的信息。
2.3.6 stuResult表(考生成績信息表):考生成績信息表用來保存考生成績,該表的所屬課程字段whichLesson與Lesson表中的name字段相關聯,并且設置為級聯更新。
2.3.7 Lesson表(課程信息表):課程信息表用來保存課程信息。
2.4 數據庫連接池技術 通常在每次訪問數據庫之前都要先建立與數據庫的連接,這件消耗一定的資源,并延長可訪問數據庫的時間,如果是一個訪問量很高的系統,將嚴重影響該系統的性能。解決這個問題可以引入連接池技術。
2.4.1 數據庫連接池的具體實施方法如下:
預先創建一定數量的連接,存放在連接池中。
①當程序請求一個連接時,不需重新建立一個新連接,連接池會為該請求分配一個空閑的連接;當程序使用完連接后,該連接將會重新回到連接池中,而不是直接將連接釋放。②當連接池中的空閑連接數量低于下限時,連接池將根據管理機制追加創建一定數量的連接;當空閑連接數量高于上限時,連接池將釋放一定數量的連接。
2.4.2 數據庫連接池技術的優點:①資源重用。②更快的系統響應速度。③新的資源分配手段。
2.4.3 統一的連接管理,避免數據庫連接泄漏
2.5 數據庫的安全和加密 數據庫系統的安全除了依賴自身內部的安全機制外,還與外部網絡環境、應用環境、從業人員素質等因素息息相關,因此,從廣義上講,數據庫系統的安全框架可以劃分為三個層次。
2.5.1 網絡系統層次安全技術 從廣義上講,數據庫的安全首先依賴于網絡系統。可以說網絡系統是數據庫應用的外部環境和基礎,數據庫系統要發揮其強大作用離不開網絡系統的支持,網絡系統的安全是數據庫安全的第一道屏障,外部入侵首先就是從入侵網絡系統開始的。
從技術角度講,網絡系統層次的安全防范技術有很多種,大致可以分為防火墻、入侵檢測、協作式入侵檢測技術等。
2.5.2 宿主操作系統層次安全技術 操作系統是大型數據庫系統的運行平臺,為數據庫系統提供一定程度的安全保護。目前操作系統平臺大多數集中在Windows NT 和Unix,安全級別通常為C1、C2級。主要安全技術有操作系統安全策略、安全管理策略、數據安全等方面。
數據安全主要體現在以下幾個方面:數據加密技術、數據備份、數據存儲的安全性、數據傳輸的安全性等。可以采用的技術很多,主要有Kerberos認證、IPSec、SSL、TLS、VPN(PPTP、L2TP)等技術。
2.5.3 數據庫管理系統層次安全技術 數據庫系統的安全性很大程度上依賴于數據庫管理系統。如果數據庫管理系統安全機制非常強大,則數據庫系統的安全性能就較好。目前市場上流行的是關系式數據庫管理系統,其安全性功能很弱,這就導致數據庫系統的安全性存在一定的威脅。
我們可以考慮在三個不同層次實現對數據庫數據的加密,這三個層次分別是OS層、DBMS內核層和DBMS外層。①在OS層加密。在OS層無法辨認數據庫文件中的數據關系,從而無法產生合理的密鑰,對密鑰合理的管理和使用也很難。所以,對大型數據庫來說,在OS層對數據庫文件進行加密很難實現。②在DBMS內核層實現加密。這種加密是指數據在物理存取之前完成加/脫密工作。這種加密方式的優點是加密功能強,并且加密功能幾乎不會影響DBMS的功能,可以實現加密功能與數據庫管理系統之間的無縫耦合。其缺點是加密運算在服務器端進行,加重了服務器的負載,而且DBMS和加密器之間的接口需要DBMS開發商的支持。③在DBMS外層實現加密。比較實際的做法是將數據庫加密系統做成DBMS的一個外層工具,根據加密要求自動完成對數據庫數據的加/脫密處理。采用這種加密方式進行加密,加/脫密運算可在客戶端進行,它的優點是不會加重數據庫服務器的負載并且可以實現網上傳輸的加密,缺點是加密功能會受到一些限制,與數據庫管理系統之間的耦合性稍差。
參考文獻:
[1]石志國編著.JSP網絡開發詳解.電子工業出版社.2007
[2]聶小燕編著.Dreamweaver MX2004動態網站建設全攻略.兵器工業出版社.2005
[3]鄭輝.基于JSP的在線實時考試系統.長安大學碩士學位論文.2008.
[4]周雪燕.在線考試系統的開發和應用研究.陜西師范大學碩士學位論文.2006
[5]王國輝,李文立,楊亮編著.JSP數據庫系統開發完全手冊[M].人民郵電出版社.2006.