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