數據庫系統概論范文

時間:2023-04-05 02:31:39

導語:如何才能寫好一篇數據庫系統概論,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。

數據庫系統概論

篇1

關鍵詞:高校本科;考試方式;改革;數據庫

課程考試是高校本科教育工作中的重要環節,是評價學生、檢驗學習效果、促進創新人才培養的主要手段。而考試方式又是考試技術環節中的重要問題。面對當前本科生的學習狀態、考場上的紀律情況、畢業生的就業及工作狀況,作為本科教師不得不深思:我們的考試方式是否能提高學生的學習興趣?是否能促進適合知識經濟時代創新人才的培養?科學合理的考試方式能夠引導學生并及時糾正學習方向上的偏差,從根本上調動學生的學習積極性和創造性。如果考試方式不當,一方面會助長高校教育中的某些不良風氣,另一方面會挫傷學生的積極性和自尊心,阻礙創新能力的培養。

一、現行高校本科課程考試方式存在的主要問題

目前高校本科大多數課程的考試方式采取課程結束后的一次性閉卷形式。盡管各種開卷、論文、實際操作、大型作業等考試方式越來越多,但所占比例仍不夠大,且多限于選修性質的課程。閉卷考試考題比較單一,客觀題較多,而論述、分析等主觀題較少,理論性知識多,導致學生死記硬背應付考試,難以對學生的分析能力、操作能力、創新思維等進行培養和評價。具體體現在以下幾個方面。

(一)考試目的存在誤區

考試是高校檢查效果、評價教學質量、評定學生成績和反饋教學信息的重要手段之一。然而大多數教師認為學生學完了自己所教的課程,應該給個結論,因而考試僅僅是為了給學生學了某門課程下個結論而已;對于學生來說,考試就是為了得到較高的分數,取得學分,獲得獎、助學金、優先入黨、謀取文憑與學位。因此沒能對課程進行全面分析,尤其缺乏對學生知識掌握情況,能力形成情況的了解。教師則是在改完試卷得出分數,即認為課程結束,教學任務完成,很少有人對考試結果進行認真分析、做出評鑒,并及時反饋給學生。學生則是為了考試而學習,每天“讀死書”。這種墨守成規、不善思考、滿足書本、不敢質疑的學習態度與方式,與時代所倡導的創新精神是相背離的。

(二)考試方式單一

目前我國大部分高校本科都存在著考試方式比較單一,主要表現在現行考試習慣于一次性閉卷考試,很少能充分利用多種考試手段。嚴重存在著閉卷多,開卷少;筆試多、口試、答辯方式少,理論考試多,技能、操作、實踐能力考查少;一次考試定論多,數次考試及綜合評價少。此考試的弊端在于偶然性大,不能客觀、全面的反映學生的真實水平,不僅對教學起不到應有的積極作用,相反會阻礙學生創造力和個性的發展。然而高校教育培養的是復合型、實踐性的高級人才,除了要求學生掌握必備的理論知識外,更側重于學生動手能力、創新能力的培養。

(三)考試內容重知識輕能力

在很多課程的試題中,考試內容基本上是教科書上有的、教師講過的,且要求學生按標準答案做題,很少有自由發揮的機會??荚嚽皩W生要求教師劃重點、劃考試范圍已經是司空見慣的事。試卷上很少有要求學生運用綜合知識解決實際問題的試題,忽視了對學生各種能力的培養。重記憶輕創新,也就是說學生把學習的重點放在死記硬背上,缺乏學習的主動性和創造性。逐漸形成了“接受-復制性思維”,遏制了“創造-發散性思維”。

(四)重考試結果

現在的考試在很多時候都是“一錘定音”,只根據學生的期末成績便對其進行評價。這是極不利于學生成長的,在一定程度上也會增加學生的惰性和一部分學生的心理不平衡。

(五)考試分析反饋不夠

期末考試面臨寒暑假,多數教師把試卷改出來登錄了成績就算了事,有的教師即使做了試卷分析,也只是按規定統計及格率,排分數段等膚淺應付。真正使教研組的老師能認真坐下來,組織分析研究試卷,確定考試的難易度、靈活度、開放度、學生的掌握度以及對知識的延伸度等很少。這樣,考試對教學的反饋促進功能就發揮不出來。

二、其他先進國家大學考試方式的借鑒

在國外,大學考試的形式至少在二十多種以上,如無人監考考試、論文、開卷考試、階段測試、試驗和實地考察、答辯、專題討論、口頭演示、同學評價、圖片演示、設計、制圖或模型、個人研究項目、小組研究項目、自評、以計算機為基礎的評價、資料分析、書評、圖書館運用評估項目、課堂表現、作文、實習和社會實踐筆記或日記、口試以及閉卷口試等。

美國大學的課程很少統考,多是由專業教師根據既定的教學進程和要求,自行組織考核??己朔绞匠尸F多樣化,尤其注重對學生的能力培養。澳洲大學的學生考核模式可以概括為“以平時成績為主,考試成績為輔”。這樣的考評模式既鼓勵學生平時努力,撰寫文章,互相交流,積極參與課上討論等良好的學習、研究習慣,又避免了抱佛腳、死記硬背等不良學習習慣,值得借鑒。

三、數據庫系統概論課程改革實踐

數據庫系統是一門綜合性、實踐性很強的信息基礎設施的核心技術和重要基礎課程,它作為IT類相關專業的主干技術基礎課程之一,對培養學生科學的思維方法和開發方法,對后續課程的學習、完成畢業設計和今后從事實際工作等方面起著十分重要的作用。

如何教授該門課程才可以取得較好的效果;如何能讓學生從這門課程中感受到樂趣,激發他們的興趣,最終能發掘出學生的潛能和創新精神,體現他們創造性的思維和才能。我們經過長時間反復思考在對該課程考試方式方面做了一些新的嘗試。

(一)靈活多樣的考試方式和評價方法

任何一種單一的考試方法,只能滿足某一方面目的的需求。要想通過考試達到測量、評價學生的學習狀況和綜合素質,單一的考試方式肯定是欠科學的。

在對計算機、信息管理類專業學生所授“數據庫系統”課程的教學過程中,我們采取了相對靈活多樣的考試方式和評價方法。首先把該課程分為理論教學、實驗教學和課程設計三個環節來進行,每個環節上都有不同的考試方式和評價辦法。理論教學中的采用筆試考試和課外讀書報告方式(通過數據庫專題網站進行數據庫新技術學習筆記);實驗教學中的實驗操作演示(含口試)及實驗報告考試方式;課程設計中的論文和答辯考試方式等。

相應的評價方法分為五個部分,即作業(含讀書筆記)、出勤(含課堂問答)、實驗成績、課程設計答辯、期末筆試成績。

考試方式的選擇應本著具體問題具體分析的原則,即根據不同學科的區別,根據具體考試內容的性質特點和目的要求,選擇考試方式,以對學生進行立體式的、多方位、多層面的測查,盡可能全面地獲得有關學生素質水平的信息。

(二)過程考試與集中考試相結合,增加平時成績在總成績中的比重

數據庫系統概論課程中的基本技能的考核通過實驗環節采用多次過程化考試方式。該門課程的實驗環境采用是:Access+SQL Server,編程語言不限(VB、JAVA、.NET等)。每次實驗進行單元能力測試,包括基礎模塊測試和應用模塊的測試?;A模塊測試主要考核工具的使用,進行數據庫建立、查詢及應用等,如Access的使用;應用模塊測試主要考核使用SQL命令進行數據庫建立、查詢及應用(SQL Server)。每次考核若干個技能點,不但要看結果,還要看速度。最后是期末的集中考試方式。

學生在學習過程中的每次過程化考核成績累加起來,算作學生的平時成績(包括讀書筆記、出勤、每次實驗成績),學生最后成績的得出,按照平時成績50%,期末集中考試成績50%計算。隨著考試條件和手段的進一步改善,可加大平時成績在總成績中的比重。

這種考試方式強調考試過程化,它把考試作為教學過程的重要組成部分,將考試貫穿于整個教學過程中,就像企業對其產品質量進行全過程監控一樣,能夠促進學生在平時下功夫,把精力用在對課程內容的掌握上;有利于及時診斷出教與學兩個方面存在的問題,以便及時采取措施,調整教與學的努力方向,順利實現教學目標。

(三)基本技能考試和綜合技能的考試相結合

教師在教學過程中一定要注重學生的綜合素質培養、知識的綜合運用,手段上采用案例教學,同時要注重實踐。

前面提到基本技能的考試是通過課程實驗進行的,而數據庫系統的綜合技能的訓練是通過課程設計進行。在開課時就給學生布置一些課程設計題目,要求一個學期下來學生能夠獨立完成一個應用系統。最后采用答辯和論文報告的考試方式進行考核。學生需要經過認真的選題,查閱大量的資料,進行一番精心設計,在調查、設計、編寫程序、測試等基礎上才能完成。

課程設計是對學生的一種綜合訓練,這種綜合訓練和考核既包括了對課程內容的理解和吸收,也包括對課程所學知識的綜合運用,還包括一些和課程相關知識的了解、掌握和應用。對提高學生的綜合素質、培養學生的創新意識與實踐能力具有特殊的作用。實踐證明課程設計也是學生非常喜歡的一種方式,對學生的就業非常有利。

(四)個體考試與小組考試相結合

數據庫基本技能考試與期末集中考試采用的是個體考試方式,而課程設計的綜合性考試則采用小組考試方式。教師只對小組評分,小組長將教師的評分進行分配。

由于課程設計采取分組方式,每個小組同一個題目,不同小組的題目不同。因此考試方式是分組答辯方式,每個學生既是答辯人,又是評委。答辯人一邊在計算機上演示,一邊講解自己設計的軟件的功能,還要講解增加在軟件設計中的“得意之作”以及今后有待改進之處。其他同學再幫他指出設計中的不足,對于答辯人在軟件設計中的閃光點,同學們紛紛取經。每組答辯完畢,由學生和教師共同評選出優秀軟件。通過答辯,又給同學們提供了一次互動學習、互相交流的機會。

