數(shù)據(jù)庫系統(tǒng)概論范文

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

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

數(shù)據(jù)庫系統(tǒng)概論

篇1

關(guān)鍵詞:高校本科;考試方式;改革;數(shù)據(jù)庫

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

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

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

(一)考試目的存在誤區(qū)

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

(二)考試方式單一

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

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

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

(四)重考試結(jié)果

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

(五)考試分析反饋不夠

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

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

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

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

三、數(shù)據(jù)庫系統(tǒng)概論課程改革實踐

數(shù)據(jù)庫系統(tǒng)是一門綜合性、實踐性很強的信息基礎(chǔ)設(shè)施的核心技術(shù)和重要基礎(chǔ)課程,它作為IT類相關(guān)專業(yè)的主干技術(shù)基礎(chǔ)課程之一,對培養(yǎng)學(xué)生科學(xué)的思維方法和開發(fā)方法,對后續(xù)課程的學(xué)習(xí)、完成畢業(yè)設(shè)計和今后從事實際工作等方面起著十分重要的作用。

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

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

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

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

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

考試方式的選擇應(yīng)本著具體問題具體分析的原則,即根據(jù)不同學(xué)科的區(qū)別,根據(jù)具體考試內(nèi)容的性質(zhì)特點和目的要求,選擇考試方式,以對學(xué)生進行立體式的、多方位、多層面的測查,盡可能全面地獲得有關(guān)學(xué)生素質(zhì)水平的信息。

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

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

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

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

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

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

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

課程設(shè)計是對學(xué)生的一種綜合訓(xùn)練,這種綜合訓(xùn)練和考核既包括了對課程內(nèi)容的理解和吸收,也包括對課程所學(xué)知識的綜合運用,還包括一些和課程相關(guān)知識的了解、掌握和應(yīng)用。對提高學(xué)生的綜合素質(zhì)、培養(yǎng)學(xué)生的創(chuàng)新意識與實踐能力具有特殊的作用。實踐證明課程設(shè)計也是學(xué)生非常喜歡的一種方式,對學(xué)生的就業(yè)非常有利。

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

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

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

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

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

參考文獻:

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

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

3、胡繼民.改革高校考試制度培養(yǎng)學(xué)生創(chuàng)新能力[J].重慶工學(xué)院學(xué)報,2006(9).

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

篇2

關(guān)鍵詞:SQL;數(shù)據(jù)庫;SQL語句

中圖分類號:TP311 文獻標(biāo)識碼: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是關(guān)系數(shù)據(jù)庫的國際標(biāo)準(zhǔn)語言,也是當(dāng)前和將來DBMS發(fā)展的基礎(chǔ)。通過SQL可以對數(shù)據(jù)庫進行操作。美國國家標(biāo)準(zhǔn)協(xié)會 (ANSI)將SQL定義為關(guān)系型數(shù)據(jù)庫管理系統(tǒng)標(biāo)準(zhǔn)語言,具有重大意義。

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

2 SQL概述

SQL語句用來對數(shù)據(jù)庫進行各種操作,如查詢數(shù)據(jù)、修改數(shù)據(jù)、刪除數(shù)據(jù)等,大多數(shù)關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(如Access,Oracle, SQL Server等)都支持SQL標(biāo)準(zhǔn)。

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

3 SQL操作語句

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

3.1數(shù)據(jù)定義語言

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

3.2數(shù)據(jù)查詢語言

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

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

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

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

數(shù)據(jù)插入有下列三種句法:

3.3.1單元組的插入句法

3.3.3查詢結(jié)果的插入句法

4 結(jié)束語

現(xiàn)在大部分數(shù)據(jù)庫都可以通過SQL語句進行相應(yīng)操作,因此,SQL語句的作用是必不可少的。本文對SQL定義、查詢、操作語句進行了簡要介紹??雌饋聿僮骱芊奖?,但在實際使用中根據(jù)需求的不同,可能要復(fù)雜的多。要掌握好SQL語句,還需要進一步加強理解和實踐。

參考文獻:

[1] 徐悅竹,張澤寶.數(shù)據(jù)庫系統(tǒng)概論知識要點與習(xí)題解析.[M].哈爾濱:哈爾濱工程大學(xué)出版社,2007.

篇3

關(guān)鍵詞:Access數(shù)據(jù)庫 漏洞 防范

0 引言

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

1 Access數(shù)據(jù)庫系統(tǒng)存在的漏洞

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

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

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

