




已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
教材管理系統(tǒng)教材管理系統(tǒng) 指導(dǎo)教師簽字指導(dǎo)教師簽字 主主 任任 簽簽 字字 年 月 日 一、一、課題內(nèi)容課題內(nèi)容 1、教材管理系統(tǒng)發(fā)展的背景和現(xiàn)況 2、教材管理系統(tǒng)功能模塊的設(shè)計(jì)與介紹 3、教材管理系統(tǒng)的系統(tǒng)介紹和使用 二、二、課題任務(wù)要求課題任務(wù)要求 1、了解教材管理系統(tǒng)發(fā)展?fàn)顩r和前景 2、教材管理系統(tǒng)的功能模塊的設(shè)計(jì) 3、教材管理系統(tǒng)的詳細(xì)設(shè)計(jì) 4、教材管理系統(tǒng)平臺(tái)的建設(shè) 目目 錄錄 第一章第一章 引言引言3 1.1 背景3 1.1.1教材管理系統(tǒng) 3 1.1.2信息管理系統(tǒng) 3 1.2 開(kāi)發(fā)教材管理系統(tǒng)的目的和原則5 1.3 開(kāi)發(fā)環(huán)境介紹.6 1.3.1 開(kāi)發(fā)平臺(tái).6 1.3.2 數(shù)據(jù)庫(kù)查詢語(yǔ)言SQL8 1.3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)工具ACCESS 數(shù)據(jù)庫(kù)管理系統(tǒng).9 第二章第二章 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì).11 2.1 系統(tǒng)分析.11 2.2 系統(tǒng)流程和操作方式設(shè)計(jì)13 第三章第三章 系統(tǒng)界面設(shè)計(jì)系統(tǒng)界面設(shè)計(jì)14 3.1 系統(tǒng)界面設(shè)計(jì).14 3.2 系統(tǒng)的界面及窗體16 3.2.1 下面是系統(tǒng)的主要窗體16 3.2.2 界面多文檔(MDI)frmDMI 的設(shè)計(jì)及代碼.17 第四章第四章 數(shù)據(jù)庫(kù)的設(shè)計(jì)數(shù)據(jù)庫(kù)的設(shè)計(jì)32 4.1 數(shù)據(jù)庫(kù)設(shè)計(jì)32 4.1.1 數(shù)據(jù)庫(kù)概念和發(fā)展32 4.1.2 數(shù)據(jù)庫(kù)模型及參照完整性.33 4.1.3 數(shù)據(jù)庫(kù)的建立與連接 34 4.2 數(shù)據(jù)庫(kù)查詢?cè)O(shè)計(jì)36 4.2.1 查詢功能簡(jiǎn)介 36 4.2.2 查詢功能實(shí)現(xiàn)的相關(guān)技術(shù) 36 4.2.3 查詢功能的具體實(shí)現(xiàn) 38 4.3 系統(tǒng)測(cè)試與評(píng)價(jià).40 總總 結(jié)結(jié)41 致致 謝謝.42 參考文獻(xiàn)參考文獻(xiàn).43 第一章第一章 引言引言 1.11.1 背景背景 1.1.11.1.1教材管理系統(tǒng)教材管理系統(tǒng) 學(xué)校教材管理主要是由教材計(jì)劃制定、采購(gòu)、入庫(kù)、發(fā)放、 記賬、結(jié)算等一系列工作所組成,該工作各院校都設(shè)有專門機(jī) 構(gòu)負(fù)責(zé)該項(xiàng)工作,通常是教材科。由于學(xué)校中專業(yè)設(shè)置門類多, 各專業(yè)每期開(kāi)設(shè)課程種類多其業(yè)務(wù)不僅涉及出版部門,而且要 面對(duì)全校各系、部的授課教師,各班級(jí)的學(xué)生,每期教材科涉 及管理的入出庫(kù)教材種類少則幾百多則幾千種,涉及教材冊(cè)數(shù) 少則幾千多則幾萬(wàn),涉及人員廣,工作量大,再者特別是近年 來(lái),我國(guó)高等教育規(guī)模的不斷擴(kuò)大,學(xué)校學(xué)生 人數(shù)迅速增加, 使教材管理工作更加繁重不堪。據(jù)調(diào)查,到目前為止,我國(guó)還 有許多學(xué)校甚至是一些重點(diǎn)院校的教材管理仍為手工管理方式, 這種現(xiàn)狀不但與現(xiàn)實(shí)學(xué)校教材管理的業(yè)務(wù)需求不相適應(yīng),并且 也與學(xué)校信息化建設(shè)的發(fā)展趨勢(shì)不相適應(yīng),因此,學(xué)校教材管 理人員目前迫切需要一套方便、高效的計(jì)算機(jī)化的管理信息系 統(tǒng)來(lái)代替他們繁瑣、低效的傳統(tǒng)手工管理方式,并最終實(shí)現(xiàn)教 材管理的全面自動(dòng)化。 1.1.21.1.2信息管理系統(tǒng)信息管理系統(tǒng) (1) 、信息管理系統(tǒng)的簡(jiǎn)介 教材管理系統(tǒng)屬于信息管理系統(tǒng)中的一個(gè)具體信息管理 類型,而所謂的管理信息系統(tǒng)也就是我們常說(shuō)的 MIS(Management Information System)它是“由人、計(jì)算機(jī) 等組成的能進(jìn)行信息的收集、傳送、儲(chǔ)存、加工、維護(hù)和使用 的系統(tǒng)。管理信息系統(tǒng)能實(shí)測(cè)企業(yè)的各種運(yùn)行情況利用過(guò)去的 數(shù)據(jù)觀測(cè)未來(lái);從企業(yè)全局出發(fā)輔助企業(yè)進(jìn)行決策;利用信息 控制企業(yè)的行為;幫助企業(yè)實(shí)現(xiàn)其規(guī)劃目標(biāo)。 ”在當(dāng)今這個(gè)強(qiáng) 調(diào)管理、強(qiáng)調(diào)信息的時(shí)代,MIS 變得越來(lái)越普及。MIS 作為一 門新的學(xué)科,它跨越了多個(gè)領(lǐng)域,如:管理科學(xué)、系統(tǒng)科學(xué)、 運(yùn)籌學(xué)、統(tǒng)計(jì)學(xué)以及計(jì)算機(jī)科學(xué)。在這些新興的學(xué)科基礎(chǔ)上發(fā) 展出一種信息收集和加工的方法,最終形成現(xiàn)在一個(gè)縱橫交織 的系統(tǒng)。本系統(tǒng)為單機(jī)版運(yùn)行方式,對(duì)于硬件的要求比較小, 能夠在任何運(yùn)行圖形化 Windows 視窗操作系統(tǒng)上運(yùn)行。另外需 要說(shuō)明的一點(diǎn)是,限于技術(shù)的原因,目前國(guó)內(nèi)還沒(méi)有出現(xiàn)更高 級(jí)的管理模型開(kāi)發(fā)方法,所以本系統(tǒng)采用廣泛使用的 MIS 系統(tǒng)。 (2) 、信息管理系統(tǒng)的概況和發(fā)展方向 第一階段:統(tǒng)計(jì)系統(tǒng),所研究的內(nèi)容是數(shù)量數(shù)據(jù)間表面的 規(guī)律,它可以把數(shù)據(jù)分成較相關(guān)和較不相關(guān)的組,然后把數(shù)據(jù) 轉(zhuǎn)換為信息。 第二階段:數(shù)據(jù)更新系統(tǒng)。 第三階段:狀態(tài)報(bào)告系統(tǒng),它可以分為生產(chǎn)狀態(tài)報(bào)告、服 務(wù)狀態(tài)報(bào)告和研究狀態(tài)報(bào) 告等系統(tǒng)。 第四階段:決策支持階段,它是用來(lái)輔助決策的信息系統(tǒng), 該系統(tǒng)可以計(jì)劃、分析方案,審查解答和求解的誤差。它具有 較好的人機(jī)對(duì)話方式,可以和不怎么熟悉計(jì)算機(jī)的管理人員通 話。它一般包括一些模型用以產(chǎn)生決策信息,但不強(qiáng)調(diào)全面的 管理功能。 (3) 、 管理信息系統(tǒng)的發(fā)展方向 從國(guó)際技術(shù)發(fā)展來(lái)看,20 世紀(jì) 90 年代出現(xiàn)了幾種全新的管理技 術(shù): BPR企業(yè)過(guò)程重組;IDDS智能化決策支持系統(tǒng);Lean Production 精良生產(chǎn);Agile Manufacture靈捷制造。 相應(yīng)的 MIS 開(kāi)發(fā)技術(shù)在 20 世紀(jì) 90 年代也有了新的發(fā)展: 信息綜合集成和 Internet/Intranet。 1.21.2 開(kāi)發(fā)教材管理系統(tǒng)的目的和原則開(kāi)發(fā)教材管理系統(tǒng)的目的和原則 開(kāi)發(fā)教材管理系統(tǒng)的目的就是充分利用計(jì)算機(jī)和現(xiàn)代辦公 軟件,擺脫傳統(tǒng)辦公工具,用計(jì)算機(jī)實(shí)現(xiàn)集中方便的管理工作, 把學(xué)校教材科的工作人員從繁重的體力勞動(dòng)中解脫出來(lái)以達(dá)到 提高工作效率和質(zhì)量,最終實(shí)現(xiàn)教材管理的全面自動(dòng)化為和現(xiàn) 代化。要實(shí)現(xiàn)這個(gè)目標(biāo)在開(kāi)發(fā)過(guò)程中應(yīng)遵循以下幾條原則: 1.、從實(shí)際出發(fā),總結(jié)借鑒吸收相結(jié)合的原則 參照并保留了其他軟件的征訂、采購(gòu)、發(fā)行、結(jié)算等常規(guī) 應(yīng)用部分,改變了原來(lái)庫(kù)連接方式,所有庫(kù)連接形成一個(gè)整體, 增強(qiáng)了智能化和自動(dòng)化 程度。具有獨(dú)立的設(shè)計(jì)構(gòu)思,方便、 快捷、簡(jiǎn)單、實(shí)用。 2、編制和實(shí)施操作的現(xiàn)實(shí)性 . 該教材管理系統(tǒng)是我們?cè)?Windows 操作平臺(tái)下開(kāi)發(fā)的初級(jí) 版本,既考慮了與舊的方法的銜接,又注意了新情況新特點(diǎn), 注意承上啟下,運(yùn)算規(guī)則(規(guī)律)更具科學(xué)性。在編制過(guò)程中, 我們既考慮了與現(xiàn)實(shí)舊軟件和手工操作的銜接,又注意了新方 法的應(yīng)用,增加了可操作性,現(xiàn)實(shí)、可靠、 即時(shí)使用。逐步成 熟后,可隨著技術(shù)條件的改進(jìn)和提高,隨時(shí)升級(jí)可見(jiàn)的用戶界 面要求系統(tǒng)的大部分功能在菜單或工具欄級(jí)別上通過(guò)簡(jiǎn)單 的鼠標(biāo)點(diǎn)擊完成 3、教材管理的框架,應(yīng)以科學(xué)嚴(yán)謹(jǐn),各種新思想,新方 法構(gòu)筑完備為原則 既要保證教材管理系統(tǒng)的科學(xué)性、完整性、系統(tǒng)性,又注 意到教材管理的靈活性和可操作性。同時(shí)又較好的解決了教材 管理工作的部分難點(diǎn)問(wèn)題,比如多價(jià)書(shū)的征訂采購(gòu)發(fā)行,到貨 前書(shū)目替換,大量的錄入工作,查找書(shū)目難以操作等等。 4、統(tǒng)要有簡(jiǎn)單可得的幫助 整的工具欄、狀態(tài)欄和系統(tǒng)幫助。 1.31.3 開(kāi)發(fā)環(huán)境介紹開(kāi)發(fā)環(huán)境介紹 使用 Visual Basic 6.0 作為管理系統(tǒng)的開(kāi)發(fā)平臺(tái), ACCESS2000 用于數(shù)據(jù)源的開(kāi)發(fā);使用 ODBC(開(kāi)放式數(shù)據(jù)庫(kù)連接) 進(jìn)行對(duì)數(shù)據(jù)源的連接,SQL 結(jié)構(gòu)化查詢語(yǔ)言用于實(shí)現(xiàn)查詢功能。 之所以采用 vb 作為開(kāi)發(fā)平臺(tái)主要是考慮到對(duì)此種語(yǔ)言的熟悉性 以及使用 vb 能夠在較短的時(shí)間內(nèi)給用戶提供友好的界面和完善 的功能,縮短了開(kāi)發(fā)周期。而數(shù)據(jù)源的開(kāi)發(fā)最初是想使用 SQL Server 企業(yè)管理器進(jìn)行的,但是考慮到 ACCESS 的簡(jiǎn)單易用性, 最終還是采用了 ACCESS2000。 1 1.3.1.3.1 開(kāi)發(fā)平臺(tái)開(kāi)發(fā)平臺(tái) 用 Visual Basic 60 作為數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),3.0 版以后的 Visual Basic 具有數(shù)據(jù)庫(kù)連接和數(shù)據(jù)處理功能,因此完全有資 格作為數(shù)據(jù)庫(kù)應(yīng)用程序的開(kāi)發(fā)環(huán)境。Microsoft 公司把許多新的 數(shù)據(jù)訪問(wèn)功能加到 Visual Basic 中,使得該產(chǎn)品成為桌面數(shù)據(jù) 庫(kù)市場(chǎng)中 Access、FoxPro 及 Paradox for Windows 的直接競(jìng)爭(zhēng) 者。與普通的數(shù)據(jù)庫(kù)系統(tǒng)相比,用 Visual Basic 作為數(shù)據(jù)庫(kù)開(kāi) 發(fā)平臺(tái)有以下優(yōu)點(diǎn): (1)、簡(jiǎn)單性 Visual Basic 提供了數(shù)據(jù)控件,利用該控件,用戶只要編 寫少量的代碼甚至不編寫任何代碼就可以訪問(wèn)數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù) 庫(kù)進(jìn)行瀏覽。 (2)、靈活性 Visual Basic 不像一般的數(shù)據(jù)庫(kù)(如 Access)那樣局限于特 定的應(yīng)用程序結(jié)構(gòu),也不需要用某些指令對(duì)當(dāng)前打開(kāi)的數(shù)據(jù)庫(kù) 進(jìn)行操作,因而比較靈活。 (3)、可擴(kuò)充性 Visual Basic 是一種可以擴(kuò)充的語(yǔ)言,其中包括在數(shù)據(jù)庫(kù) 應(yīng)用方面的擴(kuò)充。在 Visual Basic 中,可以使用 ActiveX 控件 (以前版本中稱為 VBX 或 OLE 控件),這些控件可以由 Microsoft 公司提供,也可以由第三方開(kāi)發(fā)者提供。有了這些控件,可以 很容易地在 Visual Basic 中增加新功能,擴(kuò)充 Visual Basic 數(shù)據(jù)存取控制的指令系統(tǒng)。 用 Visual Basic 6.0 作為數(shù)據(jù)庫(kù) 前端,數(shù)據(jù)庫(kù)前端是一個(gè)計(jì)算機(jī)應(yīng)用程序,用該程序可以選擇 數(shù)據(jù)庫(kù)中的數(shù)據(jù)項(xiàng),并把所選擇的數(shù)據(jù)項(xiàng)按用戶的要求顯示出 來(lái)。數(shù)據(jù)庫(kù)系統(tǒng)本身被稱為后端,后端數(shù)據(jù)庫(kù)通常是一個(gè)關(guān)系 表的集合。之所以選擇 Visual Basic 作為開(kāi)發(fā)數(shù)據(jù)庫(kù)前端應(yīng)用 程序的工具,主要是因?yàn)?Visual Basic 可以和多種數(shù)據(jù)庫(kù)連接。 也就是說(shuō),目前較為流行的大多數(shù)數(shù)據(jù)庫(kù)都可以與 Visual Basic 連接,因而可以用 Visual Basic 開(kāi)發(fā)相應(yīng)的前端應(yīng)用程 序。Visual Basic 通過(guò)不同的方式與各種數(shù)據(jù)庫(kù)進(jìn)行連接,主 要有三種方式,即 Access 數(shù)庫(kù)引擎、MicrosoftODBC 驅(qū)動(dòng)程序、 第三方 ODBC 驅(qū)動(dòng)程序。 AAccess 數(shù)據(jù)庫(kù)引擎 Access 是 Visual Basic 的“內(nèi)部數(shù)據(jù)庫(kù)”,即在 Visual Basic 中可以直接建立 Access 數(shù)據(jù)庫(kù)。同時(shí),通過(guò) Access 數(shù) 據(jù)庫(kù)引擎,還可以使用下列數(shù)據(jù)庫(kù): Btrieve(.DAT) dBASE(.DBF/.NDX) Foxpro(.DbF/.CDX/.NDX) Paradox(.DB, .PX) BMicrosoft ODBC 通過(guò)Microsoft ODBC 驅(qū)動(dòng)程序,可以使用下列數(shù)據(jù)庫(kù): Microsoft SQL Server Oracle Sybase SQL Server Excel(.XLS) Text(.TXT) Access(.MDB) Btrieve DBASE FoxPro Paradox 上面所列的數(shù)據(jù)庫(kù)中,除前三種外,其余數(shù)據(jù)庫(kù)均包含在一 套 Microsoft ODBC 桌面數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序及 Microsoft Query 中。 1.3.21.3.2 數(shù)據(jù)庫(kù)查詢語(yǔ)言數(shù)據(jù)庫(kù)查詢語(yǔ)言SQLSQL Visual Basic是數(shù)據(jù)庫(kù)開(kāi)發(fā)的主要開(kāi)發(fā)工具,同時(shí)為了實(shí) 現(xiàn)查詢的功能以及系統(tǒng)的一些相關(guān)功能,SQL語(yǔ)言的使用也是必 不可少的,SQL語(yǔ)言即結(jié)構(gòu)查詢語(yǔ)句,SQL語(yǔ)言之所以能夠?yàn)橛?戶和業(yè)界所接受,成為國(guó)際標(biāo)準(zhǔn),是因?yàn)樗且粋€(gè)綜合的、通 用的、 功能極強(qiáng),同時(shí)簡(jiǎn)潔易學(xué)。SQL語(yǔ)言集數(shù)據(jù)查詢(data query)、 數(shù)據(jù)操縱(data manipulation) 、數(shù)據(jù)定義(data definition) 和數(shù)據(jù)控制(data control) 功能于一體,充分 體現(xiàn)了關(guān)系數(shù)據(jù)語(yǔ)言的特點(diǎn)和優(yōu)點(diǎn)。 其主要特點(diǎn)包括: ()綜合統(tǒng)一 主要功能是通過(guò)數(shù)據(jù)庫(kù)支持的數(shù)據(jù)語(yǔ)言來(lái)實(shí)現(xiàn)的。 非關(guān)系模型(層次模型, 網(wǎng)狀模型)的數(shù)據(jù)語(yǔ)言一般都 分為模式數(shù)據(jù)定義語(yǔ)言(schema data definition language , 簡(jiǎn)稱模式DDL),外模式數(shù)據(jù)定義語(yǔ)言(subschema data definition language,簡(jiǎn)稱外模式DDL)與數(shù)據(jù)存儲(chǔ)有關(guān)的描述 語(yǔ)言(data storage de-scription language,簡(jiǎn)稱DSDL)以及數(shù) 據(jù)操縱語(yǔ)言(data manipualtion language,簡(jiǎn)稱DML) ,分別 于定義模式, 外模式,內(nèi)模式和進(jìn)行數(shù)據(jù)的存取與處置。當(dāng)用 戶數(shù)據(jù)庫(kù)投入運(yùn)行后,如果需要修改模式,必須停止現(xiàn)有數(shù)據(jù) 庫(kù)的運(yùn)行,轉(zhuǎn)儲(chǔ)數(shù)據(jù),修改模式并編譯后再重裝數(shù)據(jù)庫(kù),因此 很麻煩。 ()高度非過(guò)程化 非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操縱語(yǔ)言是面向過(guò)程的語(yǔ)言,有 其完成某項(xiàng)請(qǐng)求,必須指定存取路徑。而用SQL語(yǔ)言進(jìn)行數(shù)據(jù) 操作,用戶只需提出“做什么”,而不必指明“怎么做”,因 此用戶無(wú)需了解存取路徑,存取路徑的選擇以及SQL語(yǔ)句的操作 過(guò)程均由系統(tǒng)自動(dòng)完成。這不但大大減輕了用戶負(fù)擔(dān),而且有 利于提高數(shù)據(jù)獨(dú)立性。 ()面向集合的操作方式 非關(guān)系數(shù)據(jù)模型采用的是面向記錄的操作方式,任何一 個(gè)操作其對(duì)象都是一條記錄。例如,查詢所有平均成績(jī)?cè)?分以上的學(xué)生姓名,用戶必須說(shuō)明完成該請(qǐng)示的具體處理過(guò)程, 即如何用循環(huán)結(jié)構(gòu)按照某條路徑一條一條地把滿足條件的學(xué)生 記錄讀出來(lái)。而SQL語(yǔ)言采用集合操作方式,不僅查找結(jié)果可以 是元組的集合,而且一次插入,刪除,更新操作的對(duì)象也可以 是元組的集合。 (4)語(yǔ)言簡(jiǎn)潔,易學(xué)易用 SQL 語(yǔ)言功能極強(qiáng),但由于設(shè)計(jì)巧妙,語(yǔ)言十分簡(jiǎn)潔,完 成數(shù)據(jù)定義,數(shù)據(jù)操縱,數(shù)據(jù)控制的核心功能只用了個(gè)動(dòng)詞: CREATE、DROP、SELECT、ENSERT、UP- DATE、DELETE、GRANT、REVOKE、ALTER.而且SQL語(yǔ)言語(yǔ)法簡(jiǎn)單, 接近英語(yǔ)口語(yǔ),因此容易學(xué)習(xí),容易使用。 1.3.31.3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)工具數(shù)據(jù)庫(kù)設(shè)計(jì)工具ACCESSACCESS 數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng) ACCESS 數(shù)據(jù)庫(kù)是個(gè)人、部門及企業(yè)管理數(shù)據(jù)的最易操作的 新一代數(shù)據(jù)庫(kù)。它兼容傳統(tǒng)的數(shù)據(jù)庫(kù),同時(shí)進(jìn)一步增強(qiáng)了 web 支 持??梢苑浅7奖愕乜缙脚_(tái)作業(yè)和共享數(shù)據(jù)。 ACCESS 具有一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)所應(yīng)具有的功能。Access 2000 是一個(gè)面向?qū)ο蟮牟捎脮r(shí)間驅(qū)動(dòng)機(jī)制的新型關(guān)系數(shù)據(jù)庫(kù)管 理系統(tǒng)。它可以通過(guò) ODBC 與其他數(shù)據(jù)庫(kù)相連, 實(shí)現(xiàn)數(shù)據(jù)交換與 共享數(shù)據(jù)庫(kù)是進(jìn)行信息管理的基礎(chǔ)。利用計(jì)算機(jī)進(jìn)行信息管理首 先要建立數(shù)據(jù)庫(kù)。ACCESS 2000 可以用作企業(yè)級(jí)后端數(shù)據(jù)庫(kù)(如 Microsoft SQL Server)的前臺(tái)客戶端。ACCESS 有兩種使用方 式:作為創(chuàng)建個(gè)人或部門數(shù)據(jù)庫(kù)的獨(dú)立應(yīng)用程序,或作為更強(qiáng)健、 更具擴(kuò)展性的后端數(shù)據(jù)庫(kù)的接口客戶端。不論選用了何種后端數(shù) 據(jù)源,最終用戶都將得到使用流行的桌面數(shù)據(jù)庫(kù)客戶端時(shí)易于使 用的好處。 1、 信息查找和使用更容易的特征 (1)將數(shù)據(jù)庫(kù)轉(zhuǎn)換成以前的 ACCESS 版本,ACCESS 用戶首先可 以將數(shù)據(jù)庫(kù)保存為以前的 ACCESS 版本,是不同版本的軟件用戶 共享數(shù)據(jù)更加方便。 (2)對(duì)數(shù)據(jù)庫(kù)窗口進(jìn)行更改,以便容納在 ACCESS 2000 種現(xiàn)實(shí) 的新對(duì)象,這樣可以提高可用性,并使其同整個(gè) OFFICE 2000 所使用的新用戶界面相一致。 (3)名稱自動(dòng)更正特征能夠自動(dòng)解決用戶重命名數(shù)據(jù)庫(kù)對(duì)象時(shí) 所產(chǎn)生的不匹配問(wèn)題。例如,當(dāng)用戶重命名表中的字段時(shí),更 改將被自動(dòng)傳遞到相關(guān)的對(duì)象(例如查詢和窗體),以便用戶可 以繼續(xù)使用應(yīng)用程序。 (4)條件格式支持負(fù)數(shù)和正數(shù),并可以將表示成小于、大于、 介于和等于的值。此外,用戶還可以根據(jù)用戶定義函數(shù)設(shè)置格 式。用戶可以根據(jù)值設(shè)置顏色、背景、樣式。 (5)子數(shù)據(jù)表提供數(shù)據(jù)綱要,以在同一窗口中查看和編輯所有 相關(guān)數(shù)據(jù)。 (6)用戶可以將數(shù)據(jù)從 Microsoft Access 導(dǎo)出到 Microsoft Excel,方法是將 Access 對(duì)象(表格、查詢等)從數(shù)據(jù)庫(kù)容器 拖放到 Microsoft Excel。這提供了一種將數(shù)據(jù)迅速導(dǎo)出到 Excel 進(jìn)行進(jìn)一步分析的快速方法。 (7)直接從“窗體”視圖更改字段(例如,顏色或字體)更方 便了。 (8)Access 具有打印“關(guān)系”窗口的視覺(jué)圖表的能力,可讓用 戶更加方便地查看數(shù)據(jù)庫(kù)的結(jié)構(gòu)。 (9)控件分組特性允許用戶將控件作為單個(gè)單元進(jìn)行分組,使 窗體的設(shè)計(jì)更容易。 (10)在關(guān)閉文件時(shí),如果占用磁盤空間太多,Access 2000 會(huì) 自動(dòng)壓縮數(shù)據(jù)庫(kù)。這可以確保使 Access 數(shù)據(jù)庫(kù)盡可能地小。 2、 具有 Web 特性的信息共享特性 3、 豐富的信息管理分析工具 (1)Microsoft Access 2000 支持 OLE DB,允許用戶將 Access 界面的易用性和企業(yè)后端數(shù)據(jù)庫(kù)(例如,Microsoft SQL Server)的可伸縮性結(jié)合起來(lái)。 (2)Access 界面可以創(chuàng)建一種新的文本類型(.adp) ,該文件類 型可直接連接到 Microsoft 數(shù)據(jù)庫(kù)引擎(MSDE)和 Office 中與 SQL 服務(wù)器兼容的數(shù)據(jù)存儲(chǔ)區(qū)、SQL Server6.5 或 SQL Server7.0。這使用戶可以方便地利用 Access 中熟悉的界面來(lái) 創(chuàng)建真正的客戶端服務(wù)器應(yīng)用程序。 (3)(新的設(shè)計(jì)工具允許用戶在處理 Microsoft Access 項(xiàng)目文 件( .adp)時(shí),方便地創(chuàng)建和管理服務(wù)器端的對(duì)象,其中包括 表格、視圖、存儲(chǔ)的過(guò)程和數(shù)據(jù)庫(kù)圖表。 (4)Microsoft Access 2000 允許用戶執(zhí)行和管理普通 Microsoft SQL Server7.0 管理任務(wù),例如復(fù)制、備份與恢復(fù)、 以及完全性。 第二章第二章 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì) 2.12.1 系統(tǒng)分析系統(tǒng)分析 系統(tǒng)分析的任務(wù)是明確教材數(shù)據(jù)庫(kù)管理系統(tǒng)開(kāi)發(fā)的目的、系統(tǒng) 應(yīng)用的功能等,主要有以下步驟: 1. 軟件結(jié)構(gòu)分析 對(duì)于大型系統(tǒng)的設(shè)計(jì),通常分為兩個(gè)階段:結(jié)構(gòu)設(shè)計(jì)和過(guò)程設(shè) 計(jì)。 結(jié)構(gòu)設(shè)計(jì):確定系統(tǒng)由哪些模塊組成,以及這些模塊之間的相 互關(guān)系。 過(guò)程設(shè)計(jì):確定每個(gè)模塊的處理過(guò)程 。其中,結(jié)構(gòu)設(shè)計(jì)是總 體設(shè)計(jì)階段的任務(wù),而過(guò)程設(shè)計(jì)則是詳細(xì)設(shè)計(jì)階段的任務(wù)。這里 只是一個(gè)小型的數(shù)據(jù)庫(kù)管理系統(tǒng),只分析構(gòu)成它們最基本的成分 以及所有這些成分之間的相互關(guān)系。結(jié)構(gòu)分析就是系統(tǒng)分析人員 對(duì)完成任務(wù)的每一個(gè)工序進(jìn)行分析的過(guò)程。 這里只畫(huà)出其結(jié)構(gòu)的業(yè)務(wù)流程與數(shù)據(jù)流成圖,如圖 2-1, 2- 2 教材預(yù)訂 教材入庫(kù) 教材發(fā)放 教材賬務(wù) 預(yù)訂查詢 入庫(kù)查詢 庫(kù)存查詢 帳務(wù)查詢 圖 2-1 業(yè)務(wù)流程圖 圖 2-2 數(shù)據(jù)流程圖 系統(tǒng)開(kāi)發(fā)的過(guò)程首先是要確定需要建立的表格以及視圖,即 首先完成數(shù)據(jù)庫(kù)的設(shè)計(jì),這個(gè)過(guò)程主要是通過(guò) Access 的使用完成 的;其次,就是進(jìn)行界面的設(shè)計(jì),這個(gè)過(guò)程是在 VB 中完成的,它 是系統(tǒng)開(kāi)發(fā)中比較重要的一步,系統(tǒng)界面在用戶對(duì)軟件的評(píng)價(jià)中 占有很大的比重,影響到本次開(kāi)發(fā)的成功與否,所以在后面將有 專門一部分論述界面設(shè)計(jì)。最后就是功能編碼功能的實(shí)現(xiàn)了,作 為一個(gè)程序員來(lái)說(shuō),這一部分的工作相對(duì)簡(jiǎn)單,需要注意的主要 是 SQL 語(yǔ)言在程序中的嵌套以及部分 API 函數(shù)的調(diào)用。 2. 工作量分析 對(duì)工作量的分析,是以分析傳統(tǒng)教材管理系統(tǒng)的各種工作量為 基礎(chǔ)的。分析包括輸入量分析,輸出量分析,文檔結(jié)構(gòu),程序編 制,調(diào)試狀況分析,一般有: (1)問(wèn)題分析與綜合 (2)數(shù)據(jù)庫(kù)組織與結(jié)構(gòu)的分析 (3)文檔結(jié)構(gòu)分析與編制 (4)子系統(tǒng)處理過(guò)程分析 (5)書(shū)目記錄的種類分析 (6)與用戶充分交流的分析 (7)輸出產(chǎn)品的種類格式分 (8)程序編制、調(diào)試狀況分析 (9)軟件測(cè)試對(duì)象的分析 2.22.2 系統(tǒng)流程和操作方式設(shè)計(jì)系統(tǒng)流程和操作方式設(shè)計(jì) 教材管理系統(tǒng)的工作流程建立在傳統(tǒng)手工工作流程的基礎(chǔ)上, 但又不能完全等同于手工工作流程。因?yàn)榻滩墓芾硐到y(tǒng)畢竟不同 于傳統(tǒng)手工作業(yè),從效率上來(lái)說(shuō),前者也高于后者,前者只需要 少量的人工干預(yù)就能夠?qū)崿F(xiàn)教材信息的集中管理。 首先,在流程安排上應(yīng)盡量避免數(shù)據(jù)的重復(fù)輸入,實(shí)現(xiàn)從采 購(gòu)到發(fā)放一次輸入的數(shù)據(jù)得到多次使用,以提高系統(tǒng)的工作效率。 這一步很大程度依賴于數(shù)據(jù)庫(kù)的設(shè)計(jì)。 其次,選擇合適的操作方式。計(jì)算機(jī)系統(tǒng)操作方式有兩種: 一種是聯(lián)機(jī)操作方式,即人機(jī)交互方式 ;另一種是脫機(jī)操作方式, 它是將事先設(shè)計(jì)好的一套操作程序以作業(yè)的形式提交給計(jì)算機(jī), 由計(jì)算機(jī)依托幾批處理的方式完成這套操作,并將處理結(jié)果通過(guò) 系統(tǒng)打印輸出。本次設(shè)計(jì)的教材管理系統(tǒng)屬于第一種操作方式, 需要用戶輸入信息完成操作。之所以采用這種方式,主要是考慮 到此數(shù)據(jù)庫(kù)管理系統(tǒng)的實(shí)時(shí)性需求,因?yàn)閿?shù)據(jù)庫(kù)隨時(shí)可能都需要 得到改變。 第三章第三章 系統(tǒng)界面設(shè)計(jì)系統(tǒng)界面設(shè)計(jì) 3.13.1 系統(tǒng)界面設(shè)計(jì)系統(tǒng)界面設(shè)計(jì) 1、 為了設(shè)計(jì)出符合一般標(biāo)準(zhǔn)又具有特色的界面,系統(tǒng)開(kāi)發(fā)時(shí)要 遵循以下開(kāi)發(fā)原則: (1) 保證界面設(shè)計(jì)的風(fēng)格具有一致性。 (2) 界面設(shè)計(jì)時(shí),控件的擺放要協(xié)調(diào)和勻稱。 (3) 常用操作(如教材管理、查詢 、打印等操作)應(yīng)建立 快捷方式,方便管理員日常操作。 (4) 提供信息反饋,對(duì)一些不常見(jiàn)的操作和至關(guān)重要的操作, 系統(tǒng)應(yīng)該能反饋信息。 (5) 提供錯(cuò)誤處理信息,在出現(xiàn)錯(cuò)誤時(shí),系統(tǒng)應(yīng)該能檢測(cè)出 錯(cuò)誤并提供錯(cuò)誤處理的功能;錯(cuò)誤出現(xiàn)后,系統(tǒng)的狀態(tài) 不發(fā)生變化,或者系統(tǒng)要提供錯(cuò)誤恢復(fù)的向?qū)А?(6)為了方便管理員的管理應(yīng)設(shè)置工具欄和狀態(tài)欄。 系統(tǒng)的總體設(shè)計(jì),預(yù)訂需要設(shè)計(jì)幾個(gè)具有主要功能的窗 體,其中系統(tǒng)主要功能界面是最主要的,是設(shè)計(jì)的重點(diǎn)。該界 面上包括了系統(tǒng)的功能查詢以及觸發(fā)其他單項(xiàng)功能界面的快捷 方式,如教材管理、查詢、打印與報(bào)表等。 2、系統(tǒng)結(jié)構(gòu) 本系統(tǒng)是以教材管理業(yè)務(wù)為原型設(shè)計(jì)開(kāi)發(fā)的,教材科的日 常業(yè)務(wù)大體上有如下幾項(xiàng): (1) 教材預(yù)訂。教材的預(yù)訂工作基本上是由系、部來(lái)完成。 教材科將教材征訂通知下發(fā)到各系、(輪流傳閱), 各系從中選訂所開(kāi)課程的教材,填寫預(yù)訂單,經(jīng)系、 部匯總報(bào)教材科。教材科匯總報(bào)教務(wù)處審批后,編制 填寫正式訂單寄發(fā)到各出版社。 (2) 教材入庫(kù)業(yè)務(wù)。出版社按訂單如期如數(shù)發(fā)書(shū),教材科 查收入庫(kù)。 (3) 教材發(fā)放。按預(yù)訂數(shù)量發(fā)放專業(yè)和年級(jí)用書(shū)。通常是 以系、班級(jí)為單位領(lǐng)進(jìn)行領(lǐng)書(shū)。 (4) 查詢,這項(xiàng)工作包括四項(xiàng)內(nèi)容,其一是預(yù)訂查詢及時(shí) 了解各系教材的訂購(gòu)情況;再就是入庫(kù)查詢及時(shí)掌握 入庫(kù)情況;第三是庫(kù)存查詢情況;第四是帳務(wù)查詢, 主要記錄學(xué)生、班級(jí)、教師領(lǐng)教材的詳細(xì)情況。 (5) 打印與報(bào)表,主要用于訂書(shū)、購(gòu)書(shū)、發(fā)書(shū)清單的打印。 (6) 系統(tǒng)管理主要包括用戶、密碼的更改,學(xué)生信息管理 和數(shù)據(jù)庫(kù)的維護(hù)。 (7) 選項(xiàng)和系統(tǒng)幫助能使用戶快速得到幫助。 3、教材管理系統(tǒng)功能模塊設(shè)計(jì)圖 根據(jù)上述我們對(duì)教材管理業(yè)務(wù)流程和數(shù)據(jù)流程的調(diào)查分析, 并根據(jù)模塊劃分原則,同時(shí)考慮到用戶對(duì)新系統(tǒng)的易學(xué)易用性, 我們將新系統(tǒng)劃分為如 3-1 圖所示的功能模塊結(jié)構(gòu): 圖 3-1 功能模塊結(jié)構(gòu) 3.23.2 系統(tǒng)的界面及窗體系統(tǒng)的界面及窗體 3.2.13.2.1 下面是系統(tǒng)的主要窗體下面是系統(tǒng)的主要窗體 圖圖 3-23-2 登錄窗口登錄窗口 圖圖 3-33-3 系統(tǒng)界面系統(tǒng)界面 當(dāng)系統(tǒng)管理員想進(jìn)入系統(tǒng)時(shí),在登錄窗體(圖 3-2)中輸入用戶 名和密碼,點(diǎn)擊確定按鈕,就可進(jìn)入教材管理系統(tǒng)的主窗體界面 (圖 3-3),管理員就可以進(jìn)行如下的工作: (1) 通過(guò)訂書(shū)單來(lái)確定所需要訂的書(shū)。 (2)把訂書(shū)單和庫(kù)存做比較得出還需要訂閱的書(shū)的名稱、數(shù)量 等。 (3)把所需要訂閱書(shū)導(dǎo)出到訂書(shū)表,通過(guò)訂書(shū)表向各出版社訂 書(shū)。 (4)等所需要的書(shū)到了,把它們進(jìn)入庫(kù)存,更新庫(kù)存數(shù)據(jù)庫(kù)。 (5)比較新庫(kù)存和訂書(shū)單,導(dǎo)出各學(xué)生,各班級(jí),各系的發(fā) 報(bào)表。 (6)按照發(fā)書(shū)報(bào)表進(jìn)行發(fā)書(shū),更新庫(kù)存,并備份原來(lái)的庫(kù)存, 比較一下是否有錯(cuò)。 (7)按照學(xué)生的發(fā)書(shū)報(bào)表發(fā)書(shū),并把各學(xué)生的領(lǐng)書(shū)清單打印發(fā) 給學(xué)生。 用戶界面是開(kāi)發(fā)應(yīng)用程序的最主要的組成部分,用戶界面設(shè) 計(jì)的優(yōu)劣決定了應(yīng)用程序的 易用性、易操作性,基于 windows 應(yīng)用程序的用戶界面的樣式主要有兩大類:?jiǎn)挝臋n界面(SDI) 和多文檔界面(MDI) 。采用單文檔還是多文檔要看應(yīng)用程序的 目的如本例就是用的多文檔(MDI)的樣式,因?yàn)橐粋€(gè)處理教材 管理的用戶很可能會(huì)同時(shí)進(jìn)行幾種操作,這樣用戶就可以在不 同的窗口進(jìn)行切換操作。 3.2.2 界面多文檔(界面多文檔(MDIMDI)frmDMIfrmDMI 的設(shè)計(jì)及代碼的設(shè)計(jì)及代碼 1、frmDMI 窗體是系統(tǒng)的主窗體(圖 3-3) ,這里是用戶 最常用的部分其代碼為 Private Declare Function GetMenu Lib “user32“ (ByVal hwnd As Long) As Long Private Declare Function GetSubMenu Lib “user32“ (ByVal hMenu As Long, ByVal nPos As Long) As Long Private Declare Function SetMenuItemBitmaps Lib “user32“ (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long Const MF_BYPOSITION = “ Jet OLEDB:Database Password=*;“ db.Open strConn Set adoPrimaryRS = New Recordset adoPrimaryRS.Open “select * from xsxxb Order by 學(xué) 號(hào)“, db, adOpenStatic, adLockOptimistic Set grdDataGrid.DataSource = adoPrimaryRS mbDataChanged = False End Sub Private Sub Form_Resize() On Error Resume Next 當(dāng)窗體調(diào)整時(shí)會(huì)調(diào)整網(wǎng)格 grdDataGrid.Height = Me.ScaleHeight - 30 - picButtons.Height - picStatBox.Height lblStatus.Width = Me.Width - 1500 cmdNext.Left = lblStatus.Width + 700 cmdLast.Left = cmdNext.Left + 340 End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If mbEditFlag Or mbAddNewFlag Then Exit Sub Select Case KeyCode Case vbKeyEscape cmdclose_Click Case vbKeyEnd cmdlast_Click Case vbKeyHome cmdfirst_Click Case vbKeyUp, vbKeyPageUp If Shift = vbCtrlMask Then cmdfirst_Click Else cmdPrevious_Click End If Case vbKeyDown, vbKeyPageDown If Shift = vbCtrlMask Then cmdlast_Click Else cmdnext_Click End If End Select End Sub Private Sub Form_Unload(Cancel As Integer) Screen.MousePointer = vbDefault End Sub Private Sub adoPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) 為這個(gè) recordset 顯示當(dāng)前記錄位置 lblStatus.Caption = “第“ & CStr(adoPrimaryRS.AbsolutePosition) & “條記錄“ lblStatus.ForeColor = &HFF End Sub te Sub adoPrimaryRS_WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) 驗(yàn)證代碼置于此處 下列動(dòng)作發(fā)生時(shí)該事件被調(diào)用 Dim bCancel As Boolean Select Case adReason Case adRsnAddNew Case adRsnClose Case adRsnDelete Case adRsnFirstChange Case adRsnMove Case adRsnRequery Case adRsnResynch Case adRsnUndoAddNew Case adRsnUndoDelete Case adRsnUndoUpdate Case adRsnUpdate End Select If bCancel Then adStatus = adStatusCancel End Sub Sub cmdadd_Click() On Error GoTo AddErr adoPrimaryRS.MoveLast adoPrimaryRS.AddNew grdDataGrid.SetFocus Exit Sub AddErr: MsgBox Err.Description End Sub Private Sub cmdDelete_Click() On Error GoTo DeleteErr With adoPrimaryRS .Delete .MoveNext If .EOF Then .MoveLast End With Exit Sub DeleteErr: MsgBox Err.Description End Sub Private Sub cmdRefresh_Click() 只有多用戶應(yīng)用程序需要 On Error GoTo RefreshErr Set grdDataGrid.DataSource = Nothing adoPrimaryRS.Requery Set grdDataGrid.DataSource = adoPrimaryRS Exit Sub RefreshErr: MsgBox Err.Description End Sub Private Sub cmdEdit_Click() On Error GoTo EditErr lblStatus.Caption = “編輯記錄“ mbEditFlag = True SetButtons False Exit Sub EditErr: MsgBox Err.Description End Sub Private Sub cmdcancel_Click() On Error Resume Next SetButtons True mbEditFlag = False mbAddNewFlag = False adoPrimaryRS.CancelUpdate If mvBookMark 0 Then adoPrimaryRS.Bookmark = mvBookMark Else adoPrimaryRS.MoveFirst End If mbDataChanged = False End Sub Private Sub cmdupdate_Click() On Error GoTo UpdateErr adoPrimaryRS.UpdateBatch adAffectAll If mbAddNewFlag Then adoPrimaryRS.MoveLast 移到新記錄 End If mbEditFlag = False mbAddNewFlag = False SetButtons True mbDataChanged = False Exit Sub UpdateErr: MsgBox Err.Description End Sub Private Sub cmdclose_Click() Unload Me End Sub Private Sub cmdfirst_Click() On Error GoTo GoFirstError adoPrimaryRS.MoveFirst mbDataChanged = False Exit Sub tError: MsgBox Err.Description End Sub Private Sub cmdlast_Click() On Error GoTo GoLastError rimaryRS.MoveLast mbDataChanged = False Exit Sub tError: MsgBox Err.Description End Sub Private Sub cmdnext_Click() On Error GoTo GoNextError If Not adoPrimaryRS.EOF Then adoPrimaryRS.MoveNext If adoPrimaryRS.EOF And adoPrimaryRS.RecordCount 0 Then Beep 已到最后返回 adoPrimaryRS.MoveLast End If 顯示當(dāng)前記錄 mbDataChanged = False Exit Sub GoNextError: MsgBox Err.Description End Sub Private Sub cmdPrevious_Click() On Error GoTo GoPrevError If Not adoPrimaryRS.BOF Then adoPrimaryRS.MovePrevious If adoPrimaryRS.BOF And adoPrimaryRS.RecordCount 0 Then Beep 已到最后返回 adoPrimaryRS.MoveFirst End If 顯示當(dāng)前記錄 mbDataChanged = False Exit Sub GoPrevError: MsgBox Err.Description End Sub Private Sub SetButtons(bVal As Boolean) cmdAdd.Visible = bVal cmdEdit.Visible = bVal cmdUpdate.Visible = Not bVal cmdCancel.Visible = Not bVal cmdDelete.Visible = bVal cmdClose.Visible = bVal cmdRefresh.Visible = bVal cmdNext.Enabled = bVal cmdFirst.Enabled = bVal cmdLast.Enabled = bVal cmdPrevious.Enabled = bVal End Sub 3、 密碼更改-通過(guò)用戶對(duì)自己的密碼進(jìn)行修改如圖 3-6 圖 3-6 其代碼如下: Private Sub cmdOk_Click() Set DbRs = New ADODB.Recordset If txtSecond.Text 0 Then recordset5.MoveFirst While Not recordset5.EOF If recordset5.Fields(“班級(jí)“).Value = cbbxclass.Text Then num = num + 1 End If recordset5.MoveNext Wend End If txtnum.Text = num End Sub(詳細(xì)的代碼見(jiàn)源程序) 6、查詢 查詢是本系統(tǒng)的重點(diǎn)部分之一,系統(tǒng)功能的強(qiáng)大與否與數(shù) 據(jù)庫(kù)的的查詢有密切的關(guān)系如圖 3-10、3-11 圖 3-10 圖 3-11 這里的查詢條件:發(fā)票號(hào)碼、書(shū)名、入書(shū)日期、經(jīng)手人、選 擇那個(gè)字段就可以對(duì)那個(gè)字段進(jìn)行查詢,可以復(fù)合查詢。 以上只是對(duì)多文檔(MDI)的部分窗體的說(shuō)明詳細(xì)請(qǐng)參見(jiàn) “系統(tǒng)幫助”部分 第四章第四章 數(shù)據(jù)庫(kù)的設(shè)計(jì)數(shù)據(jù)庫(kù)的設(shè)計(jì) 4.14.1 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)設(shè)計(jì)的主要任務(wù)是在 SBMS(database management system)的支持下,按照應(yīng)用的要求,數(shù)據(jù)結(jié)構(gòu)的好壞將直接影響 到系統(tǒng)的效率以及實(shí)現(xiàn)的效果。好的數(shù)據(jù)庫(kù)結(jié)構(gòu)會(huì)減少數(shù)據(jù)庫(kù)的 存儲(chǔ)量、冗余度,數(shù)據(jù)的完整性和一致性比較高,系統(tǒng)具有較快 的響應(yīng)速度,簡(jiǎn)化基于數(shù)據(jù)庫(kù)的應(yīng)用程序的實(shí)現(xiàn)方法等。 4.1.14.1.1 數(shù)據(jù)庫(kù)概念和發(fā)展數(shù)據(jù)庫(kù)概念和發(fā)展 數(shù)據(jù)庫(kù)是存儲(chǔ)在計(jì)算機(jī)內(nèi)、有組織的、可共享的數(shù)據(jù)集合, 是許多應(yīng)用軟件的核心。數(shù)據(jù)庫(kù)是專指使用管理系統(tǒng)及其類似軟 件建立起來(lái)的并由數(shù)據(jù)庫(kù)管理系統(tǒng)及類似軟件所能存取和維護(hù)的 數(shù)據(jù)及數(shù)據(jù)間邏輯關(guān)系的集合體 眾所周知,數(shù)據(jù)庫(kù)系統(tǒng)不是在計(jì)算機(jī)產(chǎn)生的同時(shí)就出現(xiàn)的, 而是隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,在特定的歷史時(shí)期、特定的需 求環(huán)境下出現(xiàn)的。人類在 1946 年發(fā)明了世界上的第一臺(tái)計(jì)算機(jī)到 20 世紀(jì) 60 年代這漫長(zhǎng)的 20 年里,計(jì)算機(jī)操作系統(tǒng)還主要局限于 文件的操作,同樣,對(duì)數(shù)據(jù)的管理也主要是通過(guò)文件系統(tǒng)來(lái)實(shí)現(xiàn)。 進(jìn)行計(jì)算所需要的各種數(shù)據(jù)存放在各自的文件里面。當(dāng)要使用這 些數(shù)據(jù)的時(shí)候,將文件打開(kāi),計(jì)算機(jī)操作系統(tǒng)中的文件系統(tǒng)一般 不支持對(duì)文件的并發(fā)訪問(wèn)。而在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,為了充分發(fā) 揮計(jì)算機(jī)系統(tǒng)的資源使用效率,一般都允許多個(gè)程序“同時(shí)”運(yùn) 行,即并發(fā)性。對(duì)數(shù)據(jù)庫(kù)系統(tǒng)提出了新的要求。 七十年代初,E.F.Codd 在總結(jié)前面的層次、網(wǎng)狀數(shù)據(jù)庫(kù)優(yōu)缺 點(diǎn)的基礎(chǔ)上,提出了關(guān)系數(shù)據(jù)模型的概念。他提出了關(guān)系代數(shù)和 關(guān)系演算。整個(gè)七十年代,關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)無(wú)論從理論上還是實(shí) 踐上都取得了豐碩的成果。在理論上,確立了完整的關(guān)系模型理 論、數(shù)據(jù)依賴?yán)碚摵完P(guān)系數(shù)據(jù)庫(kù)的設(shè)計(jì)理論等,這些關(guān)系數(shù)據(jù)庫(kù); 在實(shí)踐上,世界上出現(xiàn)了很多著名的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),比較著名 的如 System R,INGRES,Oracle 等。 進(jìn)入二十世紀(jì)八十年代之后,計(jì)算機(jī)硬件技術(shù)有了飛速的提 高。計(jì)算機(jī)技術(shù)的提高促使計(jì)算機(jī)應(yīng)用不斷深入,產(chǎn)生了許多新 的應(yīng)用領(lǐng)域,例如計(jì)算機(jī)輔助設(shè)計(jì)、計(jì)算機(jī)輔助制造、計(jì)算機(jī)輔 助教學(xué)、辦公自動(dòng)化、智能信息處理、決策支持等。這些新的領(lǐng) 域?qū)?shù)據(jù)庫(kù)系統(tǒng)提出了新的要求。但是由于應(yīng)用的多元化,不能 設(shè)計(jì)出一個(gè)統(tǒng)一的數(shù)據(jù)模型來(lái)表示這些新型的數(shù)據(jù)及其相互關(guān)系, 因而出現(xiàn)了百家爭(zhēng)鳴的局面,產(chǎn)生了演繹數(shù)據(jù)庫(kù)、面向?qū)ο髷?shù)據(jù) 庫(kù)、分布式數(shù)據(jù)庫(kù)、工程數(shù)據(jù)庫(kù)、時(shí)態(tài)數(shù)據(jù)庫(kù)、模糊數(shù)據(jù)庫(kù)等新 型數(shù)據(jù)庫(kù)的研究和應(yīng)用。 不過(guò)到目前為止,在世界范圍內(nèi)得到主流應(yīng)用的還是經(jīng)典的 關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),比較知名的如 Sybase,Oracle,Informix,SQL Server,DB2 等。 4.1.24.1.2 數(shù)據(jù)庫(kù)模型及參照完整性數(shù)據(jù)庫(kù)模型及參照完整性 數(shù)據(jù)庫(kù)模型是數(shù)據(jù)庫(kù)系統(tǒng)的核心和基礎(chǔ),通常由數(shù)據(jù)結(jié)構(gòu)、 數(shù)據(jù)操作和完整性約束三部分組成。其中數(shù)據(jù)結(jié)構(gòu)是所研究的對(duì) 象類型的集合,在數(shù)據(jù)庫(kù)系統(tǒng)中通常按照數(shù)據(jù)庫(kù)結(jié)構(gòu)的類型來(lái)命 名數(shù)據(jù)模型,傳統(tǒng)的數(shù)據(jù)模型有層次模型,網(wǎng)狀模型和關(guān)系模型。 數(shù)據(jù)庫(kù)操作是對(duì)數(shù)據(jù)庫(kù)中的實(shí)例允許執(zhí)行的操作的集合。數(shù)據(jù)庫(kù) 主要有檢索和更新兩大類操作,數(shù)據(jù)庫(kù)的約束條件是完整性規(guī)則 的集合,保證數(shù)據(jù)完整性是對(duì)數(shù)據(jù)庫(kù)的一個(gè)很重要的要求,所謂 完整性就是數(shù)據(jù)的正確性、有效性和相容性。 按照數(shù)據(jù)模型的特點(diǎn),可將傳統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)分為網(wǎng)狀數(shù)據(jù)庫(kù), 層次數(shù)據(jù)庫(kù)和關(guān)系數(shù)據(jù)庫(kù)。 本系統(tǒng)的數(shù)據(jù)模型采用關(guān)系數(shù)據(jù)庫(kù)模型。關(guān)系模型有下列一 些優(yōu)點(diǎn): 1數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單 關(guān)系模型中,所謂的數(shù)據(jù)模型不過(guò)是一些表格框架,其中 公共的屬性名指示著各表間的聯(lián)系。 2可以直接處理多對(duì)多的關(guān)系 由于用表格數(shù)據(jù)直接表示兩實(shí)體間的聯(lián)系,因此能夠直接 處理多對(duì)多的關(guān)系。 3能夠一次提供一個(gè)元組集合 每一個(gè)查找命令都可以找到滿足某種條件的所有記錄。 4數(shù)據(jù)獨(dú)立性高 關(guān)系模型中,用戶只指出他所要存放的數(shù)據(jù)類型、數(shù)據(jù)長(zhǎng) 度等數(shù)據(jù)本身的特性,而不需要設(shè)計(jì)這些數(shù)據(jù)的物理存放,因 而數(shù)據(jù)獨(dú)立性較高。 數(shù)據(jù)庫(kù)領(lǐng)域的專家們進(jìn)行了關(guān)系理論的研究,這些工作使 得關(guān)系理論趨于完善,而且也促進(jìn)了其它軟件分支如軟件工程 的發(fā)展。 當(dāng)然,關(guān)系模型也有它自己的缺點(diǎn),主要有: (1) 查詢效率較低 關(guān)系模型的 DBMS 能夠提供較高的數(shù)據(jù)獨(dú)立性以及非過(guò) 程化的查詢語(yǔ)言,因此系統(tǒng)的負(fù)擔(dān)就很重,過(guò)去要程序員 完成的任務(wù),例如尋找最佳的存取路徑等工作,現(xiàn)在全部 由系統(tǒng)包辦代替。這里面最影響效率的操作是進(jìn)行笛卡爾 積運(yùn)算和聯(lián)結(jié)運(yùn)算。 (2) 關(guān)系模型的系統(tǒng)要求應(yīng)用程序員和 DBA 應(yīng)熟悉關(guān)系數(shù) 據(jù)庫(kù)設(shè)計(jì)理論 關(guān)系 DBMS 要求關(guān)系模式是規(guī)范化的形式,以簡(jiǎn)化操作,避免 一系列的潛在問(wèn)題。 因此用戶必須熟悉這些理論。這一點(diǎn)對(duì)普及應(yīng)用有一定的影響。 4.1.34.1.3 數(shù)據(jù)庫(kù)的建立與連接數(shù)據(jù)庫(kù)的建立與連接 數(shù)據(jù)庫(kù)建立首先必須明確數(shù)據(jù)庫(kù)保存什么樣的數(shù)據(jù),然后設(shè) 計(jì)數(shù)據(jù)庫(kù),建立由字段組成的表,字段里定義要存儲(chǔ)的數(shù)據(jù)類型 表 5-1 帳務(wù)查詢表 字段名字?jǐn)?shù)據(jù)類型字段說(shuō)明 班級(jí)文本20 個(gè)字符 學(xué)號(hào)數(shù)字主鍵 姓名文本20 個(gè)字符 書(shū)名文本100 個(gè)字符 價(jià)格數(shù)字 數(shù)量數(shù)字 5-2 用戶表 字段名字類型 字段說(shuō)明 用戶權(quán)限文本 主鍵 用戶名文本 20 個(gè)字符 密碼字符 數(shù)據(jù)庫(kù)的建立代碼: Private Sub cmdInsertDb_Click() Dim fs, d, s Set fs = CreateObject(“Scripting.FileSystemObject“) d = App.Path & “book.mdb“ CommonDialog1.DialogTitle = “請(qǐng)選擇導(dǎo)入數(shù)據(jù)庫(kù)“ CommonDialog1.Filter = “Access2000 的數(shù)據(jù)庫(kù) (*.mdb) |*.mdb“ CommonDialog1.ShowOpen e = CommonDialog1.FileName If e = “ Then Exit Sub End If lblInfo.Caption = “正在導(dǎo)入數(shù)據(jù)庫(kù)“ Set dbConnection = Nothing Set dbRecordset = Nothing fs.copyfile e, d, True Form_Load lblInfo.Caption = “導(dǎo)入完成
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 推進(jìn)綠色發(fā)展助力經(jīng)開(kāi)區(qū)可持續(xù)發(fā)展
- 多元化發(fā)展:出版業(yè)跨界創(chuàng)新的新機(jī)遇
- 健美操教育體系改革與創(chuàng)新思考
- 抽水蓄能產(chǎn)業(yè)高質(zhì)量發(fā)展經(jīng)濟(jì)效益和社會(huì)效益
- 2025建筑工程外墻勞務(wù)分包合同范本
- 智能工業(yè)機(jī)械之路
- 游戲領(lǐng)軍創(chuàng)新驅(qū)動(dòng)
- 信息技術(shù)在農(nóng)村資源優(yōu)化配置中的應(yīng)用
- 2025簡(jiǎn)易監(jiān)控合同范本
- 四年級(jí)英語(yǔ)全攻略
- 2022年淮南市人民醫(yī)院醫(yī)護(hù)人員招聘筆試試題及答案解析
- 法定代表人、執(zhí)行董事董事長(zhǎng)、董事、監(jiān)事、經(jīng)理的任職文件
- 鐵路工程地質(zhì)勘查階段監(jiān)理工作總結(jié)
- 北師大版三年級(jí)數(shù)學(xué)下冊(cè)第七單元《數(shù)據(jù)的整理和表示》教案教學(xué)設(shè)計(jì)(優(yōu)質(zhì)完整)
- 高中地理區(qū)域地理南亞和印度(共36張)課件
- 密碼模塊安全檢測(cè)要求
- 吊籃保養(yǎng)記錄月檢
- (中職中專)發(fā)動(dòng)機(jī)構(gòu)造與維修完整版課件匯總?cè)珪?shū)電子教案(最新)
- 食堂安全管理、操作培訓(xùn)考試題與答案
- 工序單位能耗地計(jì)算方法、及企業(yè)噸鋼可比能耗計(jì)算方法
- 低溫早強(qiáng)耐久混凝土的集中拌和施工
評(píng)論
0/150
提交評(píng)論