通過對數據庫課程的考試改革,我們深深體會到:學生們對該課程的學習興趣濃厚了,學習熱情大大提高了,而且在沒有降低考試要求的情況下全部通過了考試,并且優良的比例也有較大的提高。

積極改革高校本科課程考試方式和評價體系,探索平時考核與期末考試相結合、教師考核與學生相互及自我評價相結合,引導學生積極思維,“考”以致“思”,“考”以“創新”,建立靈活多樣的課程考試方式和考核評價體系,真正把考試變成學生能力培養的一個重要環節。

參考文獻:

1、張運舟.對高??荚嚫母锏囊稽c思考[J].河套大學學報,2006(1).

2、趙芳枝.以大學考試改革促進創新人才培養[J].北京理工大學學報,2007(S1).

3、胡繼民.改革高??荚囍贫扰囵B學生創新能力[J].重慶工學院學報,2006(9).

4、李妍.澳洲的大學生活和教育體制[J].北京宣武紅旗業余大學學報,2006(4).

篇2

關鍵詞:SQL;數據庫;SQL語句

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)24-0001-02

Abstract:SQL is the abbreviation of structured query language, its main role is to establish a communication and connection to the database. Through the SQL statement to complete various operations to the database, this paper mainly introduces three kinds of functions data definition, data query and data operation of the SQL.

Key words: SQL; database; SQL statement

1 引言

SQL是關系數據庫的國際標準語言,也是當前和將來DBMS發展的基礎。通過SQL可以對數據庫進行操作。美國國家標準協會 (ANSI)將SQL定義為關系型數據庫管理系統標準語言,具有重大意義。

SQL語言具有以下特點:詞匯量少、查詢功能強大和非過程性三大特點。本文通過SQL常用語句的用法,對SQL的應用進行進一步解析。

2 SQL概述

SQL語句用來對數據庫進行各種操作,如查詢數據、修改數據、刪除數據等,大多數關系型數據庫管理系統(如Access,Oracle, SQL Server等)都支持SQL標準。

但由于SQL存在著許多版本,給用戶帶來了很多不便,為了與 ANSI 標準兼容,這些SQL就必須支持大部分共同或相似的SQL語句,如SELECT、DELETE、UPDATE等。

3 SQL操作語句

SQL包含數據定義語言(DDL)、數據操作語言(DML)、數據查詢語言(DQL)、數據控制語言(DCL)、指針控制語言(CCL)、事務處理語言(TPL)6個部分。本文著重對其中三種常用語言進行介紹,即數據定義、查詢、操作3種語言:

3.1數據定義語言

數據定義語言語句有CREATE、DROP兩種,具體來說就是創建表、刪除表、創建索引、刪除索引4種,詳見下表。

3.2數據查詢語言

查詢語言只包含SELECT語句,主要功能就是從數據表中查詢數據,該語句應用最為廣泛,在實際應用中需要與其他保留字配合使用(如ORDER BY,WHERE等),對數據加以限定,以便提高查詢效率。

數據查詢是關系運算理論在SQL語言中的主要體現。數據查詢只有一個語句:SELECT語句。需要從其基本句法、完整句法和各種限定三個方面著手,才能完整掌握這個語句。

3.3 數據操作語言(DML:Data Manipulation Language)

操作語言語句包括更新(UPDATE)、插入(INSERT)、刪除(DELETE)三種語句,用于更新、添加和刪除表中數據。

數據插入有下列三種句法:

3.3.1單元組的插入句法

3.3.3查詢結果的插入句法

4 結束語

現在大部分數據庫都可以通過SQL語句進行相應操作,因此,SQL語句的作用是必不可少的。本文對SQL定義、查詢、操作語句進行了簡要介紹。看起來操作很方便,但在實際使用中根據需求的不同,可能要復雜的多。要掌握好SQL語句,還需要進一步加強理解和實踐。

參考文獻:

[1] 徐悅竹,張澤寶.數據庫系統概論知識要點與習題解析.[M].哈爾濱:哈爾濱工程大學出版社,2007.

篇3

關鍵詞:Access數據庫 漏洞 防范

0 引言

Access數據庫是一個桌面關系型數據庫,對于一些信息量較少的系統,選用Access數據庫,使得編程、使用、二嵌開發都比較容易。對于桌面型的數據庫應用來說,Access數據庫的安全機制已經可以滿足要求,但從根本上來說,Access數據庫的安全性設計是不完善的,我們需要詳細分析數據庫的安全漏洞,提出防范對策。

1 Access數據庫系統存在的漏洞

1.1 Access數據庫的解密隱患 由于Access數據庫的加密機制非常簡單,所以即使數據庫設置了密碼,解密也很容易。該數據庫系統通過將用戶輸入的密碼與某一固定密鑰進行異或來形成一個加密串,并將其存儲在*.mdb文件中從地址“&H42”開始的區域內。由于異或操作的特點是經過兩次異或就恢復原值,因此,用這一密鑰與*.mdb文件中的加密串進行第二次異或操作,便可輕松得到Access數據庫的密碼?;谶@種原理,可以很容易地編制出解密程序。

1.2 由Admin用戶引發的安全漏洞 Admin用戶是Access系統的缺省用戶,除非系統在安裝后已經重新鏈接到了某個新的工作組安全系統上,否則將以默認的Admin用戶登錄Access。而微軟將標記Admin帳戶的用戶ID號設成了一個固定值,這就意味著全世界的Access系統的Admin用戶在Access中都是同一個用戶。如果一個未聯入你的工作組安全系統的用戶在網絡文件系統級別上獲得了你的數據庫系統文件的Admin權限,他將以Admin用戶的身份擁有對該數據庫系統的所有權限,而Access本身建立起來的第二級安全機制將不起任何作用,這種情況極易發生。工作組用戶只要在他的計算機上重新安裝一次Access軟件,他將會輕而易舉地避開你設置的安全防護,做為默認的Admin用戶登陸并操作工作組中任何數據庫系統。

1.3 工作組信息文件帶來的安全隱患 Access有一個默認名為system.mdw的工作組信息文件,該文件存放了Access數據庫的全部安全信息,包括用戶賬號和組賬號。需注意的是,該System.mdw工作組信息文件是不安全的。因為在安裝Access的同時,安裝程序自動將默認的工作組定義在其創建的工作組信息文件中。在用戶還沒有使用“工具組管理器”指定其他的工作組信息文件之前,再次啟動Access時,都使用默認的工作組信息文件。默認狀態下原System.mdw工作組信息文件之所以不安全是因為它的工作組ID是空白的,任何人都可以獲得該工作組信息文件定義的管理員賬號,具有訪問數據庫的各種權限,安全隱患極大。

2 Access數據庫系統安全漏洞的防范

2.1 通過編程改進Access數據庫的加密算法 這里介紹一種在VB中設置Access密碼的解決方案,用關鍵字ALTER DATABASE設置、修改數據庫密碼。使用該方法前,先設置對Microsoft ADO Ext 2.5 for DDL and Security庫的引用,具體語法是:ALTER DATABASE PASSW0RD NewPassword OldPassword

第一次設置數據庫密碼時,使用NULL關鍵字作為AL-TER DATABASE語句中的OldPassword參數,其代碼如下:

Dim ObjConn As ADODB.Connection

Dim strSetPassword As String′創建SQL串以初始化一個數據庫密碼

StrSetPassword =″ALTER DATABASE PASSWORD NewPassword NULL;″

Set objConn=New ADODB.Connection′設置數據庫的打開方式為獨占

ObjConn.Mode=adModeShareExclusive′打開數據庫,path為數據庫的路徑

ObjConn.Open="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=Path;″′執行SQL語句設置數據庫密碼

ObjConn.Execute(strSetPassword)

修改數據庫密碼時,首先要用舊密碼登錄數據庫,然后再更改密碼。其代碼如下:

ObjConn.Mode=adModeShareExclusive

ObjConn.Provider=″Microsoft.Jet.OLEDB.4.0″

ObjConn.Properties(″Jet OLEDB:Database Password″)=″OldPassword″

ObjConn.Open″DalaSource=Path″′修改密碼

strAltertPasswod =″ALTER DATABASE PASSW0RD NewPassword OldPassword;″

objConn.Execute(strAlterPassword)

刪除數據庫密碼操作類似于修改密碼過程,只需使用NULL關鍵字作為ALTER DATABASE語句的NewPassword參數即可。

2.2 消除由Admin用戶引發的漏洞 解決的基本思路是屏蔽Admin用戶對數據庫的所有權限。首先,在Admin用戶組中增加一個新的與Admin用戶等同的新用戶(如www),然后以新用戶登錄Access,從Admin用戶組將Admin用戶撤出,并屏蔽掉Admin用戶對數據庫的所有權限,這樣,Admin用戶就成為了一個普通用戶,實際的數據庫系統管理員則變為新用戶www,而你的數據庫安全系統就對所有的用戶起到了防護作用。

2.3 消除由System.mdw文件帶來的隱患 可使用工作組管理員程序對工作組信息文件進行管理。數據庫管理員有權增加、刪除組和用戶,最好把開發同一項目的成員設在一個組。Access將用戶歸類到各種組中,所以數據庫安全管理可極大簡化,也就是為組而不是為單個用戶指定權限,然后通過將用戶添加到組中或從組中刪除的方式來更改單個用戶的權限。對于處于同組的用戶授予新權限,只要執行一個操作,即可對該組賬號授予新的權限。為了數據庫的安全,要及時刪除不再使用數據庫的用戶和組。

3 結束語

Access數據庫系統安全問題的分析研究是一項專業性、技術性極強而且復雜和龐大的工程,數據庫技術不斷發展進步,對于數據庫安全防范技術的研究也將永無止境。本文總結分析了與實際使用密切相關的Access數據庫系統安全漏洞,并提出了一定的防范對策,對于實踐使用有一定的針對性和指導意義,在具體實施時,應根據具體情況、環境和需求,因地制宜進行分析,采取相應有效措施保護數據庫系統乃至整個網絡系統的安全。

參考文獻

[1]劉麗琳.淺析Access數據庫系統的安全隱患及防范措施[J].和田師范專科學校學報.2007.(01):6-8.

篇4

關鍵詞:數據庫;課程教學;案例數據庫設計

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2015)31-0001-02

Optimal Design of Case Database in Database Course Teaching

HUANG Xin

(Jiaxing Technician College Department of Trade and Tourism,Jiaxing 314036, China)

Abstract:Aiming at the problem of selecting the teaching cases in, we analysis and research the case database designed int the domestic and mainstream textbook of database course. We propose a forum database named “simpleforumdb” as teaching and laboratorial case, and the detailed design of this database is given at the mean time.

Key words:database;course teaching;case database design

數據庫技術是現代IT技術的重要支撐技術,是構建各類信息系統與應用系統的核心技術和重要基礎[1]。教育部的相關文件指出“當代大學生應具備利用數據庫技術對信息進行管理、加工和處理的意識與能力,用以解決本專業領域中的問題的能力”[2]。

國內主流數據庫課程教材在組織內容時,雖然有的側重數據庫實現原理的介紹,有的以某一數據庫管理系統(如Oracle、MySQL等)為平臺介紹數據庫技術的應用,有的兼顧理論和技術,但無一例外都引入了一個或多個數據庫教學項目作為貫穿全書各章節、演示數據庫關鍵概念和技術的案例。許多在教學中廣泛使用的案例數據庫較為簡單,與實際工程項目相差較大,不能很好地覆蓋數據庫課程所有知識點,導致學生在未來工作中遇到實際項目時無法快速上手。如何設計合理的教學案例數據庫已成為數據庫課程教學亟待解決的重要課題。

1 主流數據庫課程教材使用的案例數據庫分析

下面從本??苾蓚€教學層次,選取兩本主流數據庫課程教材中引入的案例數據庫加以分析各自的優點和不足。

1.1 圖書管理系統數據庫

由南京師范大學鄭阿奇教授主編的數據庫課程系列教材被列為普通高等學校國家級規劃教材,在職業院校和應用型本科院校的數據庫課程教學中廣泛使用。該教材以圖書管理系統數據庫作為教學案例[3]。

1.1.1 圖書管理系統數據庫邏輯結構

圖書管理系統數據庫的邏輯結構[3]如下:

1)管理員表:Administrator(角色名,密碼,備注)

2)讀者表:TReader(借書證號,密碼,姓名,性別,出生時間,專業,借書量,照片,備注,聯系方式)

3)圖書表:TBook(ISBN,書名,作譯者,出版社,出版年月,價格,復本量,庫存量,分類號,內容提要,封面照片)

4)借閱表:TLend(借書證號,ISBN,圖書ID,借書時間,應還時間)

5)還書表:HLend(編號,借書證號,ISBN,圖書ID,借書時間,還書時間)

6)借出表:TBLend(圖書ID,ISBN,是否借出)

1.1.2 圖書管理系統數據庫設計分析

優點:圖書管理系統數據庫設計較為完整,學習者不難結合其他程序設計語言(如C#、JSP、等)構造出一個實用的數據庫應用系統作為課程設計。另外,該案例數據庫的屬性較為豐富,可涵蓋SQL語言的主要數據類型。

不足:第一,可能是為了方便數據查詢,圖書管理系統數據庫設計上存在不規范問題:部分表沒有達到3NF的規范化要求。例如在借閱表TLend中,存在非主屬性ISBN對碼(借書證號, 圖書ID , 借書時間)的部分函數依賴[4]。還書表HLend也存在類似問題。改進的方法是從借閱表TLend和還書表HLend中去除屬性ISBN,同時在TLend中加入“編號”屬性作為該表的主碼。第二,圖書管理系統數據庫的設計存在冗余問題,部分屬性屬于冗余屬性,可以從相關表中去除[4]。例如圖書表TBook中每本書的“復本量”和“庫存量”可通過對借出表TBLend中相關記錄進行聚集函數查詢(使用函數count)得到,所以這兩個屬性應該從圖書表Tbook中去除(如果存在,為了維護數據完整性系統將付出很大的性能代價)。第三,和企業實際工程項目相比,圖書管理系統數據庫略顯簡單。

1.2 學生選課數據庫

由中國人民大學王珊和薩師煊兩位教授編著的《數據庫系統概論》一書引入的案例數據庫――學生選課數據庫在國內多數本科院校授課時廣泛采用[5]。《數據庫系統概論》也是國內第一部介紹數據庫的教材,一直被國內大多數本科院校作為課程教材和主要教學參考書。

1.2.1 學生選課數據庫邏輯結構

篇5

關鍵詞:專業核心課程;數據庫系統概論;引導創新

作者簡介:張敬偉(1977-),男,山東煙臺人,桂林電子科技大學計算機科學與工程學院,講師;趙嶺忠(1977-),男,河南南陽人,桂林電子科技大學計算機科學與工程學院,教授。(廣西桂林541004)

基金項目:本文系新世紀廣西高等教育教改工程項目“基于探究式方法的軟件類課程改革與實踐”(項目編號:2010JGA027)的研究成果。

中圖分類號:G642.0     文獻標識碼:A     文章編號:1007-0079(2012)17-0061-02

計算機科學與技術專業在20世紀經歷了50年代末期的初創階段,70年代末期的發展階段和90年代中期至今的高速發展階段,學校設置專業點數在不斷增加,招生人數也一直維持較大規模,到2003年,開設計算機科學與技術專業的高校數目就已達到505所。[1]計算機科學與技術專業的教育雖然一直保持旺盛的勢頭,但就業形式不容樂觀。據麥可思研究院2011年大學生就業報告,計算機科學與技術專業被列為本科就業紅牌警告專業前10名,其主要表現特征是失業量較大、就業率低和薪資較低。[2]這是繼2009年該機構發表中國大學生就業報告以來,計算機科學與技術專業第3次被列為紅牌警告專業。但另一方面,國內計算機相關人才仍處于緊缺階段,例如軟件人才需求存在較大缺口,我國在“十五”計劃信息化發展重點專項規劃提出的發展目標就已經是“各級各類信息化人才五年共增加2000萬人,其中軟件人員增加300萬人”。[3]

上述狀況存在的主要原因一部分可以歸結為市場環境,例如從2007年到2008年的金融危機,但從學校角度考慮,主要因素則是因為培養的學生數目多,但教學模式和教學內容過于大眾化,從而導致了學生能力不能適應社會需求,與培養目標產生脫節。本文主要從專業核心課程的作用認知角度進行考慮,分析如何充分發揮專業核心課程的作用,提升學生的專業素養和創新精神,更好地適應社會需求。

一、當前現狀與主要問題

鑒于計算機的普及性和網絡提供的信息便捷性,計算機科學與技術專業具有很強的可實踐性,但這種可實踐性極大地掩蓋了計算機科學與技術專業的教學目標和學生的未來發展方向。例如,很多學生在學校里具有很強的實踐能力和豐富的計算機技巧,但畢業后卻長期局限在軟件開發和代碼編寫上,職業規劃上得不到有效發展。這主要是由于在學校里過于傾向于“鍵盤練習”,沒有注重理論基礎和創新驅動力,從而造成了畢業后更上一層樓的困難。如何在計算機科學與技術專業的教學過程中,融合學科基礎、進行有效實踐、引導學生創新,為學生建立職業規劃提供指引已成為計算機科學與技術專業當前迫切需要解決的問題。

我國培養的計算機人才可謂眾多,但并不十分符合市場需求,很大一部分畢業生長期聚集在軟件開發領域,尤其是與相近專業比較,例如軟件工程專業,計算機科學與技術專業的學生等沒有特征優勢??偨Y起來,當前計算機科學與技術專業的主要矛盾在于以下三方面:可實踐性強,但學生的實踐創新能力一般;培養人數眾多,但與市場需求存在較大差異;與其他相關專業的可區別性特征不明顯。

二、解決方案與建議

鑒于當前計算機科學與技術專業存在的問題和教學現狀,以及該專業學生將來的職業規劃,本文試圖結合筆者多年在計算機領域的教學經驗和心得體會,從數據庫系統課程角度,結合基礎知識的夯實、實踐環節的巧妙設計和創新理念的引導等幾個方面來進行教學探討,并結合經驗來給出相應的解決方案與建議。

1.夯實基礎

計算機科學與技術專業的本科課程安排是相對豐富的,課程體系也是很完整的,但關鍵問題是不能夠通過學習將它們有效串聯起來,從而導致課程之間不太能夠相互輔助。另外課程安排上的一個問題就是存在重復,例如安排一門理論課程后,又跟隨一門對應的實踐課程,由于理論課程更抽象,但實踐課程比較具體,這樣容易導致學生傾向于實踐課程,忽略了理論基礎。上述問題需要處于上層的專業核心課程能夠擔任知識整合和系統化的責任,同時必須保證專業核心課程的核心地位,不能被實踐性課程喧賓奪主。從專業核心課程的角度,應該注重以下幾點改進:

(1)專業核心課程應該起到承上啟下的作用,即驗證基礎,啟發思維的作用。所謂承上指其內容承載了以前基礎課程的內容,例如數據庫系統課程的關系代數和關系規范化理論是需要具有離散數學基礎的,索引和文件組織需要具有操作系統和計算機系統結構的相關知識,這個時候需要引導學生與以前掌握的知識進行對比,例如是否存在差異?是否跟自己所理解的是一致的?所謂啟下指一個學生在接收和理解了這門課程的相關領域知識后,能夠進行拓展,產生新的思路和問題,例如關系模型數據庫是使用二維表進行組織的,他就必須考慮是否存在不能使用二維表進行組織的數據,如果存在,應該怎樣?

(2)注重知識系統化和層次化,避免內容的重疊性。我國的基礎教學缺少系統性,過于強調點的傳授,而不是系統知識框架的建立。例如對科學型本科教育,數據庫系統課程往往以數據庫系統概論為必修課程,加以XML數據庫等選修課程,對應用型本科甚至還會開一門Oracle、DB2相關的課程。但作為一個計算機科學與技術專業的本科生來講,一門數據庫系統概論課程就足夠了,更多的事情需要拋給學生去思考。而且XML數據庫課程往往偏重于講解語法結構,沒有與關系模型關聯和對比,實際上知識傳授在這個地方就產生斷節了。至于Oracle、DB2的相關課程,完全可以讓學生根據自己的興趣來摸索和擴展,必須讓學習內容層次化,哪些內容是需要教師進行講解的,哪些是需要進行引導的,哪些需要他們自己實踐和摸索的,這些內容需要分清楚。

(3)注重專業核心課程的理論環節,實踐環節輔助進行理論內容的理解。學生很容易被誤導,他們更傾向于可實踐證明的東西,而實際上這不是教學最終目標。例如在講解SQL語言的時候,很多學生止步于使用SQL來查詢數據,但很少有學生會問SQL與C、Java語言的區別在什么地方,SQL后面的執行原理是什么,SQL語句執行的效率受哪些因素影響。專業核心課程的學習過程中,必須牢牢抓住理論環節,這樣才能和以前的知識前后呼應,并為后續內容的學習奠定堅實基礎。

(4)教師要注重授課內容由淺入深。教師經過多年的歷練,對知識的理解很深,對知識的抽象度也很高,但往往忽視了自己面對的學生每年都是同樣的基礎。盡管現在網絡很普及,學生可以方便的獲取知識,但到了專業核心課程這個環節,大部分學生還是一個初始入門階段,因此專業核心課程學習的前期,需要老師細致地指導,而后期則需要給學生較大的空間去思考,老師起一些指導性的作用。

2.設計新意實踐

計算機科學與技術專業的相關課程都具有很強的實踐性,這一方面取決于計算機的普及性,另一方面是知識的容易獲取。但實踐往往太過于刻板,缺少吸引力,設計的實踐環節需要學生按部就班的來進行,不能讓學生充分發揮他們的想象力,做出新穎的東西來。例如數據庫系統課程存在一個課程設計環節,教師總使用一個常規的信息系統設計與開發作為題目來讓學生完成,需要經歷需求描述、ER圖設計、信息系統開發等固定的模式和環節,當然這個過程能部分鍛煉學生的工程能力,但沒有鍛煉學生的思維能力,也沒有刻意培養他們的團隊合作能力,很容易將學生固化在一個框架下。今天互聯網應用的不斷衍生和普及,實際上更需要學生的創新思維。

因此,實踐環節需要進行詳細地設計,即使是同樣的信息系統開發類型,也刻意在其中植入若干小問題,看看哪些組和學生能更細心,給出更合理的解決方案。例如如果要設計一張二維表,如果這個二維表存儲的記錄數是1億條,應該怎么處理這張表才能保證查詢速度?很多學生在這個地方給出的答案是索引,但即使建了索引,對某些查詢仍然很慢,幾乎沒有學生會給出記錄合并和散列分表存儲的方法。常規的實踐環節完成后基本上就得到一個結果,大家做的東西都差不多。老師需要不斷地給學生提供思考的機會,打破他們已經養成的固定思維模式,從而激發他們對實踐環節的興趣和熱情。

另外實踐不一定需要最后一個完整可行的軟件或者系統,如果學生能夠從自己的研究和文獻查閱,并通過實驗過程,驗證出某些內容和性能是不可達到的,也應該視為一個成功的實踐過程。

3.引導創新

創新一直是高等教育的前進目標,但這個目標僅僅通過授課很難完成,教師在授課的過程多給學生啟發。專業核心課程必須在創新環節起到重要的作用,學生在接觸專業核心課程的過程中,已經具備了很好的學科基礎,能夠做一些嘗試性地有價值的工作。但長期在課程的熏陶下,可能沒有主動創新思維的習慣,因此需要在專業核心課程上進行引導和啟發。

針對數據庫系統概論課程,它的一個主講內容是使用索引提升查詢效率。很多學生只是被動粗略地接收了這一結論,但對索引的副作用卻沒有進一步探討,在什么樣的情況建什么類型的索引?如何根據實際需求評價索引的優勢和弊端?這一類的問題需要經常拋給學生,引導其進行思索,找到問題的答案或者部分解,這樣就會讓教學達到事半功倍的效果。專業核心課程在授課的過程需要注意以下兩點:要讓學生始終保持一顆好奇心,需要始終引導他們思考有什么問題是課程內容不能夠解決的;要經常性地給學生一些有挑戰性的作業,通過完成有挑戰性的任務來讓他們獲取成就感,從而激發他們的創新思維和主動性。

實際上,教師在講授一門課程的時候,更多時候不是簡單地讓學生接收課程的內容,而是讓他們通過自己的學習和理解,找出課本上不能夠解決的問題,然后如何去應對這些問題,這樣才能開啟創新思維的大門。同時老師必須保持視野的開闊性,對學科前沿知識進行充分的引導。

三、結論

基于對計算機科學與技術專業核心課程的地位和功能認知,結合筆者多年的教學經驗和體會,以數據庫系統概論課程為例,探討了如何充分發揮一門專業核心課程在學生專業學習過程中的作用,從如何充分利用已有基礎知識來讓知識體系系統化、如何設計實踐環節來加深課程理解和興趣、如何引入問題來引導學生創新等方面給出了相關的建議和方法。筆者的實踐證明,這樣的課程模式很受學生歡迎,并起到了積極作用。

參考文獻:

[1]教育部高等學校計算機科學與技術教學指導委員會.高等學校計算機科學與技術專業發展戰略研究報告暨專業規范(試行)[M].北京:高等教育出版社,2006.

篇6

關鍵詞:數據庫系統;數據庫;屬性;碼;教學方法

中圖分類號:G642文獻標識碼:A 文章編號:1009-3044(2007)05-11445-01

1 引言

根據《高等學校計算機科學與技術專業發展戰略研究報告暨專業規范(試行)》數據庫系統原理課程是計算機科學與技術、計算機工程、軟件工程及信息技術專業方向的核心課程,主要研究信息模型與信息系統、數據庫系統、數據建模、關系數據庫、數據庫查詢語言、關系數據庫設計、事務處理等核心內容。其中還包括分布式數據庫、物理數據庫設計、數據挖掘、信息存儲與信息檢查、超文本和超媒體、多媒體信息與多媒體系統、數字圖書館等選修內容。關系數據庫理論與設計是整個數據庫系統原理課程中核心中的核心內容。根據筆者近二十年對數據庫課程的講授經驗,從關系數據庫原理課程的教學內容出發研究數據庫課程的教學方法。

2 認真分析研究教材,注重學科聯系

數據庫是研究數據處理技術的一門綜合性的學科,它涉及到離散數學、數據結構、操作系統、軟件工程、計算機原理及其它應用領域的知識和方法相結合的學科。在關系代數和關系演算中,用到離散數學的理論;在研究數據的物理組織時,用到數據結構的相關知識;在研究事務的并發時,用到操作系統的理論和方法;在進行數據庫設計時,用到軟件工程的原理和方法;在講授數據庫系統的組成時,用到計算機原理等方面的知識。由于學科的交叉性,突出了數據庫課程在整個計算機學科中的重要地位。

由于大部分學校在講授數據庫系統原理前開設了Visual Foxpro 6.0程序設計課程,它屬于原理的應用部分,是關系數據庫的產品之一。教師在進行課程講授時,要結合理論講清Visual Foxpro6.0應用了數據庫的哪些原理。如數據表來源于規范化理論或者模式分解理論,Visual Foxpro6.0講的數據表、記錄、字段(數據項)和原理中講的關系、元組、屬性是同一個概念的不同名稱等。

3 注重基本概念教學,為理論學習打好基礎

3.1 弄清概念之間的區別與聯系

在數據庫課程的教學中,掌握好基本概念對理論課程的學習很有幫助,數據庫中的有些概念貫穿在課程的始終,這些概念的掌握對整個課程的學習有很重要的作用。如數據庫、數據庫系統、關系、元組、實體、屬性、事務、完整性約束等。有的概念聯系比較緊密,弄清概念之間的聯系與區別,對概念的掌握有較大幫助。如實體和屬性的概念,實體是客觀存在并可以相互區別的事物,屬性是對實體特征的描述,它們之間有必然的區別,但是也有一定的關系。實體和屬性不是絕對的,如果屬性需要進一步描述,則屬性就作為實體,反之如果實體不需要再進一步描述,則實體也可以作為另一實體的屬性。如在考慮學生管理數據庫時,政治面貌如果只考慮現在的情況(黨員、團員等),則政治面貌就是學生實體的屬性,但是如果考慮學生何時入團、何時入黨,則政治面貌就是一個實體。再如事務和程序的概念等都有較強的聯系。

3.2 掌握概念定義的前提和層次性

數據庫中的概念由漸入深,隨著課程教學內容的逐漸深入一些基本概念也更加具體和完善。例如在課程中,有四個地方都定義了碼,在介紹概念模型時,碼定義為:唯一標識實體的屬性集。在研究關系模型時,碼定義為:表中的某個屬性組,它可以唯一確定一個元組。給出了碼的粗略描述,沒有實質性的量化定義。而在關系數據庫中,講授關系的形式化定義時,碼定義為:若關系中某一屬性組的值能唯一的標識一個元組,則稱該屬性組為候選碼,若一個關系有多個候選碼,則選中一個為主碼。在講授規范化理論時,學習了函數依賴后,利用函數依賴的概念定義碼為:設K為R中的屬性或者屬性組合,若KU則K為R的候選碼。若候選碼多于一個,則選定其中的一個為主碼。從理論上來說,這四個概念都是正確的,但一個比一個更具體、更嚴密、更準確。

同樣在對函數依賴講授時也采用了同樣的手法,在關系數據理論中函數依賴定義為:設R(U)是屬性集U上的關系模式,X、Y是U的子集,若對于R(U)的任意一個可能的關系r,r中不可能存在兩個元組在X上的屬性值相等,而在Y上的屬性值不等,則稱X函數確定Y或者Y函數依賴于X,記作XY。為了便于Armstrong公理的證明,對函數依賴又給出了定量的描述。定義為:若對于R(U)的任意一個可能的關系r,t和s是r的任意兩個元組,X、Y是U的子集,若對于任意一個t[X]=s[X],必然有t[Y]=s[Y],則稱X函數確定Y或者Y函數依賴于X,記作XY。教師要講清楚對同一概念為什么這樣處理,這些概念層層的描述有什么好處。掌握了同一概念的不同定義,便于對這些概念的深入理解。

4 注重理論與實踐的結合

4.1 注重動手能力,搞好課程實驗

學習數據庫課程的主要目的是為了應用,結合所學的數據庫語言搞好每一章的課程實驗,以便驗證所學理論是很重要的。如在講授SQL語言時,讓學生建立一個數據庫,并結合所學內容做查詢、插入、刪除、修改等實際操作,真正理解和掌握SQL語言的應用環境。在講授數據庫安全性和完整性時,利用實際系統讓學生對系統做數據控制。提高學生對數據庫課程的認識,激發學生的學習欲望。

4.2 加強課程設計,提高學生綜合能力

數據庫設計理論主要是為了指導數據庫實踐,通過系統的理論學習和部分單元訓練,通過課程設計讓學生掌握數據庫設計的全過程,并進一步掌握數據庫課程。課程設計是數據庫中必不可少的,我采取將學生分組的方式每5-6名同學一組,為每組同學擬定一個題目,如圖書管理系統、學生檔案管理系統、銷售管理系統、能源管理系統等,教師提出要求讓學生深入圖書館、學生管理部門或者企業進行系統調查,進行需求分析設計出數據流圖,編寫數據字典,然后進行概念結構設計,從數據流圖和數據字典中提煉出E-R圖,再進行邏輯結構設計、物理結構設計、數據庫實施和維護的設計。讓每一位同學明確數據庫設計的過程,使每一組同學進行上機調試,使所有功能進行程序實現,最后讓同學們進行設計答辯。

通過課程設計和設計答辯,學生鞏固了理論知識,豐富了課程實踐,掌握了如何運用理論指導實踐,也對今后其它課程設計以及畢業設計和畢業論文的書寫打下了基礎,收到較好的效果。

4.3 擴展學生思路,向學生傳授新知識

由于課本的出版周期長,更新也較慢,也由于課本編寫的一些要求,所以課本上有些內容是陳舊的,對有些問題也不可能全面的介紹,有些新知識也很難溶入到教材中。我在講授課程時,除了給學生有意補充新知識外,又給學生開設了“數據庫中的空值問題”、“數據倉庫和數據挖掘技術”、“目前數據庫的研究方向”、“數據庫的查詢優化問題”等專題講座。擴充了學生的視野,激發了學生的興趣,為他們今后的學習和研究打下了一定的基礎。

5 結語

數據庫系統原理課程是計算機專業的核心課程,隨著計算機科學的發展,數據庫系統原理課程也在不斷的發展,教學內容不斷更新,教學方法也在不斷改革,所以課程教學改革是一個永恒的課題。只有不斷的改革教學方法和教學手段,才能使教學更加豐富,使學生學到更多的知識。

參考文獻:

[1]教育部高等學校計算機科學與技術教學指導委員會編制.高等學校計算機科學與技術專業發展戰略研究報告暨專業規范(試行)》[M].北京.高等教育出版社,2006.

[2]王珊,薩師煊.數據庫系統概論(第4版) [M].北京.高等教育出版社,2006.

篇7

【 關鍵詞 】 PKI;PMI;數據庫;安全

1 引言

數據庫是系統運行的核心成員,在某種程度上,數據庫安全的重要性要凌駕與操作系統之上。針對數據庫系統所進行的任何篡改、破壞等一切破壞數據庫運行服務的行為都會對整個系統產生非常嚴重的后果。所以,數據庫系統安全性能的保證就變得異常重要。

2 PKI概論

2.1 PKI簡介

PKI(Public Key Infrastructure)是一種應用比較普遍的安全基礎設施,PKI技術主要采用的是非對稱加密算法的技術以及實現原理,最終目標是為用戶提供安全的保障服務,是安全設施的重要成員之一,所謂的安全設施具體指的就是一些安全規則和準則,但是這些準則被限定在特定的區域之內,比如道路基礎設施以及網絡基礎設施。對于道路基礎設施而言,通常情況提供的是交通服務,在交通服務里面則涉及到貨車、自行車、大汽車、轎車以及摩托車等一系列具體的應用;對于網絡基礎設施而言,雖然網絡節點不同其服務的目的也不同,但是都需要進行數據之間的相互交換,網絡上的部分資源是需要進行共享的。

PKI建立并進一步完善公共密鑰基礎設施的最終目標是盡一切辦法通過各種各樣的技術手段措施解決電子政務、數據庫系統、電子商務之間的身份證明、信息資源的有效性、完整性、保密性以及不可不負責任性等一系列安全問題。

PKI技術中所明確的準則以及標準,最主要的工作目標便是通過公鑰加密技術為所有行業的企事業單位提供完善的、標準的、穩定的、高效的安全服務解決方案。進而幫助企事業單位可以在基于PKI技術的服務平臺上進行安全的信息通信。

2.2 PKI體系架構

PKI體系架構的組成主要包括兩部分內容:分別是由多種認證機構構成的認證聯合體以及各種設備終端。現階段,基于PKI體系架構所搭建起來的安全認證模型得到了商家以及企事業單位的絕對認同。在一個完整的PKI體系架構中,每個用戶必須確保賦予其個人獨自的使用證書,并且盡可能確保該用戶能夠擁有證書中所授權的各項功能。

典型的PKI體系架構主要由以下四個部分組成:PAA(政策批準機構)、PCA(政策制定機構)、CA(認證機構)以及ORA(組織注冊機構)。其中PKI體系架構的核心部分是CA,CA系統具體劃分為兩大類:PKI non-SET CA系統以及PKI SET CA 系統。PKI體系架構的搭建則完全依賴于CA之間的邏輯關系,因此PKI體系架構包括樹型架構、單體CA架構以及網狀架構。除此之外,PKI體系架構成員之間具備互通性,這是因為體系架構中的每個CA都具備可信任性,CA與CA之間互相發放授權證書,證書中明確規定了兩者之間的信任關系。

3 PMI概論

3.1 PMI簡介

PMI(Privilege Management Infrastructure)具體指的是授權管理基礎設施,通常被行內人員稱之為屬性特權機構,在IETE PKIX、ITUX.509以及ANSI標準中都對PMI進行了明確的定義。PMI對PKI有較強的依賴性,PMI最具特色功能點便是為認證系統提供特權管理相關策略、方法以及訪問控制等,進而為使用者提供非常安全的授權服務,使得使用者在現實中獲得非常安全的授權應用,PMI技術的最終目標便是為安全認證系統架構提供安全的訪問控制策略,某種程度上還能夠降低功能模塊的開發難度。到目前為止,PMI相關證書已經實現了完全標準化。

PMI授權技術是現階段應用非常廣泛的授權認證技術,資源管理便是PMI的核心思想,在PMI體系架構中,資源的擁有者具備完全管理資源訪問控制的權利。PMI與PKI授權技術最為突出的差別是PKI授權技術是對使用者的身份信息進行認證,通過PKI確定申請資源訪問的用戶具體是誰,并將通過確認授權的使用者的身份信息存儲到用戶子集的公鑰證書中,而PMI授權認證技術認證內容可以歸納為“WWH”,用戶想干嘛,訪問用戶具備什么屬性,具備那些權限等,PMI將認證的用戶的屬性信息存儲到對應的訪問用戶的屬性證書中,管理起來較為方便。

3.2 PMI的體系架構

PMI 授權服務體系架構是目前比較完善的授權管理體系架構,通過各種各樣的認證技術對訪問系統的用戶的身份信息進行認證以及授權。PMI授權服務體系架構采用高度集中的方式進行管理,針對不同的用戶身份信息的驗證需要選擇對應的身份信息。PMI具備非常全面的、完善的認證技術,指紋認證、動態口令都是具備代表性的PMI認證技術。除此之外,PMI授權認證技術融合了PKI授權認證技術的精髓,比如PMI技術吸收了PKI技術中比較成熟的數字證書技術,通過數字證書技術實現對用戶身份信息的認證。

PMI授權認證體系架構提供的屬性授權管理服務體系主要由三部分組成:具備完全信任關系的源SOA、AA屬性特權管理機構以及對應的屬性特權管理機構點。PMI的組成部分并不固定,在實際的應用環境中,使用用戶可以根據自身工作的需求非常靈活的搭建PMI體系架構。

4 PKI/PMI系統總體設計

PKI/PMI系統在數據庫中獲得了廣泛的應用。PKI/PMI系統完全兼容了PKI系統以及PMI系統雙方的優點,并將這些優點充分的利用起來,PKI/PMI系統就形成了一個全面的、高效的、完善的安全認證系統。PKI/PMI系統在數據庫中的應用充分的將PKI與PMI系統利用起來,并分別執行不同的功能模塊,實現過程中PMI體系具體負責基于角色的訪問控制模塊各個功能,而PKI授權認證具體實現的是用戶的數字簽名、身份加密、身份認證等功能模塊。

基于PKI/PMI系統結合的數據庫系統通常具備幾種功能。

(1)對管理員的訪問資格進行審查,并按照協商的規約以及授權的功能模塊決定是否對用戶請求發放CA證書。

(2)實現生成以及撤銷CA證書的操作,能夠提供更加全面的蜜月管理功能。

(3)屬性證書生成,并根據生成的屬性證書以及CA證書定制比較全面的、高效的安全訪問授權策略。

(4)證書與證書撤消列表(CRL),以方便管理工作人員下載或者查詢數據庫中的數據。

(5)系統首先要建設屬于自身系統的安全機制,PKI/PMI研究的核心內容便是安全技術的實現。此外,系統還必須能夠為使用者提供穩定的、完善的、高效的系統管理模塊。

為了實現上面介紹的五個功能模塊,本文設計了四個子系統。

(1)認證中心CA:該系統主要功能是CA證書的頒發,CA證書的順利頒發是保證系統安全的首要前提。

(2)授權中心AA:授權中心AA的工作內容是屬性證書的頒發,并且能夠根據證書提供對應的授權服務內容。

(3)注冊中心RA:注冊中心RA的服務對象是CA和RA,其主要功能是注冊申請證書。

(4)LDAP服務器:用于存儲和證書以及CRL。

本文研究的數據庫的PKI/PMI 系統邏輯結構如圖1所示。

系統資源均設置了訪問權限,如果系統管理員需要對資源進行訪問的時候,管理員必須申請證書,即與RA注冊中心服務器進行通信,提交身份證書以及屬性證書的申請需求。RA注冊中心接收到證書申請需求后便會對該管理員信息進行層層審核,并根據具體的請求決定該管理員是否能夠得到對應的證書,與此同時,RA注冊中心服務器在整個功能模塊中還起到中間件的作用,將管理員用戶提交的請求信息間接的轉發給授權中心AA或者認證中心CA。

授權中心AA與認證中心CA經過多次的審批之后,便可以簽發完證書,證書則會被無限期的存儲到系統的LDAP服務器上,并采取有效的途徑通知申請用戶證書的URL。接下來也是最后一步,即系統管理員接收到通知之后便可以到消息中的URL地址去獲取用戶申請的證書,并將證書保存到專用的計算機數據庫中。

5 結束語

PKI公鑰和PMI授權管理是目前數據庫安全技術應用比較廣泛的技術,保證數據庫系統的安全的根本工作便是確保數據庫系統的完整性、獨立性、可用性、保密性、穩定性等,盡一切技術手段避免數據庫系統遭受到非法訪問,甚至被故意破壞或者篡改等危害數據庫系統安全的隱患。所以,加強數據庫系統安全問題的研究就變得異常重要。本文實現了基于PKI/PMI認證方式以及基于角色訪問的控制策略,并最終設計出了數據庫安全系統設計邏輯架構。

參考文獻

[1] 黃旭波.一種PKI/PMI系統的實現模型[D] .成都.四川大學,2005:11-15.

[2] 廖玉,周宗和,張森.基于PKI/PMI的電子政務體系安全模型研究[J].計算機時代,2005(11):60-61.

[3] 強韶華,印慶華,吳鵬.基于PKI/PMI的安全Web數據交換[J].計算機應用與軟件,2008(03):237-239.

[4] 王希忠,曲家興,黃俊強等,網絡數據庫安全檢測與管理程序設計實現.信息網絡安全,2012(2)14-18.

[5] 馬存慶,林鏘,查達仁.一種改進的基于PKI的RFID應用中讀卡器證書驗證方法.信息網絡安全,2012(8),195-198.

篇8

(一)數據庫系統應用課程教學的回顧:dBase-FoxBASE-VisualFoxPro

微機數據庫管理系統dBaseⅢ曾是數據庫技術中的杰出代表。dBaseⅢ具有關系數據庫的基本特征,程序結構精巧,處理信息能力較強,運行效率較高;它的全屏幕編輯功能,操作簡便;它的人機會話方式,易學易懂;它提供運行的輔助手段,方便用戶,還有它的較強的適應環境的能力,使其應用極其廣泛,因此它獲得了“大眾數據庫”的美稱。自從dBaseⅢ引進我國并成功漢化后,計算機專業人員和經濟、管理等方面的技術工作者,經過幾年的不懈努力,使漢字dBaseⅢ廣泛應用于財務會計、物資、圖書資料、科研項目、學生成績、人事檔案、生產調度、經營計劃、財政稅收、銀行帳目等各個管理部門,建立了無數的小型信息系統,有力地促進了我國經濟的發展和管理現代化的工作,使它成了名副其實的大眾數據庫,也因此隨著IBM-PC淘汰AppleII,dBaseⅢ取代了dBaseII,自然而然地走進了大專院校的課堂。

和dBaseⅢ相比,FoxBASE+更勝一籌:可在UNIX、XENIX等多用戶操作系統下運行;完全兼容dBaseⅢ;運行速度更快;可以使用數組來實現數組和數據庫文件之間的數據交換,以方便對數據庫文件中記錄的操作;可以自定義函數,簡化程序設計;可以保存和恢復屏幕圖像;可以將多個命令文件合并成一個過程文件,減少讀盤次數,提高運行速度;能自動調整內存分配,以便充分利用有效內存,提高速度;擴充了部分命令的功能,新增了若干命令;擴充了一些技術參數的范圍,方便了程序設計。于是伴隨著CPU的換代和DOS的升級,FoxBASE+理所當然地替代了dBaseⅢ。

FoxPro除了兼容性和擴大已有的命令、增加新的命令和函數、減少對用戶的限制外,采用90年代的先進技術,支持鼠標器,使整個系統更易使用和操作。尤其是可將程序偽編譯為非常接近機器語言的中間代碼程序,增快其執行的速度。如果程序經FoxDistributionKit編譯,生成exe文件,就可脫離FoxPro而直接執行。2.0以后的版本加入Rushmore優化技術,使速度顯著提高;面向對象技術的應用使數據庫的設計效果結構清晰、簡單,便于實現OOP;數據庫對象的獨立性、自治性使其便于維護,從而需求變更時程序與數據庫重用率高,修改少等等,也就高于同時期的其它產品。尤其是VisualFoxPro3.0作為第一個正式具有Windows95兼容標志的應用軟件,一個32位的數據庫開發系統,引進了可視編程和面向對象的概念,使用了真正的數據庫概念和多媒體數據,具有更快速開發應用程序、面向對象和客戶機/服務器的強大功能,曾被認為是多年來出現在關系數據庫方面最重要的產品,甚至是一個革命性的軟件產品。既具有Visual系列的功能強大、直觀易用、面向對象等優點又兼具Windows和FoxPro的長處;提供的向導、設計器、生成器等工具,加之從界面到內核的完全漢化,使數據庫的管理變得輕而易舉,跟著Windows淘汰DOS,VisualFoxProForWindows換代FoxBASE也就順理成章了。

但是對于“摩爾規律”作用下的IT世界,發展尤其是永恒的。隨著微機的CPU從8086/8088到PentiumⅢ/Pentium4以及K7/K8……的發展,操作系統由Dos到Windows又到Windows95/98/2000/XP/2003……的升級,程序設計由面向問題到結構化又到面向對象再到可視化,內容由文字到圖文并貌又到多媒體,應用由單機到網絡又到全球互聯網,計算機公共課的教學由Dos-Wps-Lotus123向Windows-Word-Excel轉變,桌面數據庫的情形自然該有本質性的飛躍,尤其是這樣的數據庫技術已不只是被數據庫專家所擁有了。

(二)數據庫系統應用的背景:概念、市場及其發展

數據庫可以理解為在一個或多個企業組織中,為多個用戶服務的、在計算機上可運行的、有結構的數據集合。與文件相比,文件是面向單個程序的,而數據庫則是面向整個需求的;數據庫中的數據是有結構的,而文件中各記錄之間是沒有聯系的。傳統意義上,數據庫系統是把有關的硬件、軟件、數據和人員組合起來為用戶提供信息服務的系統。

數據表示可以有不同的抽象層次。在數據庫結構的描述中至少需要有三級抽象層:概念觀點、邏輯觀點和物理觀點。數據模型(DataModel)是數據及其相互關系的代表,而數據及其關系又是關于現實世界的抽象。數據模型既代表了數據的邏輯觀點,同時也代表了數據的概念觀點。三種最流行的數據模型是層次模型、網狀模型和關系模型。在最常用的關系模型中,包含有關系(Relation)、元組(Tuple)、屬性(Attribute)等成分,其中,關系與邏輯記錄值的集合相對應,元組與邏輯記錄值相對應,屬性與數據項、記錄之間的聯系也用關系來表示。那么,什么是好的關系模式?起碼它不該有數據冗余、更新異常、插入異常和刪除異常。這取決于數據依賴的概念,但在許多數據依賴的類型中,最重要的是函數依賴和多值依賴。

數據庫技術的發展,曾使其產品分為文件系統、關系數據庫、對象數據庫以及關系-對象數據庫等四大類,而目前世界上最大的系統軟件市場依然是關系數據庫,雖然它能解決的問題與對象數據庫并不相同,但它們之間大有兼容、融合之勢。未來最大的數據庫市場是支持通用的應用(UniversalApplications),并支持簡單和復雜的數據;同時,一些新的應用將驅動市場,如Web、DigitalFilm、DigitalKiosks和GPS等等。

(三)桌面數據庫系統應用的新概念:Access和Office97/2000/XP

隨著個人計算機的發展和普及,越來越多的人采用數據庫的技術來管理數據、分析數據和獲取信息。所以,編程簡化把數據庫的用戶從傳統的專業編程人員擴大到了所有的計算機用戶。Access的問世和推廣,使它在短短幾年之間即取代了FoxPro在桌面數據庫市場上的統治地位。Access在國際桌面軟件中早已占有了超過半數的市場份額。

Access在1993年問世,是一個完全基于Windows環境的桌面數據庫系統,它是與Windows同步成長起來的。在Access中,微軟加入了一種先進的數據庫機制,即JetEngine。這種機制取代了以前的文件格式的數據庫引擎,為數據庫的技術與應用提供了更廣闊的發展空間。今天的用戶可以在VB、VC以及新版的FoxPro中發現這種數據庫機制。

在編程方面,Access從一開始就致力于把簡化的編程環境和復雜的關系數據庫理論巧妙結合;在市場銷售方面,把Access和Office這樣的提高企業工作效率的易用工具打包一同銷售。

在Access中,智能化的編程環境和高效率的工具實現了有機結合。比如Access97采用了VB5.0的智能編程環境,所以編程風格與VB完全一致。同時與最先進、“全面”的Office集成,使得Access可以直接操作Office中的上千個對象,大大縮短了開發周期和提高了代碼重用率。Access97同時具有較高的適應能力,可以把一個Access97的應用程序用簡單的操作提升到MicrosoftSQLServer等大型客戶/服務器數據庫系統。而且Access采用與MicrosoftSQLServer相同的數據庫引擎,使這種提升變得更為簡單和直接。Access與Office一致的包含Internet/Intranet功能和標準,使用戶數據庫與網絡的結合簡單易行。

早先版本的Access并未能夠完全漢化,所以在用戶編程實踐中,對漢字的操作始終是一個困難。從Access97開始進行了全面中文化,包括內核,所有界面,幫助體系(即Office助手),應用向導,甚至示例應用程序。所以,用戶的使用就更加得心應手。全面中文化的Access包含在Office97/2000/XP……中文專業版中。

一般地,計算機應用基礎課的教學從95年開始已由Dos-Wps-Lotus123向Windows-Word-Excel轉變,數據庫的教學也從FoxBASE換成了FoxProforWindows。似乎總是跟不上技術發展和時代前進的步伐。加上學生已強烈要求學習多媒體制作和Internet技術,所以把計算機應用基礎課的教學開成Windows+Office(2000/XP)則不失為一種好策略。

二、計算機基礎課教學的新嘗試

計算機科技的最大特點是發展極快、應用更廣。鑒于此,《計算機應用基礎》課程就成為各大專院校學生的必修科目;而它的基本內容也就隨著計算機的發展而不斷更新著。從原來的BASIC語言、五筆字型、DOS、WordStar、WPS、Lotus1-2-3以及dBaseⅡ/Ⅲ到早期的Windows3.1/3.2、Word6.0、Excel5.0、FoxBASE/FoxPro又到Windows95/98/2000、Office97/2000……等等。時至今日,WindowsXP和OfficeXP已經風行全球并深入人心,WindowsServer2003……也似排山倒海之勢襲來!由此看來這門課的具體內容還要“進化”,而且似乎還要永無休止地“進化”下去。

(一)現行計算機基礎課教學的主要內容:Windows+Office

通常我們在計算機基礎課程教學的開始,總要談論三個問題:計算機能干什么?我們學什么?怎么學?狹義的答案是:計算機無所不能;我們學Windows和Office;上機。接著是盡可能多地電腦演示,以此來升華學生對電腦知識的學習興趣。

因為Windows時代,計算機操作技術的學習早已不是那么困難,再也無須死記硬背那么多的命令和格式,只需用一個手指點擊鼠標,利用菜單就可以打開一個又一個窗口并在窗口中得到五彩斑斕的世界。可是,這個過程卻很難通過傳統的方法用粉筆在黑板上來講明白。

單就操作系統來說,從Windows3.2到Windows95的飛躍,從Windows95到Windows98的進化,從Windows98到Windows2000的換代,以及從Windows2000到WindowsXP的“體驗”,都使“黑板+粉筆”的教學方式陷于絕境。但總有必要盡可能地把最新的知識和技能傳授給學生。例如學了Windows95,還要講講InternetExplorer和Windows98、學了Office97還要談談FrontPage和Office2000,學了Word,不能不說我們的民族軟件WPS,學了Windows98,還要欣賞一下已成為PC操作系統主流的Windows2000和WindowsXP……等等,還要把各種最新的流行軟件及其應用介紹給學生,如此這般來全面激發學生學習和使用電腦的樂趣,教給學生學習電腦知識的方法,同時也使學生在課堂上所學的知識和本領不至于那么快地“過時”和“淘汰”。

另一方面,過去曾經有不少在《計算機應用基礎》課中學了WPS并考試得了高分的大學生及研究生當畢業找工作打印簡歷時竟因電腦中裝的是Word而一籌莫展,類似的事情似乎比比皆是、無休無止,這說明了我們在計算機基礎教育中存在的一個更重要的桎梏和盲點:計算機文化素質問題。所以,在計算機基礎課程的教學過程中著意培養和提高學生的計算機文化素質和數字化生存的質量才是一項最根本的任務。

實踐證明,現行計算機基礎課程的主要內容Windows和Office,尤其是今天的Windows95/98+Office97、或者Windows2000+Office2000或者WindowsXP+OfficeXP完全可以由學生自己通過學習軟件(如《開天辟地》、《萬事無憂》、《暢通無阻》、《得心應手》、《電腦總動員》……等等)甚至通過教學網絡更甚至Internet來自學掌握,而且這也是華山一條路了。

(二)計算機基礎課程教學的緊要課題:從技術教育向素質教育轉化

鑒于計算機科技遵循“每18個月更換一代”飛速發展的事實以及全球互聯網時代日新月異的網絡文化的進步,在計算機基礎課程的教學過程中,時刻注意計算機文化素質的教育,著力培養學生對計算機科學的新思想、新知識、新技術的理解和自學的能力,以使學生能夠利用計算機來大大提高自己的學習效率及工作效率,甚至用計算機來實現自己的理想;著力培養學生在互聯網時代的倫理精神以及信仰,構成了計算機基礎教育的根本目標。

為了實現計算機文化素質教育的目標,有必要盡可能及時地、全方位地解決學生學習過程中的問題,所以問題的解答就不僅僅局限于課堂上、書本里、甚至校園內。比如通過電子郵件,通過OICQ、QQ、MSN,通過多媒體網絡,甚至通過網站,本著實事求是,實學實用,理論聯系實際的原則,注意反映學科的前沿內容,將思想方法和操作技巧傳給學生。另外還需要鼓勵和幫助學生裝電腦、買電腦、租電腦甚至修電腦,營造電腦學習的環境。這無疑對教師自身的計算機文化素質提出了更高的要求。

“學為人師,行為世范”、“嚴于律己,寬以待人”等思想行為準則在這個時候才更充分地體現出來,真正地潛移默化進日常的計算機教學生活中,不斷學習,不斷充實,不斷進步,跟上時代的步伐,成了教師自己的“數字化生活”。此外,教師還需把諸如遠程教育、語音識別等尖端科技的知識和應用普及給學生,帶領學生,走向時代的前列。

可是,不得不提的是,用電腦來上電腦課,或者用“電腦+投影儀”,在計算機教學過程中是不可替代的,當然最好是在機房里上這些計算機課程。盡管如此,真正的計算機文化素質教育還是要回旋到傳統的模式上。

(三)計算機基礎課程教學的新嘗試:計算機文化概論

篇9

關鍵詞:查詢優化;代數優化;查詢樹

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)26-0008-02

