張江維
摘要:勢(shì)科學(xué)理論在人文社會(huì)科學(xué)研究中的重要意義就在于它的普適性與科學(xué)性。應(yīng)用勢(shì)科學(xué)原理對(duì)數(shù)據(jù)庫(kù)基本操作環(huán)節(jié)進(jìn)行教學(xué)改革,以工程軟件開(kāi)發(fā)實(shí)踐為教學(xué)素材,將文件讀寫(xiě)操作、文件復(fù)制操作和通信數(shù)據(jù)的存取等內(nèi)容同步引入數(shù)據(jù)庫(kù)基本操作教學(xué)實(shí)踐,能夠提高課程教學(xué)的信息量和針對(duì)性,收到良好的教學(xué)效果。
關(guān)鍵詞:勢(shì)科學(xué);數(shù)據(jù)庫(kù)操作;教學(xué)改革
勢(shì)科學(xué)這一概念是由李德昌教授提出的。勢(shì)科學(xué)研究的主要內(nèi)容是與素質(zhì)、創(chuàng)新及和諧有關(guān)的、現(xiàn)有理論無(wú)法給以科學(xué)闡述的、涉及復(fù)雜系統(tǒng)的內(nèi)容。勢(shì)的運(yùn)行機(jī)制是“差別促進(jìn)聯(lián)系,聯(lián)系擴(kuò)大差別”。人才成長(zhǎng)和教育過(guò)程是一個(gè)信息作用的動(dòng)力學(xué)過(guò)程,是學(xué)生在現(xiàn)有知識(shí)體系下,通過(guò)與教師或教材進(jìn)行信息互動(dòng),學(xué)習(xí)新知識(shí),重新建立自我知識(shí)體系的動(dòng)態(tài)過(guò)程。教學(xué)的信息量大小決定教學(xué)效果和人才培養(yǎng)的質(zhì)量。在此,信息量大并不是指講述或給出大量信息,而是信息量與信息勢(shì)等價(jià),即信息量=差別÷距離=差別×聯(lián)系。由此公式可知,如果所講知識(shí)與學(xué)生當(dāng)前知識(shí)體系差別巨大(極限狀態(tài)為相反),且沒(méi)有任何聯(lián)系則信息量為0,如果所講知識(shí)與原有知識(shí)聯(lián)系非常緊密(極限狀態(tài)為相同),但沒(méi)有差別,信息量也為0,既相反又相同,則信息量最大。例如:用學(xué)生已經(jīng)掌握的知識(shí)或者原理,解釋新的完全不同的知識(shí)或原理,則學(xué)生最容易接受,就是信息量大的緣故。在教學(xué)的過(guò)程中,如果展示給學(xué)生的信息量過(guò)小,就難于激發(fā)其學(xué)習(xí)熱情,使其產(chǎn)生厭學(xué)情緒。
數(shù)據(jù)庫(kù)操作中數(shù)據(jù)的存儲(chǔ)與讀取是信息訪問(wèn)的最基本操作,是各種信息系統(tǒng)正常運(yùn)行的基礎(chǔ),一般信息系統(tǒng)都涉及數(shù)據(jù)庫(kù)操作,包括基本數(shù)據(jù)的存取、批量數(shù)據(jù)存取和數(shù)據(jù)庫(kù)數(shù)據(jù)備份與恢復(fù)。通常在教學(xué)中,這些內(nèi)容往往分散進(jìn)行,極少考慮工程軟件分層設(shè)計(jì)、時(shí)間性能等需求因素,與實(shí)際信息系統(tǒng)應(yīng)用需求脫節(jié)嚴(yán)重,學(xué)生的實(shí)踐操作比較零散,缺乏系統(tǒng)性和針對(duì)性,遇到實(shí)際應(yīng)用往往束手無(wú)策。為此,依據(jù)勢(shì)科學(xué)原理,對(duì)數(shù)據(jù)庫(kù)操作部分進(jìn)行教學(xué)改革實(shí)踐,將多個(gè)差異較大且分散的教學(xué)內(nèi)容通過(guò)信息系統(tǒng)應(yīng)用聯(lián)系起來(lái),提高教學(xué)信息量,營(yíng)造信息勢(shì),學(xué)生將多個(gè)不同的教學(xué)內(nèi)容緊密聯(lián)系起來(lái),達(dá)到學(xué)以致用的目的,在應(yīng)用中提高了學(xué)生的實(shí)踐動(dòng)手能力。
一、工程軟件數(shù)據(jù)操作簡(jiǎn)介
課程教學(xué)以某信號(hào)控制裝置配置工程軟件開(kāi)發(fā)為背景進(jìn)行教學(xué)設(shè)計(jì),該軟件主要完成信號(hào)控制裝置基本參數(shù)的設(shè)置與修改,需要記錄多組參數(shù)、與主裝置進(jìn)行以太網(wǎng)通信交換數(shù)據(jù),數(shù)據(jù)備份與恢復(fù)等功能。軟件以Windows為運(yùn)行平臺(tái),采用C#語(yǔ)言開(kāi)發(fā),用Access數(shù)據(jù)庫(kù)記錄配置數(shù)據(jù),采用以太網(wǎng)通信與裝置進(jìn)行交換數(shù)據(jù)。其中,數(shù)據(jù)操作部分包括頁(yè)面數(shù)據(jù)存儲(chǔ)與顯示、通信數(shù)據(jù)的存取和數(shù)據(jù)庫(kù)的備份與恢復(fù)。
二、頁(yè)面數(shù)據(jù)的存儲(chǔ)與讀取顯示
頁(yè)面數(shù)據(jù)的存儲(chǔ)與讀取主要完成信號(hào)控制裝置基本配置數(shù)據(jù)的編輯、保存和顯示,即數(shù)據(jù)記錄的存儲(chǔ)和讀取,是最基本的數(shù)據(jù)庫(kù)操作,也是通常教學(xué)中的重點(diǎn)講解內(nèi)容。數(shù)據(jù)庫(kù)訪問(wèn)包括聯(lián)機(jī)和脫機(jī)兩種模式。為了提高數(shù)據(jù)的訪問(wèn)效率和軟件系統(tǒng)的運(yùn)行性能,實(shí)際應(yīng)用中通常采用脫機(jī)模式,該方式下,數(shù)據(jù)存取主要包括以下步驟:連接數(shù)據(jù)庫(kù),下達(dá)數(shù)據(jù)操作命令,即讀取數(shù)據(jù)至內(nèi)存或?qū)?nèi)存數(shù)據(jù)更新至數(shù)據(jù)庫(kù),關(guān)閉連接。通常教學(xué)中,為了方便,往往在一個(gè)頁(yè)面文件中組織所有數(shù)據(jù)庫(kù)操作工作,沒(méi)有分層的概念,數(shù)據(jù)庫(kù)訪問(wèn)、業(yè)務(wù)邏輯和表示層不分離,這種方式雖然易于實(shí)現(xiàn)和理解,但不利于今后的軟件開(kāi)發(fā)實(shí)踐。為此,在教學(xué)實(shí)踐中,先以這種方式實(shí)現(xiàn),然后增加其他業(yè)務(wù)訪問(wèn)需求,讓學(xué)生探討這種訪問(wèn)方式的不足及解決方法。在討論的基礎(chǔ)上,利用面向?qū)ο笏枷胩岢龇謱咏鉀Q方案。將數(shù)據(jù)庫(kù)訪問(wèn)剝離出來(lái),創(chuàng)建專門(mén)的數(shù)據(jù)庫(kù)訪問(wèn)類,同時(shí)將業(yè)務(wù)層與表示層分離,創(chuàng)建基礎(chǔ)業(yè)務(wù)類和頁(yè)面顯示類,以此形成三層訪問(wèn)結(jié)構(gòu)。
(一)創(chuàng)建專門(mén)的數(shù)據(jù)庫(kù)訪問(wèn)類
該類主要用于訪問(wèn)Access數(shù)據(jù)庫(kù)、執(zhí)行數(shù)據(jù)操作命令、返回從數(shù)據(jù)庫(kù)中獲得的數(shù)據(jù)。為了提高數(shù)據(jù)庫(kù)訪問(wèn)的便捷性,即能夠訪問(wèn)任意位置的Access數(shù)據(jù)庫(kù),在類構(gòu)造函數(shù)中動(dòng)態(tài)設(shè)置數(shù)據(jù)庫(kù)連接串,同時(shí)將數(shù)據(jù)庫(kù)業(yè)務(wù)邏輯剝離,以參數(shù)的形式傳遞數(shù)據(jù)庫(kù)操作參數(shù),以達(dá)到向數(shù)據(jù)庫(kù)傳遞任意操作命令的目的,最后將數(shù)據(jù)集的形式返回從數(shù)據(jù)庫(kù)中查詢獲得的數(shù)據(jù)。這樣數(shù)據(jù)庫(kù)訪問(wèn)類就是一個(gè)通用的數(shù)據(jù)庫(kù)訪問(wèn)類。
(二)創(chuàng)建基礎(chǔ)業(yè)務(wù)類及訪問(wèn)函數(shù)
基礎(chǔ)業(yè)務(wù)類主要完成信息系統(tǒng)所涉及對(duì)象的基本數(shù)據(jù)的定義、相關(guān)業(yè)務(wù)邏輯的轉(zhuǎn)換以及數(shù)據(jù)庫(kù)操作函數(shù),在該類中要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù)訪問(wèn)類對(duì)象,這里同樣需要數(shù)據(jù)庫(kù)連接串,為此該業(yè)務(wù)類也同樣設(shè)置連接串屬性,以便從頁(yè)面訪問(wèn)層傳遞該參數(shù)。利用創(chuàng)建的數(shù)據(jù)庫(kù)訪問(wèn)類對(duì)該對(duì)象進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn)。在數(shù)據(jù)庫(kù)操作函數(shù)中,由于已經(jīng)涉及具體的對(duì)象以及業(yè)務(wù)邏輯,因此需要明確具體的數(shù)據(jù)庫(kù)操作命令以及操作參數(shù),并傳遞給數(shù)據(jù)庫(kù)訪問(wèn)類,注意這里傳遞的參數(shù)仍然不是具體的數(shù)據(jù)而是相關(guān)業(yè)務(wù)對(duì)象的相關(guān)屬性。
(三)頁(yè)面顯示類
頁(yè)面顯示類主要完成人機(jī)交互,是信息顯示和錄入的主要窗口。在該類中,創(chuàng)建基礎(chǔ)業(yè)務(wù)類對(duì)象,并對(duì)對(duì)象的各個(gè)屬性賦值,通過(guò)對(duì)象的業(yè)務(wù)函數(shù)與數(shù)據(jù)庫(kù)進(jìn)行交互數(shù)據(jù)。
二、通信數(shù)據(jù)的存取
由于信號(hào)控制裝置參數(shù)的配置是通過(guò)網(wǎng)絡(luò)口完成,包括下載和上傳數(shù)據(jù)兩個(gè)功能,下載數(shù)據(jù)主要完成當(dāng)前數(shù)據(jù)庫(kù)配置數(shù)據(jù)的讀取和組織成IP數(shù)據(jù)包,這與頁(yè)面數(shù)據(jù)的讀取沒(méi)有太多區(qū)別。上傳數(shù)據(jù)主要完成將信號(hào)控制裝置當(dāng)前的配置數(shù)據(jù)上傳至軟件并保存至數(shù)據(jù)庫(kù)。這種數(shù)據(jù)庫(kù)存取操作與頁(yè)面數(shù)據(jù)的存儲(chǔ)主要區(qū)別是,通信數(shù)據(jù)是從網(wǎng)絡(luò)口獲得的批量數(shù)據(jù),即多條記錄,而且一個(gè)通信數(shù)據(jù)包并不能獲得全部配置數(shù)據(jù),需要多個(gè)數(shù)據(jù)包。另外,由于采用異步通訊,通信有時(shí)間響應(yīng)要求。如果按照頁(yè)面數(shù)據(jù)的存取方法,則不能滿足異步通信的時(shí)間要求,為此,需要先將多次通信收到的數(shù)據(jù)進(jìn)行解析并先存儲(chǔ)在內(nèi)存中,等通信結(jié)束即所有通信數(shù)據(jù)都收集完成后,再一并寫(xiě)入數(shù)據(jù)庫(kù)中。由于批量寫(xiě)入數(shù)據(jù)庫(kù)中的數(shù)據(jù)較多,會(huì)對(duì)頁(yè)面操作有延遲影響,在軟件設(shè)計(jì)與實(shí)現(xiàn)時(shí),考慮到在另外一個(gè)線程中完成批量數(shù)據(jù)存儲(chǔ)操作。
三、數(shù)據(jù)庫(kù)的備份與恢復(fù)
數(shù)據(jù)庫(kù)的備份與恢復(fù)是信息系統(tǒng)必備的功能。也是系統(tǒng)容錯(cuò)的基本方法。數(shù)據(jù)庫(kù)備份與恢復(fù)也是批量數(shù)據(jù)的操作,但是與通信數(shù)據(jù)存取的區(qū)別是,一次可以獲得全部數(shù)據(jù)。另外,數(shù)據(jù)庫(kù)備份和恢復(fù)有多種方式,包括文件復(fù)制和文件寫(xiě)入與讀取。
(一)文件復(fù)制
由于Access數(shù)據(jù)庫(kù)是以文件的形式存在,故可以采用文件復(fù)制的方式進(jìn)行備份和恢復(fù),即將整個(gè)數(shù)據(jù)庫(kù)文件復(fù)制為其他名稱和后綴的文件進(jìn)行冗余備份,恢復(fù)時(shí)用備份的文件替換現(xiàn)有數(shù)據(jù)庫(kù)文件,數(shù)據(jù)庫(kù)文件名保持不變?;謴?fù)是備的逆過(guò)程,也就是用備份的數(shù)據(jù)庫(kù)文件,替換當(dāng)前的數(shù)據(jù)庫(kù)文件,以達(dá)到恢復(fù)數(shù)據(jù)庫(kù)的目的。
(二)文件寫(xiě)入與讀取
數(shù)據(jù)庫(kù)數(shù)據(jù)寫(xiě)入文件,也就是將數(shù)據(jù)庫(kù)中數(shù)據(jù)先都讀取出來(lái),再按照一定的格式記錄在其他文件中,如文本文件或二進(jìn)制文件。由于文本文件易于讀取和編輯,但安全性不好,為了比較對(duì)比,軟件備份時(shí)采用兩種方法實(shí)現(xiàn)。在備份時(shí)要注意規(guī)范備份格式,嚴(yán)格按照格式要求進(jìn)行寫(xiě)入和讀取,否則就會(huì)出現(xiàn)恢復(fù)異常。另外,從二進(jìn)制文件中進(jìn)行數(shù)據(jù)恢復(fù)時(shí),一定要先將二進(jìn)制文件中的數(shù)據(jù)完全讀入內(nèi)存中,然后批量寫(xiě)入數(shù)據(jù)庫(kù),如果按照頁(yè)面數(shù)據(jù)存取模式即單條記錄寫(xiě)入會(huì)比較占用時(shí)間,用戶將會(huì)難以容忍。
文件復(fù)制備份簡(jiǎn)單易于實(shí)現(xiàn),但是備份的文件比較占空間,而且備份的文件即使改為其他類型的后綴依然可以用Access軟件打開(kāi),存在安全隱患。將數(shù)據(jù)庫(kù)數(shù)據(jù)寫(xiě)入二進(jìn)制文件,實(shí)現(xiàn)比較麻煩,但備份的文件比較小,數(shù)據(jù)庫(kù)大小為2.6MB的數(shù)據(jù)庫(kù)數(shù)據(jù)備份為二進(jìn)制文件大小僅為269字節(jié),是原有數(shù)據(jù)庫(kù)文件的萬(wàn)分之一,比較節(jié)約空間,而且安全性較好。
四、小結(jié)
筆者以工程軟件實(shí)踐為背景,利用勢(shì)科學(xué)思想——信息量=差別÷距離=差別×聯(lián)系,將文件讀寫(xiě)操作,文件復(fù)制操作、數(shù)據(jù)庫(kù)單條記錄讀寫(xiě)操作和批量讀寫(xiě)操作等差異較大的教學(xué)內(nèi)容,通過(guò)軟件應(yīng)用實(shí)踐緊密聯(lián)系起來(lái),提高了課堂教學(xué)信息量,使理論教學(xué)過(guò)程與工程實(shí)踐緊密結(jié)合起來(lái),明確了學(xué)習(xí)的針對(duì)性、提高了學(xué)生學(xué)習(xí)的積極性,學(xué)習(xí)效果明顯提升。
參考文獻(xiàn):
[1]李德昌.新經(jīng)濟(jì)與創(chuàng)新素質(zhì)勢(shì)科學(xué)視角下的教育、管理和創(chuàng)新[M].北京:中國(guó)計(jì)量出版社,2007.
[2]趙志明,唐驁棋.信管專業(yè)Access數(shù)據(jù)庫(kù)教學(xué)改革探索[J].教育科學(xué),2015, (11).