2 Access數(shù)據(jù)庫系統(tǒng)安全漏洞的防范

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

第一次設(shè)置數(shù)據(jù)庫密碼時,使用NULL關(guān)鍵字作為AL-TER DATABASE語句中的OldPassword參數(shù),其代碼如下:

Dim ObjConn As ADODB.Connection

Dim strSetPassword As String′創(chuàng)建SQL串以初始化一個數(shù)據(jù)庫密碼

StrSetPassword =″ALTER DATABASE PASSWORD NewPassword NULL;″

Set objConn=New ADODB.Connection′設(shè)置數(shù)據(jù)庫的打開方式為獨占

ObjConn.Mode=adModeShareExclusive′打開數(shù)據(jù)庫,path為數(shù)據(jù)庫的路徑

ObjConn.Open="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=Path;″′執(zhí)行SQL語句設(shè)置數(shù)據(jù)庫密碼

ObjConn.Execute(strSetPassword)

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

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)

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

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

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

3 結(jié)束語

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

參考文獻

[1]劉麗琳.淺析Access數(shù)據(jù)庫系統(tǒng)的安全隱患及防范措施[J].和田師范??茖W(xué)校學(xué)報.2007.(01):6-8.

篇4

關(guān)鍵詞:數(shù)據(jù)庫;課程教學(xué);案例數(shù)據(jù)庫設(shè)計

中圖分類號:TP311 文獻標(biāo)識碼: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

數(shù)據(jù)庫技術(shù)是現(xiàn)代IT技術(shù)的重要支撐技術(shù),是構(gòu)建各類信息系統(tǒng)與應(yīng)用系統(tǒng)的核心技術(shù)和重要基礎(chǔ)[1]。教育部的相關(guān)文件指出“當(dāng)代大學(xué)生應(yīng)具備利用數(shù)據(jù)庫技術(shù)對信息進行管理、加工和處理的意識與能力,用以解決本專業(yè)領(lǐng)域中的問題的能力”[2]。

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

1 主流數(shù)據(jù)庫課程教材使用的案例數(shù)據(jù)庫分析

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

1.1 圖書管理系統(tǒng)數(shù)據(jù)庫

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

1.1.1 圖書管理系統(tǒng)數(shù)據(jù)庫邏輯結(jié)構(gòu)

圖書管理系統(tǒng)數(shù)據(jù)庫的邏輯結(jié)構(gòu)[3]如下:

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

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

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

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

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

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

1.1.2 圖書管理系統(tǒng)數(shù)據(jù)庫設(shè)計分析

優(yōu)點:圖書管理系統(tǒng)數(shù)據(jù)庫設(shè)計較為完整,學(xué)習(xí)者不難結(jié)合其他程序設(shè)計語言(如C#、JSP、等)構(gòu)造出一個實用的數(shù)據(jù)庫應(yīng)用系統(tǒng)作為課程設(shè)計。另外,該案例數(shù)據(jù)庫的屬性較為豐富,可涵蓋SQL語言的主要數(shù)據(jù)類型。

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

1.2 學(xué)生選課數(shù)據(jù)庫

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

1.2.1 學(xué)生選課數(shù)據(jù)庫邏輯結(jié)構(gòu)

篇5

關(guān)鍵詞:專業(yè)核心課程;數(shù)據(jù)庫系統(tǒng)概論;引導(dǎo)創(chuàng)新

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

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

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

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

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

一、當(dāng)前現(xiàn)狀與主要問題

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

我國培養(yǎng)的計算機人才可謂眾多,但并不十分符合市場需求,很大一部分畢業(yè)生長期聚集在軟件開發(fā)領(lǐng)域,尤其是與相近專業(yè)比較,例如軟件工程專業(yè),計算機科學(xué)與技術(shù)專業(yè)的學(xué)生等沒有特征優(yōu)勢。總結(jié)起來,當(dāng)前計算機科學(xué)與技術(shù)專業(yè)的主要矛盾在于以下三方面:可實踐性強,但學(xué)生的實踐創(chuàng)新能力一般;培養(yǎng)人數(shù)眾多,但與市場需求存在較大差異;與其他相關(guān)專業(yè)的可區(qū)別性特征不明顯。

二、解決方案與建議

鑒于當(dāng)前計算機科學(xué)與技術(shù)專業(yè)存在的問題和教學(xué)現(xiàn)狀,以及該專業(yè)學(xué)生將來的職業(yè)規(guī)劃,本文試圖結(jié)合筆者多年在計算機領(lǐng)域的教學(xué)經(jīng)驗和心得體會,從數(shù)據(jù)庫系統(tǒng)課程角度,結(jié)合基礎(chǔ)知識的夯實、實踐環(huán)節(jié)的巧妙設(shè)計和創(chuàng)新理念的引導(dǎo)等幾個方面來進行教學(xué)探討,并結(jié)合經(jīng)驗來給出相應(yīng)的解決方案與建議。

1.夯實基礎(chǔ)

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

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

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

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

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

2.設(shè)計新意實踐

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

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

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

3.引導(dǎo)創(chuàng)新

創(chuàng)新一直是高等教育的前進目標(biāo),但這個目標(biāo)僅僅通過授課很難完成,教師在授課的過程多給學(xué)生啟發(fā)。專業(yè)核心課程必須在創(chuàng)新環(huán)節(jié)起到重要的作用,學(xué)生在接觸專業(yè)核心課程的過程中,已經(jīng)具備了很好的學(xué)科基礎(chǔ),能夠做一些嘗試性地有價值的工作。但長期在課程的熏陶下,可能沒有主動創(chuàng)新思維的習(xí)慣,因此需要在專業(yè)核心課程上進行引導(dǎo)和啟發(fā)。

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

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

三、結(jié)論

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

參考文獻:

[1]教育部高等學(xué)校計算機科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會.高等學(xué)校計算機科學(xué)與技術(shù)專業(yè)發(fā)展戰(zhàn)略研究報告暨專業(yè)規(guī)范(試行)[M].北京:高等教育出版社,2006.

篇6

關(guān)鍵詞:數(shù)據(jù)庫系統(tǒng);數(shù)據(jù)庫;屬性;碼;教學(xué)方法

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

1 引言

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

2 認真分析研究教材,注重學(xué)科聯(lián)系

數(shù)據(jù)庫是研究數(shù)據(jù)處理技術(shù)的一門綜合性的學(xué)科,它涉及到離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、軟件工程、計算機原理及其它應(yīng)用領(lǐng)域的知識和方法相結(jié)合的學(xué)科。在關(guān)系代數(shù)和關(guān)系演算中,用到離散數(shù)學(xué)的理論;在研究數(shù)據(jù)的物理組織時,用到數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識;在研究事務(wù)的并發(fā)時,用到操作系統(tǒng)的理論和方法;在進行數(shù)據(jù)庫設(shè)計時,用到軟件工程的原理和方法;在講授數(shù)據(jù)庫系統(tǒng)的組成時,用到計算機原理等方面的知識。由于學(xué)科的交叉性,突出了數(shù)據(jù)庫課程在整個計算機學(xué)科中的重要地位。

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

3 注重基本概念教學(xué),為理論學(xué)習(xí)打好基礎(chǔ)

3.1 弄清概念之間的區(qū)別與聯(lián)系

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

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

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

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

4 注重理論與實踐的結(jié)合

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

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

4.2 加強課程設(shè)計,提高學(xué)生綜合能力

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

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

4.3 擴展學(xué)生思路,向?qū)W生傳授新知識

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

5 結(jié)語

數(shù)據(jù)庫系統(tǒng)原理課程是計算機專業(yè)的核心課程,隨著計算機科學(xué)的發(fā)展,數(shù)據(jù)庫系統(tǒng)原理課程也在不斷的發(fā)展,教學(xué)內(nèi)容不斷更新,教學(xué)方法也在不斷改革,所以課程教學(xué)改革是一個永恒的課題。只有不斷的改革教學(xué)方法和教學(xué)手段,才能使教學(xué)更加豐富,使學(xué)生學(xué)到更多的知識。

參考文獻:

[1]教育部高等學(xué)校計算機科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會編制.高等學(xué)校計算機科學(xué)與技術(shù)專業(yè)發(fā)展戰(zhàn)略研究報告暨專業(yè)規(guī)范(試行)》[M].北京.高等教育出版社,2006.

[2]王珊,薩師煊.?dāng)?shù)據(jù)庫系統(tǒng)概論(第4版) [M].北京.高等教育出版社,2006.

篇7

【 關(guān)鍵詞 】 PKI;PMI;數(shù)據(jù)庫;安全

1 引言

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

2 PKI概論

2.1 PKI簡介

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

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

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

2.2 PKI體系架構(gòu)

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

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

3 PMI概論

3.1 PMI簡介

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

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

3.2 PMI的體系架構(gòu)

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

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

4 PKI/PMI系統(tǒng)總體設(shè)計

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

基于PKI/PMI系統(tǒng)結(jié)合的數(shù)據(jù)庫系統(tǒng)通常具備幾種功能。

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

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

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

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

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

為了實現(xiàn)上面介紹的五個功能模塊,本文設(shè)計了四個子系統(tǒng)。

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

(2)授權(quán)中心AA:授權(quán)中心AA的工作內(nèi)容是屬性證書的頒發(fā),并且能夠根據(jù)證書提供對應(yīng)的授權(quán)服務(wù)內(nèi)容。

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

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

本文研究的數(shù)據(jù)庫的PKI/PMI 系統(tǒng)邏輯結(jié)構(gòu)如圖1所示。

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

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

5 結(jié)束語

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

參考文獻

[1] 黃旭波.一種PKI/PMI系統(tǒng)的實現(xiàn)模型[D] .成都.四川大學(xué),2005:11-15.

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

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

[4] 王希忠,曲家興,黃俊強等,網(wǎng)絡(luò)數(shù)據(jù)庫安全檢測與管理程序設(shè)計實現(xiàn).信息網(wǎng)絡(luò)安全,2012(2)14-18.

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

篇8

(一)數(shù)據(jù)庫系統(tǒng)應(yīng)用課程教學(xué)的回顧:dBase-FoxBASE-VisualFoxPro

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

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

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

但是對于“摩爾規(guī)律”作用下的IT世界,發(fā)展尤其是永恒的。隨著微機的CPU從8086/8088到PentiumⅢ/Pentium4以及K7/K8……的發(fā)展,操作系統(tǒng)由Dos到Windows又到Windows95/98/2000/XP/2003……的升級,程序設(shè)計由面向問題到結(jié)構(gòu)化又到面向?qū)ο笤俚娇梢暬?,?nèi)容由文字到圖文并貌又到多媒體,應(yīng)用由單機到網(wǎng)絡(luò)又到全球互聯(lián)網(wǎng),計算機公共課的教學(xué)由Dos-Wps-Lotus123向Windows-Word-Excel轉(zhuǎn)變,桌面數(shù)據(jù)庫的情形自然該有本質(zhì)性的飛躍,尤其是這樣的數(shù)據(jù)庫技術(shù)已不只是被數(shù)據(jù)庫專家所擁有了。

(二)數(shù)據(jù)庫系統(tǒng)應(yīng)用的背景:概念、市場及其發(fā)展

數(shù)據(jù)庫可以理解為在一個或多個企業(yè)組織中,為多個用戶服務(wù)的、在計算機上可運行的、有結(jié)構(gòu)的數(shù)據(jù)集合。與文件相比,文件是面向單個程序的,而數(shù)據(jù)庫則是面向整個需求的;數(shù)據(jù)庫中的數(shù)據(jù)是有結(jié)構(gòu)的,而文件中各記錄之間是沒有聯(lián)系的。傳統(tǒng)意義上,數(shù)據(jù)庫系統(tǒng)是把有關(guān)的硬件、軟件、數(shù)據(jù)和人員組合起來為用戶提供信息服務(wù)的系統(tǒng)。

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

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

(三)桌面數(shù)據(jù)庫系統(tǒng)應(yīng)用的新概念:Access和Office97/2000/XP

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

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

在編程方面,Access從一開始就致力于把簡化的編程環(huán)境和復(fù)雜的關(guān)系數(shù)據(jù)庫理論巧妙結(jié)合;在市場銷售方面,把Access和Office這樣的提高企業(yè)工作效率的易用工具打包一同銷售。

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

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

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

二、計算機基礎(chǔ)課教學(xué)的新嘗試

計算機科技的最大特點是發(fā)展極快、應(yīng)用更廣。鑒于此,《計算機應(yīng)用基礎(chǔ)》課程就成為各大專院校學(xué)生的必修科目;而它的基本內(nèi)容也就隨著計算機的發(fā)展而不斷更新著。從原來的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已經(jīng)風(fēng)行全球并深入人心,WindowsServer2003……也似排山倒海之勢襲來!由此看來這門課的具體內(nèi)容還要“進化”,而且似乎還要永無休止地“進化”下去。

(一)現(xiàn)行計算機基礎(chǔ)課教學(xué)的主要內(nèi)容:Windows+Office

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

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

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

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

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

(二)計算機基礎(chǔ)課程教學(xué)的緊要課題:從技術(shù)教育向素質(zhì)教育轉(zhuǎn)化

鑒于計算機科技遵循“每18個月更換一代”飛速發(fā)展的事實以及全球互聯(lián)網(wǎng)時代日新月異的網(wǎng)絡(luò)文化的進步,在計算機基礎(chǔ)課程的教學(xué)過程中,時刻注意計算機文化素質(zhì)的教育,著力培養(yǎng)學(xué)生對計算機科學(xué)的新思想、新知識、新技術(shù)的理解和自學(xué)的能力,以使學(xué)生能夠利用計算機來大大提高自己的學(xué)習(xí)效率及工作效率,甚至用計算機來實現(xiàn)自己的理想;著力培養(yǎng)學(xué)生在互聯(lián)網(wǎng)時代的倫理精神以及信仰,構(gòu)成了計算機基礎(chǔ)教育的根本目標(biāo)。

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

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

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

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

篇9

關(guān)鍵詞:查詢優(yōu)化;代數(shù)優(yōu)化;查詢樹

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

1 引言

關(guān)系數(shù)據(jù)庫是當(dāng)今應(yīng)用最廣泛的數(shù)據(jù)庫系統(tǒng)。關(guān)系數(shù)據(jù)庫支持關(guān)系數(shù)據(jù)模型。關(guān)系數(shù)據(jù)結(jié)構(gòu)非常單一,現(xiàn)實世界中的實體及實體之間的聯(lián)系都是用關(guān)系來表示,在用戶看來,關(guān)系數(shù)據(jù)結(jié)構(gòu)就是二維表。常用的關(guān)系操作包括查詢操作和插入、刪除、修改操作兩大部分,其中查詢操作的表達能力最重要。數(shù)據(jù)查詢是數(shù)據(jù)庫應(yīng)用中非常重要的組成部分,數(shù)據(jù)查詢是否具備較高的執(zhí)行效率和反應(yīng)速度受到數(shù)據(jù)庫設(shè)計者和用戶的極大關(guān)注。

2 不同查詢方案代價對比

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

為了提升數(shù)據(jù)庫系統(tǒng)性能對數(shù)據(jù)查詢進行優(yōu)化成了必須解決的問題,查詢優(yōu)化技術(shù)的發(fā)展與應(yīng)用,也助推了數(shù)據(jù)庫技術(shù)的推廣與普及。

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

商品銷售管理數(shù)據(jù)庫

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

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

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

求銷售產(chǎn)品編號為’JD051’這種產(chǎn)品的銷售點信息?

用SQL語言表達該查詢:

Select 銷售點信息表.*

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

Where 銷售點信息表.銷售點編號=銷售情況表.銷售點編號 and 產(chǎn)品編號=’JD051’

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

方案1

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

第一種方式需要占用內(nèi)存空間保留廣義笛卡爾積的中間結(jié)果,讀取數(shù)據(jù)量過多及耗時較長;

方案2

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

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

方案3

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

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

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

3 關(guān)系數(shù)據(jù)庫查詢處理過程

當(dāng)用戶發(fā)出查詢請求,要采用不同的處理步驟對原始查詢進行轉(zhuǎn)換,這些轉(zhuǎn)換工作必須在系統(tǒng)處理查詢請求和返回查詢結(jié)果前完成。關(guān)系數(shù)據(jù)庫查詢處理過程如圖1所示。

圖1

主要步驟:語法分析與翻譯處理,查詢優(yōu)化處理,執(zhí)行。

4 查詢優(yōu)化技術(shù)分類

查詢優(yōu)化技術(shù)一般分為代數(shù)優(yōu)化和非代數(shù)優(yōu)化(物理結(jié)構(gòu)優(yōu)化)。

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

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

根據(jù)關(guān)系代數(shù)等價變換規(guī)則,查詢樹可以按以下方法進行變換:

方法1:下移選擇和投影運算,以減少中間結(jié)果的元組數(shù)和參與運算的關(guān)系的規(guī)模;

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

方法3:同時執(zhí)行同一個關(guān)系上的選擇、投影運算,減少對關(guān)系的掃描次數(shù);

方法4:將連接運算與投影運算結(jié)合起來執(zhí)行。

圖2可變換為圖3。

對比圖2和圖3選擇運算和投影運算優(yōu)先執(zhí)行,減少了查詢中間結(jié)果的元組數(shù),大大降低了參與連接運算的關(guān)系規(guī)模。

在制定具體的查詢策略時應(yīng)盡量減少對數(shù)據(jù)表的訪問,減少對磁盤的訪問次數(shù),訪問磁盤所需的時間大大長于對內(nèi)存的訪問時間,減少對磁盤的訪問次數(shù)將大大降低系統(tǒng)的響應(yīng)時間。選擇運算盡可能提前做,往往可以使執(zhí)行時間降低幾個數(shù)量級,通過選擇運算減少中間結(jié)果。在執(zhí)行連接操作前,對關(guān)系進行適當(dāng)?shù)念A(yù)處理,在連接的字段上建立索引以及對關(guān)系進行排序,加快查詢速度。

關(guān)系代數(shù)優(yōu)化的一般步驟:[3]

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

2)非代數(shù)優(yōu)化,也稱物理結(jié)構(gòu)優(yōu)化。數(shù)據(jù)庫物理結(jié)構(gòu)是整個數(shù)據(jù)庫存儲的基礎(chǔ),物理結(jié)構(gòu)設(shè)計是在邏輯結(jié)構(gòu)設(shè)計的基礎(chǔ)上完成的,應(yīng)確保數(shù)據(jù)庫存儲和訪問或操作數(shù)據(jù)表具有較高的執(zhí)行效率。物理結(jié)構(gòu)優(yōu)化是指為數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)推薦合適的物理存儲位置或存儲結(jié)構(gòu),以及為查詢推薦合適的存取路徑,進而提升系統(tǒng)的整體性能。

5 小結(jié)

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

參考文獻:

[1] 馮衛(wèi)兵.關(guān)系數(shù)據(jù)庫的查詢優(yōu)化[J].現(xiàn)代計算機,2010(1).

[2] 王能斌.數(shù)據(jù)庫系統(tǒng)原理[M].北京:電子工業(yè)出版社,2001.

[3] 薩師煊,王珊. 數(shù)據(jù)庫系統(tǒng)概論[M].3版.北京:高等教育出版社,2000.

[4] 谷震離.關(guān)系數(shù)據(jù)庫查詢方法研究[J].微計算機信息,2006.

[5] 崔躍生,張勇,曾春,等.數(shù)據(jù)庫物理結(jié)構(gòu)優(yōu)化技術(shù)[J].軟件學(xué)報,2013,24(4).

篇10

關(guān)鍵詞:題庫管理系統(tǒng) C/S架構(gòu) Access java

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

1 研究背景與現(xiàn)狀

1.1 本設(shè)計的背景、意義

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

1.2 研究現(xiàn)狀及設(shè)計目標(biāo)

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

1.3 研究設(shè)計中要解決的關(guān)鍵問題及方法

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

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

2 系統(tǒng)總體設(shè)計

2.1 系統(tǒng)模塊

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

2.1.1 用戶管理模塊

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

2.1.2 試題管理模塊

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

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

2.1.3 組卷管理模塊

組卷要求:主要功能是用戶可以新增組卷要求,對生成試卷的要求增加、刪除、修改等操作??梢砸?guī)定生成改試卷的題型、難度、數(shù)量以及章、節(jié)、目等。

2.1.4 抽取試題模塊

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

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

2.2 數(shù)據(jù)庫設(shè)計

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

2.3 概念模型設(shè)計

得知數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)之后,就可以設(shè)計出能夠滿足用戶需求的各種實體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。這些實體包含各種具體信息,通過相互之間的作用形成數(shù)據(jù)的流動。

3 測試方法及總結(jié)

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

3.1 黑盒法

黑盒法又稱功能測試,其測試用例是根據(jù)程序的功能說明來設(shè)計的。不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性,因而測試是在程序進行的。黑盒法是最基本的測試法,主要測試軟件能否滿足功能要求。看輸入能否被正確地接收,且能否正確地輸出結(jié)果。

3.2 白盒法

白盒法又稱結(jié)構(gòu)測試法,其測試用例是根據(jù)程序內(nèi)部的邏輯結(jié)構(gòu)來設(shè)計的。用白盒法測試時,從檢查程序的邏輯著手。

本系統(tǒng)的設(shè)計目的是在為教學(xué)單位和人員提供方便和幫助?;诒鞠到y(tǒng)首先是問題定義、可行性研究、需求分析,然后是總體、詳細設(shè)計等,并對軟件進行了測試。

參考文獻

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

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

[3] 張海藩.軟件工程導(dǎo)論[M].清華大學(xué)出版社,2003.

[4] 黃紅丹.考試系統(tǒng)的題庫設(shè)計方案[J].信息科學(xué).

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