1 引言

關系數據庫是當今應用最廣泛的數據庫系統。關系數據庫支持關系數據模型。關系數據結構非常單一,現實世界中的實體及實體之間的聯系都是用關系來表示,在用戶看來,關系數據結構就是二維表。常用的關系操作包括查詢操作和插入、刪除、修改操作兩大部分,其中查詢操作的表達能力最重要。數據查詢是數據庫應用中非常重要的組成部分,數據查詢是否具備較高的執行效率和反應速度受到數據庫設計者和用戶的極大關注。

2 不同查詢方案代價對比

關系模型中的查詢語言早期通常是用代數方法或邏輯方法來表示,分別稱為關系代數和關系演算,隨后出現一種介于關系代數和關系演算的語言稱為結構化查詢語言,簡稱SQL。SQL語言作為關系數據庫的標準語言向用戶提供了易于掌握、高度非過程化得查詢語言。大多數商用數據庫都支持SQL語言,用戶只需指明“干什么?”不需指出“怎么干?!睂ν粋€查詢要求有不同的查詢解決方案,查詢優化就是盡量在不同的解決方案中找到效率高、代價小的方案。

為了提升數據庫系統性能對數據查詢進行優化成了必須解決的問題,查詢優化技術的發展與應用,也助推了數據庫技術的推廣與普及。

下面我們通過一個實例對比不同查詢方案所花費的代價。

商品銷售管理數據庫

銷售點信息表(銷售點編號,城市、地址,聯系電話,開設時間)

產品信息表(產品編號,產品名,類型,規格,生產廠家,進貨價格)

銷售情況表(銷售點編號,產品編號,銷售量,銷售單價)

求銷售產品編號為’JD051’這種產品的銷售點信息?

用SQL語言表達該查詢:

Select 銷售點信息表.*

From 銷售點信息表 , 銷售情況表

Where 銷售點信息表.銷售點編號=銷售情況表.銷售點編號 and 產品編號=’JD051’

SQL語言是高度的非過程化語言,同一個查詢要求可以有不同的執行方式。下面針對上述查詢要求運用關系代數表達式來表示不同的執行方式。

方案1

Π銷售點信息表.*(σ銷售點信息表.銷售點編號=銷售情況表.銷售點編號∧銷售情況表.產品編號=’JD051’(銷售點信息表×銷售情況表))

第一種方式需要占用內存空間保留廣義笛卡爾積的中間結果,讀取數據量過多及耗時較長;

方案2

Π銷售點信息表.*(σ產品編號=’JD051’(銷售點信息表∞銷售情況表))

第二種方案相比第一種方式減少了中間結果,使用自然連接相比笛卡爾積大大減少了中間結果;

方案3

Π銷售點編號(σ產品編號=’JD051’ (銷售情況表))∞銷售點信息表

第三種方式減少了數據讀取量,中間結果相比第二種情況更少??偟牟樵儠r間最短、查詢代價最少。

以上三種表達式雖然等價,但其執行的查詢策略不同,數據規模越大,查詢所花費的代價差別就越大。通過三種不同查詢方式的對比,說明查詢優化的必要性,選擇合適的查詢策略將大大減少查詢時間、降低查詢代價,因此查詢優化問題一直是數據庫研究的重點。

3 關系數據庫查詢處理過程

當用戶發出查詢請求,要采用不同的處理步驟對原始查詢進行轉換,這些轉換工作必須在系統處理查詢請求和返回查詢結果前完成。關系數據庫查詢處理過程如圖1所示。

圖1

主要步驟:語法分析與翻譯處理,查詢優化處理,執行。

4 查詢優化技術分類

查詢優化技術一般分為代數優化和非代數優化(物理結構優化)。

1)代數優化,通過對查詢語句進行變換,改變基本操作的次序,使查詢語句執行起來更有效,這種查詢優化僅涉及查詢語句本身,而不涉及實際存取路徑,稱為獨立于存取路徑的優化,或代數優化。

查詢是由高級查詢語言表示的對數據庫的一個或一組操作的集合,通常由投影、選擇、連接、笛卡爾積等操作符組成。通過語法分析功能分析查詢語句的正確性、完整性、有效性,并將其轉換為等價關系代數查詢樹,如圖2。

根據關系代數等價變換規則,查詢樹可以按以下方法進行變換:

方法1:下移選擇和投影運算,以減少中間結果的元組數和參與運算的關系的規模;

方法2:將某些選擇運算與笛卡爾積運算相結合;

方法3:同時執行同一個關系上的選擇、投影運算,減少對關系的掃描次數;

方法4:將連接運算與投影運算結合起來執行。

圖2可變換為圖3。

對比圖2和圖3選擇運算和投影運算優先執行,減少了查詢中間結果的元組數,大大降低了參與連接運算的關系規模。

在制定具體的查詢策略時應盡量減少對數據表的訪問,減少對磁盤的訪問次數,訪問磁盤所需的時間大大長于對內存的訪問時間,減少對磁盤的訪問次數將大大降低系統的響應時間。選擇運算盡可能提前做,往往可以使執行時間降低幾個數量級,通過選擇運算減少中間結果。在執行連接操作前,對關系進行適當的預處理,在連接的字段上建立索引以及對關系進行排序,加快查詢速度。

關系代數優化的一般步驟:[3]

(a)把查詢轉換成語法樹;(b)優化語法樹;(c)選擇低層次的存取路徑;(d)選擇代價較小的查詢方案。

2)非代數優化,也稱物理結構優化。數據庫物理結構是整個數據庫存儲的基礎,物理結構設計是在邏輯結構設計的基礎上完成的,應確保數據庫存儲和訪問或操作數據表具有較高的執行效率。物理結構優化是指為數據庫系統的數據推薦合適的物理存儲位置或存儲結構,以及為查詢推薦合適的存取路徑,進而提升系統的整體性能。

5 小結

查詢優化技術是數據庫中一項重要的技術。對于的查詢要求,我們應該根據數據規模大小,具體的物理存儲結構等因素進行分析,選擇合適的查詢策略。具體的SQL查詢語句應根據代數優化的相關原則進行變換,提高查詢效率。查詢優化目的是為了提升系統的性能,如果進行優化本身需要花費的代價過大,反而會降低系統的性能。所以只有兼顧了查詢效率、控制系統開銷、保障數據庫安全等諸多方面才能真正地優化系統的性能。

參考文獻:

[1] 馮衛兵.關系數據庫的查詢優化[J].現代計算機,2010(1).

[2] 王能斌.數據庫系統原理[M].北京:電子工業出版社,2001.

[3] 薩師煊,王珊. 數據庫系統概論[M].3版.北京:高等教育出版社,2000.

[4] 谷震離.關系數據庫查詢方法研究[J].微計算機信息,2006.

[5] 崔躍生,張勇,曾春,等.數據庫物理結構優化技術[J].軟件學報,2013,24(4).

篇10

關鍵詞:題庫管理系統 C/S架構 Access java

中圖分類號:TP3 文獻標識碼:A 文章編號:1672-3791(2012)09(b)-0221-01

1 研究背景與現狀

1.1 本設計的背景、意義

在當今社會,建設教育公共服務體系、實現網絡化、智能化的發展新模式是我國現代化教育業的發展新方向。題庫管理系統正是為教師方便、快速、高效的出版試卷而開發的。計算機生成試卷的方式與傳統的方式相比較,優勢是顯而易見的,首先避免了不必要的重復勞動,節約了人力資源及時間;其次使用科學的衡量、評價及統一試卷難易程度的有效手段;第三可以充分發揮計算機在信息處理方面的優勢,可以讓繁瑣的工作由計算機處理,使之達到考試規范化,科學化,消除命題者主觀意愿所帶來的不利因素,更加客觀,真實,全面地評估教學效果。因而實現自動化的題庫管理系統具有深遠的意義和價值。

1.2 研究現狀及設計目標

本研究課題是為了更加客觀、準確、高效地去評估、檢測一個學生的知識和能力水平,題庫管理系統其中主要包括:通過計算機管理題庫信息;查詢和檢索出所需數據;有選擇性的錄入試題,并按一定的規律原則組織起來,將題庫建設為優良試題的儲存庫,其知識覆蓋面廣、質量高、試卷可以快速的自動生成,并且能夠靈活的進行組卷的功能。這是網上固定試題考試所不具有的。

1.3 研究設計中要解決的關鍵問題及方法

通過對本設計的深入研究,抽取試題的功能復雜。需按照給定的要求,隨機并且無重復的抽取出相應的試題。設計中需主要解決兩方面問題:(1)隨機抽取試題時,不可避免的會出現重復數字;(2)在題庫中符合要求的試題數量少于要求中要抽取出的試題數量。

對于問題一,為了避免試題的重復,需要過濾掉重復出現的隨機數字,去掉重復出現的隨機數在程序中很難實現,所以采用了另外一種解決方式,先將所有滿足條件的試題取出,放入到一個容器A中,在該容器中進行隨機抽取,在抽取出一道試題后,將該試題放入到另一容器B中,并且將容器A中的被抽取出的試題移除,來避免出現重復試題。最終在容器B中的所有試題就是要得到的最終試卷。對于問題二,要抽取的試題數量大于題庫中符合要求的試題數量時,系統提示抽取失敗,試題不足。

2 系統總體設計

2.1 系統模塊

系統分成四個功能模塊:用戶管理、試題管理、組卷和試卷管理模塊;最后用戶根據需要生成試卷并可抽取該試卷進行查看。

2.1.1 用戶管理模塊

用戶信息:主要包括管理員和普通用戶,添加、刪除用戶等,在檢查過用戶數據的合法性后將用戶信息寫入數據庫。

2.1.2 試題管理模塊

試題難度:主要實現的功能是對試題的難度進行增加、刪除、修改和查詢。同時給出多種難度級別的類型和添加備注。點擊保存可進行更新。

可以增加新試題,對其進行編號、選擇類型、難度、修改備注等,然后點擊保存進行更新,如果想刪除試題,可選中要刪除的試題,點擊刪除即可。

2.1.3 組卷管理模塊

組卷要求:主要功能是用戶可以新增組卷要求,對生成試卷的要求增加、刪除、修改等操作。可以規定生成改試卷的題型、難度、數量以及章、節、目等。

2.1.4 抽取試題模塊

這是本系統的關鍵所在,也是最難實現的部分,設計時要充分考慮到多方面的問題。首先由用戶選擇抽取試題的要求(組卷要求),得到組卷要求的編號,根據所給定的組卷要求采取隨機抽取試題并且一張試卷中無重復性的原則。在抽取時應滿足以下條件。

如果符合要求的試題數量少于組卷要求要抽取的數量時,系統提示抽取失敗,試題不足,反之則在符合的試題中隨機抽取出當前要求的抽取數量,并且保證抽取出的試題不能重復。根據已列出的試卷進行刪除和打印,點擊刪除即可刪除生成的試卷,重新抽取。對已滿足要求的試卷可進行打印。

2.2 數據庫設計

數據庫在信息管理系統中占有非常重要的地位,數據庫結構設計的好壞將直接對應用系統的效率,以及實現的效果產生影響。合理的數據庫設計可以提高數據存儲的效率,保證數據的完整和一致性?;贏ccess的題庫管理系統是一個復雜的系統,通過運用JDBC-ODBC(橋連方式)技術訪問Access數據庫,實現系統的科學化、規范化,數據庫系統和使用過程是將現實世界的數據經過人工和計算機處理之后變為數據,后又轉化為現實世界信息的過程。由于題庫系統大部分是動態的,所有內容都保存在數據庫里,每次只要更新數據庫中的數據,系統的內容就會自動的更新,所以成功的建立數據庫、訪問數據庫是本系統得以實現的關鍵。

2.3 概念模型設計

得知數據項和數據結構之后,就可以設計出能夠滿足用戶需求的各種實體,以及它們之間的關系,為后面的邏輯結構設計打下基礎。這些實體包含各種具體信息,通過相互之間的作用形成數據的流動。

3 測試方法及總結

本程序采用了兩種測試方法:黑盒測試法和白盒測試法。

3.1 黑盒法

黑盒法又稱功能測試,其測試用例是根據程序的功能說明來設計的。不考慮程序內部結構和內部特性,因而測試是在程序進行的。黑盒法是最基本的測試法,主要測試軟件能否滿足功能要求??摧斎肽芊癖徽_地接收,且能否正確地輸出結果。

3.2 白盒法

白盒法又稱結構測試法,其測試用例是根據程序內部的邏輯結構來設計的。用白盒法測試時,從檢查程序的邏輯著手。

本系統的設計目的是在為教學單位和人員提供方便和幫助。基于本系統首先是問題定義、可行性研究、需求分析,然后是總體、詳細設計等,并對軟件進行了測試。

參考文獻

[1] 王萬學,馬洪文.通用題庫設計方法的研究[J],黑龍江大學自然科學學報,2007,17(3).

[2] 李運蘭.基于Web的考試題庫設計與實現[J].湖南文理學院院報,2004(16).

[3] 張海藩.軟件工程導論[M].清華大學出版社,2003.

[4] 黃紅丹.考試系統的題庫設計方案[J].信息科學.

[5] 劉琪.基于Web的計算機輔助考試系統[D].上海華中師范大學,2004.