計算機數(shù)據(jù)庫設計相關論文(2)
計算機數(shù)據(jù)庫設計相關論文
計算機數(shù)據(jù)庫設計相關論文篇二
《計算機基礎課無紙化考試系統(tǒng)的數(shù)據(jù)庫設計》
摘要:隨著計算機技術的不斷發(fā)展,考試技術也在相應的改革和進步,無紙化考試趨勢變得越來越明顯。論文從考試系統(tǒng)數(shù)據(jù)庫需求出發(fā),對考試系統(tǒng)數(shù)據(jù)庫進行了簡要的設計,同時描述了系統(tǒng)數(shù)據(jù)庫連接的實現(xiàn)代碼以及考試系統(tǒng)數(shù)據(jù)庫安全性設計。對計算機基礎課無紙化考試系統(tǒng)的設計能夠提供一定的參考價值。
關鍵詞:無紙化考試系統(tǒng);數(shù)據(jù)庫;設計
中圖分類號:TP311 文獻標識碼:A 文章編號:1007-9416(2015)12-0000-00
高校計算機基礎課程是大學生學習計算機的第一門課程,課程側重于培養(yǎng)學生動手操作能力,在該課程上應用無紙化考試系統(tǒng),體現(xiàn)了教育系統(tǒng)的改革以及模式的更新,能夠體現(xiàn)課程性質(zhì)以及提高教學的工作效率和管理水平。在該系統(tǒng)中,最重要的設計是數(shù)據(jù)庫的設計,數(shù)據(jù)庫中存儲了海量的試題,能夠快捷高效地進行出卷、答題、評分等工作。目前,已經(jīng)有許多考試(遠程教育、計算機等級考試、微軟辦公自動化考試)已經(jīng)采用了標準化在線答題方式,其科學性、準確性、公平性也遠遠高于傳統(tǒng)的考試形式。
1 考試系統(tǒng)數(shù)據(jù)庫需求
對于數(shù)據(jù)庫設計的步驟來說,需求分析是第一步也是最重要的一步,它決定了整個設計的目的和產(chǎn)品形態(tài)、在這個階段當中,主要分析使用該在線考試系統(tǒng)的用戶群體和業(yè)務活動,比如管理員的職責有錄入考試名單、查詢學生成績等;教師負責出卷、修改、評分等;學生則需要在規(guī)定時間完成答題。
2 考試系統(tǒng)數(shù)據(jù)庫設計
在線考試系統(tǒng)中,合理地設計數(shù)據(jù)庫中的邏輯和屬性關系能夠保證系統(tǒng)中每個模塊的功能之間緊密聯(lián)系在一起。在需求分析確立以后,需要將所得到的需求抽象為信息概念,在概念設計中,一般采用自底而上的設計理念,得出教師、學生、試題庫、試卷等實體信息。每一個試題都有各自的屬性。每一個實體之間根據(jù)各自的功能都會有相應的聯(lián)系。
本設計選用關系型數(shù)據(jù)庫SQL Server作為數(shù)據(jù)庫開發(fā)平臺,在邏輯設計中,將上述實體關系模型(即E-R圖)轉(zhuǎn)為關系模式,并生成數(shù)據(jù)庫所支持的表結構。詳細的表結構如下:
Teacher表(教師):字段有編號、姓名、用戶名、密碼、任課學科,其中編號作為主鍵,任課學科作為區(qū)分教師對領域?qū)W科的劃分。
Student(學生表):字段有學號、姓名、用戶名、密碼。主鍵為學號。
Paperlib(題庫表):字段題庫編號、題目標題、題目類型、難易等級、參考答案、備選答案。編號作為主鍵,用來保證記錄的唯一性。
Paper(試卷表):字段有編號、試卷代碼、大標題號、作答區(qū)、題庫編號、學號、卷面分。在該表中,學號和題庫編號是外鍵,分別和學生表以及題庫表建立對應關系。
3 系統(tǒng)數(shù)據(jù)庫連接代碼
考試系統(tǒng)可以使用PHP語言開發(fā),PHP語言擁有完善數(shù)據(jù)庫集成層,使得它能夠支持絕大多數(shù)的數(shù)據(jù)庫系統(tǒng),并兼容SQL標準,能夠高效、快速、穩(wěn)定地進行數(shù)據(jù)庫的讀寫操作。在開發(fā)方面,PHP提供了許多用于數(shù)據(jù)庫操作的標準接口,對連接、讀取、寫入數(shù)據(jù)庫等操作非常方便,不論是開發(fā)web應用還是其他應用程序,都能夠快速地進行二次開發(fā)[2]。
在連接方式上,PHP可以建立兩種不同的方法來連接SQL Server。第一種是通過開放式的接口ODBC進行連接,它是微軟定義的一種專門用于連接數(shù)據(jù)庫的標準,目前市面上的關系數(shù)據(jù)庫中都會有相應的ODBC驅(qū)動,ODBC可以說是數(shù)據(jù)庫連接的一種業(yè)界通用標準,應用非常廣泛。第二種是通過PHP語言直接對SQL Server進行連接,PHP語言中集成了Mssql函數(shù)庫專門用于數(shù)據(jù)庫的訪問,主要分為即時連接和永久連接方式。
即時連接是指當需要進行數(shù)據(jù)庫訪問操作是才進行的數(shù)據(jù)連接,一般通過mssql_connect函數(shù)來進行。永久連接顧名思義就是一直保持著與數(shù)據(jù)庫的連接,通過mssql_pconnect函數(shù)來實現(xiàn)。在本系統(tǒng)設計中,采用即時連接的方式可以減少數(shù)據(jù)庫的負荷。
$db_conn = @mssql_connect("Computer_exam","admin","admin");
or die("數(shù)據(jù)庫無法連接!");
mssql_select_db("Computer_exam",$db_conn);
?>
上述代碼中,第一行用于連接數(shù)據(jù)庫,其中Computer_exam為數(shù)據(jù)庫名稱,第一個admin為用戶名,第二個為密碼,同時用了@符號屏蔽錯誤顯示。第二行中的die函數(shù)用來提示數(shù)據(jù)庫連接失敗并關閉程序,然后選擇需要訪問的數(shù)據(jù)庫。在退出訪問時,使用mssql_close函數(shù)把連接關閉。可以專門生成兩個文件用來連接和關閉數(shù)據(jù)庫,并命名為db_conn.php和db_exit.php。
4 考試系統(tǒng)數(shù)據(jù)庫安全性
數(shù)據(jù)庫系統(tǒng)的安全性與數(shù)據(jù)庫管理系統(tǒng)關系密切,因為數(shù)據(jù)庫管理系統(tǒng)如果擁有強大的安全機制,那么數(shù)據(jù)庫系統(tǒng)也會具備較好的安全性能。提高數(shù)據(jù)庫系統(tǒng)的安全性可以采用數(shù)據(jù)加密的方式,我們可以在操作系統(tǒng)層、數(shù)據(jù)庫管理系統(tǒng)內(nèi)核層以及數(shù)據(jù)庫管理系統(tǒng)應用層三個層面進行加密。
在操作系統(tǒng)層面上,由于系統(tǒng)并不能識別數(shù)據(jù)庫文件當中的一些數(shù)據(jù)的邏輯關系,所以不能通過產(chǎn)生合理密鑰的方式來加密,也不便于對密鑰的管理和使用,因此,對于大型的數(shù)據(jù)庫很難在操作系統(tǒng)層面上實現(xiàn)數(shù)據(jù)的加密。
在數(shù)據(jù)庫管理的內(nèi)核層加密是指把數(shù)據(jù)在物理存取之前完成數(shù)據(jù)的加密或解密,這種加密功能強大,并且不會影響數(shù)據(jù)庫管理系統(tǒng)的功能,能夠?qū)烧叩倪M行無縫耦合,但是該加密方式必須在服務器中進行算法的運算工作,這樣就會使服務器的負荷增大,同時還需要數(shù)據(jù)庫管理系統(tǒng)開發(fā)商提供接口用于數(shù)據(jù)的加密。
目前采用的比較多的加密方式是在數(shù)據(jù)庫管理系統(tǒng)應用層的加密,通過在數(shù)據(jù)庫管理系統(tǒng)中根據(jù)加密的要求生成一個外層的工具,自動完成對數(shù)據(jù)的加密解密工作,這樣就可以使加密工作不會對服務器造成負擔,同時也可實現(xiàn)網(wǎng)絡加密,但是相應的加密功能會收到限制,不利于與數(shù)據(jù)庫管理系統(tǒng)的耦合。
5 結語
本文設計了一種計算機基礎無紙化考試系統(tǒng),從需求分析開始,再進行邏輯關系設計、數(shù)據(jù)表的生成以及數(shù)據(jù)庫連接方法的描述,最后對數(shù)據(jù)庫安全性進行分析,對高校計算機基礎課程實施無紙化考試有一定的作用。
參考文獻
[1]石志國.JSP網(wǎng)絡開發(fā)詳解[M].北京:電子工業(yè)出版社,2007.
[2]陳恭和.數(shù)據(jù)庫基礎與SQL應用教程[M].北京:高等教育出版社,2003.
計算機數(shù)據(jù)庫設計相關論文相關文章: