畢業(yè)設(shè)計(jì)----藥品庫(kù)房管理系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩32頁(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)介

1、<p>  題目《藥品庫(kù)房管理系統(tǒng)》</p><p><b>  前言</b></p><p>  隨著互聯(lián)網(wǎng)的迅速普及,以及通過(guò)它所帶來(lái)的技術(shù)創(chuàng)新,信息時(shí)代正在向我們逼近,不但深刻地影響著我們的生活方式,而且正在改變我們的工作、貿(mào)易、思維以及彼此溝通的方式。</p><p>  電子商務(wù)正是在信息產(chǎn)業(yè)的蓬勃發(fā)展下異軍突起的一種新型商

2、務(wù)形式。關(guān)于電子商務(wù)的準(zhǔn)確定義,目前尚有不同看法,但大致可分為狹義與廣義的兩種。狹義:?jiǎn)沃鸽娮咏灰?,即在網(wǎng)上實(shí)現(xiàn)從商品訂貨、展示、促銷(xiāo)、查詢、銷(xiāo)售、到最后轉(zhuǎn)帳、清算、服務(wù)的全過(guò)程。廣義:指利用信息技術(shù)把商務(wù)活動(dòng)的各方如企業(yè)、合作者、消費(fèi)者、政府聯(lián)接起來(lái),進(jìn)行各種商務(wù)活動(dòng)。它包括企業(yè)內(nèi)部信息的交流與共享、企業(yè)與其合作伙伴的協(xié)同、電子交易三大部分的內(nèi)容。這里我們采用廣義的定義。</p><p>  把電子商務(wù)僅僅理解

3、為網(wǎng)上銷(xiāo)售(e-commerce)是片面的,事實(shí)上,目前電腦網(wǎng)絡(luò)應(yīng)用在企業(yè)內(nèi)部溝通與企業(yè)間協(xié)作上比應(yīng)用在對(duì)消費(fèi)者零售上普及的多,而且,現(xiàn)在企業(yè)的一切工作都是圍繞市場(chǎng)這一中心,企業(yè)銷(xiāo)售與企業(yè)內(nèi)部生產(chǎn),管理及與伙伴間的協(xié)作是密不可分的。通過(guò)網(wǎng)絡(luò)把企業(yè)、合作者、消費(fèi)者、政府等參與商務(wù)活動(dòng)的各方聯(lián)接為一個(gè)整體,進(jìn)行包括電子交易在內(nèi)的全部商業(yè)活動(dòng),才是電子商務(wù)的完整含義,它也被稱為"電子商業(yè)"(e-business)。<

4、/p><p>  電子商務(wù)可提供網(wǎng)上交易和管理等全過(guò)程的服務(wù)。因此,它具有廣告宣傳、咨詢洽談、網(wǎng)上定購(gòu)、 網(wǎng)上支付、電子賬戶、服務(wù)傳遞、意見(jiàn)征詢、交易管理等各項(xiàng)功能。</p><p>  按開(kāi)展電子交易的信息網(wǎng)絡(luò)范圍,電子商務(wù)可分為三類(lèi),即本地電子商務(wù)、遠(yuǎn)程國(guó)內(nèi)電子商務(wù)和全球電子商務(wù)。 </p><p>  1、本地電子商務(wù)通常是指利用本城市內(nèi)或本地區(qū)內(nèi)的信息網(wǎng)絡(luò)實(shí)現(xiàn)的

5、電子商務(wù)活動(dòng),電子交易的地 域范圍較小。本地電子商務(wù)系統(tǒng)是利用Internet、Intranet或?qū)S镁W(wǎng)將下列系統(tǒng)聯(lián)結(jié)在一起的網(wǎng)絡(luò) 系統(tǒng):一,參加交易各方的電子商務(wù)信息系統(tǒng),包括買(mǎi)方、賣(mài)方及其他各方的電子商務(wù)信息系統(tǒng); 二,銀行金融機(jī)構(gòu)電子信息系統(tǒng);三,保險(xiǎn)公司信息系統(tǒng);四,商品檢驗(yàn)信息系統(tǒng);五,稅務(wù)管 理信息系統(tǒng);六,貨物運(yùn)輸信息系統(tǒng);七,本地區(qū)EDI中心系統(tǒng)(實(shí)際上,本地區(qū)EDI中心系統(tǒng) 聯(lián)結(jié)各個(gè)信息系統(tǒng)的中心)。本地電子商務(wù)系統(tǒng)是

6、開(kāi)展有遠(yuǎn)程國(guó)內(nèi)電子商務(wù)和全球電子商務(wù)的基 礎(chǔ)系統(tǒng)。 </p><p>  2、遠(yuǎn)程國(guó)內(nèi)電子商務(wù)是指在本國(guó)范圍內(nèi)進(jìn)行的網(wǎng)上電子交易活動(dòng),其交易的地域范圍較大,對(duì)軟硬件和技術(shù)要求較高,要求在全國(guó)范圍內(nèi)實(shí)現(xiàn)商業(yè)電子化、自動(dòng)化,實(shí)現(xiàn)金融電子化,交易各方具備一定的電子商務(wù)知識(shí)、經(jīng)濟(jì)能力和技術(shù)能力,并具有一定的管理水平和能力等。 </p><p>  3、全球電子商務(wù)是指在全世界范圍內(nèi)進(jìn)行的電子交易活

7、動(dòng),參加電子交易各方通過(guò)網(wǎng)絡(luò)進(jìn)行貿(mào)易。 涉及到有關(guān)交易各方的相關(guān)系統(tǒng),如買(mǎi)方國(guó)家進(jìn)出口公司系統(tǒng)、海關(guān)系統(tǒng)、銀行金融系統(tǒng)、稅務(wù)系統(tǒng)、運(yùn)輸系統(tǒng)、保險(xiǎn)系統(tǒng)等。全球電子商務(wù)業(yè)務(wù)內(nèi)容繁雜,數(shù)據(jù)來(lái)往頻繁,要求電子商務(wù)系統(tǒng)嚴(yán)格、準(zhǔn)確、安全、可靠,應(yīng)制訂出世界統(tǒng)一的電子商務(wù)標(biāo)準(zhǔn)和電子商務(wù)(貿(mào)易)協(xié)議,使全球電子商務(wù)得到順利發(fā)展。</p><p>  一個(gè)完善的電子商務(wù)系統(tǒng)應(yīng)該包括哪些部分,目前還沒(méi)有權(quán)威的論述。從我們的實(shí)踐來(lái)看,

8、由于電 子商務(wù)覆蓋的范圍十分廣泛,因此必須針對(duì)具體的應(yīng)用才能描述清楚系統(tǒng)架構(gòu)。從總體上來(lái)看,電子商務(wù)系統(tǒng)是三層框架結(jié)構(gòu),底層是網(wǎng)絡(luò)平臺(tái),是信息傳送的載體和用戶接入的手段,它包括各種各樣的物理傳送平臺(tái)和傳送方式;中間是電子商務(wù)基礎(chǔ)平臺(tái),包括CA(Certificate Authority)認(rèn)證、支付網(wǎng)關(guān)(Payment Gateway)和客戶服務(wù)中心三個(gè)部分,其真正的核心是CA認(rèn)證;而第三層就是各種各樣的電子商務(wù)應(yīng)用系統(tǒng),電子商務(wù)基礎(chǔ)平臺(tái)

9、是各種電子商務(wù)應(yīng)用系統(tǒng)的基礎(chǔ)。</p><p>  本次藥品庫(kù)房管理系統(tǒng)的開(kāi)發(fā),正是將傳統(tǒng)管理方式與電子商務(wù)相結(jié)合的一次工程實(shí)踐工作,嘗試在網(wǎng)絡(luò)上完成對(duì)社區(qū)藥品庫(kù)房的管理工作。</p><p>  醫(yī)藥行業(yè)現(xiàn)有兩個(gè)方面是急需要改善的,一是要加大對(duì)新藥品的開(kāi)發(fā)力度;另一個(gè)就是要實(shí)現(xiàn)企業(yè)的信息化。這兩點(diǎn)是相輔相成的,簡(jiǎn)單的說(shuō)就是生產(chǎn)合適的產(chǎn)品、把產(chǎn)品送到合適的地方。第一點(diǎn)是第二點(diǎn)的基礎(chǔ),反過(guò)來(lái)

10、第二點(diǎn)的實(shí)現(xiàn)將是第一點(diǎn)的保障。對(duì)醫(yī)藥企業(yè)來(lái)說(shuō)實(shí)現(xiàn)信息化在一定的程度上可以緩解市場(chǎng)壓力,能夠更清楚的了解把握市場(chǎng)的需求,為開(kāi)發(fā)何種新產(chǎn)品提供第一手的市場(chǎng)信息。所以對(duì)醫(yī)藥企業(yè)來(lái)說(shuō)盡快實(shí)現(xiàn)企業(yè)的整體信息化是很重要的,很迫切的。醫(yī)藥行業(yè)里的物流系統(tǒng)或多或少都存在問(wèn)題,可以說(shuō)不僅是采購(gòu)成本高,銷(xiāo)售成本也高,同時(shí)對(duì)庫(kù)存的控制也不是很有辦法。而庫(kù)存的管理是解決問(wèn)題中的一個(gè)重要部分,對(duì)于擁有龐大的銷(xiāo)售和采購(gòu)網(wǎng)絡(luò)的醫(yī)藥企業(yè)而言,它的作用就更為明顯了。如何

11、降低庫(kù)存,控制批次就顯得尤其重要。</p><p><b>  摘要</b></p><p>  本次畢業(yè)設(shè)計(jì)課題的任務(wù)是:利用已學(xué)習(xí)的軟件工程、數(shù)據(jù)庫(kù)技術(shù)、電子商務(wù)技術(shù)、程序設(shè)計(jì)方法等知識(shí)構(gòu)建一個(gè)網(wǎng)絡(luò)虛擬醫(yī)院中的藥品庫(kù)房管理的系統(tǒng)原型,該系統(tǒng)可采用進(jìn)化型原型法或面向?qū)ο蟮姆椒ㄟM(jìn)行開(kāi)發(fā),系統(tǒng)應(yīng)包含網(wǎng)上藥品購(gòu)進(jìn)、供貨商管理、結(jié)算處理、入庫(kù)出庫(kù)處理、盤(pán)點(diǎn)處理等功能,最終系

12、統(tǒng)應(yīng)是一個(gè)可運(yùn)行的系統(tǒng),系統(tǒng)的研發(fā)過(guò)程是對(duì)同學(xué)已學(xué)知識(shí)的掌握及解決問(wèn)題能力、動(dòng)手能力鍛煉和綜合考核。</p><p>  本次課題要求為:本系統(tǒng)基于Java平臺(tái)開(kāi)發(fā),使用JDBC-ODBC橋技術(shù)進(jìn)行數(shù)據(jù)庫(kù)連接, 使用Microsoft Access數(shù)據(jù)庫(kù)管理系統(tǒng)。</p><p>  1 在Microsoft Access中創(chuàng)建數(shù)據(jù)庫(kù)。</p><p>  2 用J

13、ava語(yǔ)言通過(guò)JDBC-ODBC橋技術(shù)連接數(shù)據(jù)庫(kù)。</p><p>  3 客戶端實(shí)現(xiàn)數(shù)據(jù)查詢和數(shù)據(jù)更新。</p><p>  4 利用控件把數(shù)據(jù)庫(kù)中的數(shù)據(jù)顯示在Java客戶端應(yīng)用程序中。</p><p>  5 利用JSP技術(shù)將JAVA與網(wǎng)葉進(jìn)行無(wú)縫連接。</p><p><b>  開(kāi)發(fā)環(huán)境:</b></p&g

14、t;<p>  軟件:服務(wù)器操作系統(tǒng)(Windows 2000 Server)、數(shù)據(jù)庫(kù)管理軟件(Microsoft Access)、Java集成開(kāi)發(fā)環(huán)境、客戶端平臺(tái)(Windows 2000 Professional、Windows98、WindowsME)。</p><p>  硬件:數(shù)據(jù)庫(kù)服務(wù)器、運(yùn)行Java Application的客戶終端。服務(wù)器和客戶端之間的網(wǎng)絡(luò)連接。</p>

15、<p><b>  關(guān)鍵詞:</b></p><p><b>  JAVA</b></p><p>  JavaScript</p><p><b>  數(shù)據(jù)庫(kù)系統(tǒng)</b></p><p><b>  ODBC</b></p>&

16、lt;p><b>  ABSTRACT:</b></p><p>  The task of the graduation design is to set up a drug storeroom management system prototype of a web virtual hospital with knowlege of sofeware engineering,dat

17、abase technlogy,EC technology,mothod of program design and ect..This systm take evolvement prototype mothod and OOP to develope this system. It includes severals modules of online drugs stocking,supplier management,balan

18、ce management,managent of drugs in and out store,checking management and son on.</p><p>  This system is runnable after it is finished.During the developement, it will test the status of student's knowle

19、ge holding,problem solution capbility and son on.</p><p>  This task is developed under Java platform,connecting database with JDBC-ODBC bridge technology,useing MS Access database management system.</p&g

20、t;<p>  1.set up database of MS Access</p><p>  2.connect database with JDBC-ODBC bridge by Javalanguage</p><p>  3.require and update data by client</p><p>  4.show the data

21、 from the database in the Java client program with control</p><p>  5.Seamless line Java and web pages with JSP </p><p>  developement environment</p><p>  sofeware:sever operator(W

22、indows 2000 Server),database management software(Microsoft Access),Java IDE,client platform(Windows 2000 Professional、Windows98、WindowsME).</p><p><b>  KEYWORDS:</b></p><p><b>

23、  JAVA</b></p><p>  JavaScript</p><p>  DataBase Systems</p><p><b>  ODBC</b></p><p><b>  目錄</b></p><p><b>  前言</b&g

24、t;</p><p><b>  摘要</b></p><p>  一、緒論- - - - - - - - - - - - - - - - - - - - - - - -1</p><p> ?。ㄒ唬⒖尚行匝芯繄?bào)告- - - - - - - - - - - - - - - - 3</p><p>  二、工程概要設(shè)計(jì)

25、- - - - - - - - - - - - - - - - - - - 4</p><p> ?。ㄒ唬?、系統(tǒng)的需求分析- - - - - - - - - - - - - - - - 4</p><p> ?。ǘ⑾到y(tǒng)的數(shù)據(jù)流圖- - - - - - - - - - - - - - - - 5</p><p> ?。ㄈ?、數(shù)據(jù)庫(kù)概要設(shè)計(jì)- - - - - - -

26、 - - - - - - - - - 6</p><p>  三、工程詳細(xì)設(shè)計(jì)及實(shí)現(xiàn)- - - - - - - - - - - - - - - - -12</p><p>  (一)、系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)及實(shí)現(xiàn)- - - - - - - - - - - - - 12</p><p> ?。ǘ?、系統(tǒng)程序設(shè)計(jì)- - - - - - - - - - - - - - - - -

27、 19</p><p>  (三)、系統(tǒng)程序?qū)崿F(xiàn)- - - - - - - - - - - - - - - - - 24</p><p>  致謝- - - - - - - - - - - - - - - - - - - - - - - -29</p><p>  參考文獻(xiàn)- - - - - - - - - - - - - - - - - - - - - -30&l

28、t;/p><p><b>  一、緒論</b></p><p> ?。ㄒ唬⒖尚行匝芯繄?bào)告</p><p><b>  1、問(wèn)題的提出:</b></p><p>  (1)、總體目標(biāo):要求對(duì)社區(qū)大藥房實(shí)現(xiàn)辦公自動(dòng)化管理。</p><p>  (2)、軟件的功能:實(shí)現(xiàn)對(duì)社區(qū)大藥房的

29、進(jìn)貨、售出以及人員調(diào)配的自動(dòng)化管理。</p><p>  (3)、軟件系統(tǒng)的擴(kuò)充:網(wǎng)上訂購(gòu)、用戶管理等。 </p><p>  2、對(duì)現(xiàn)有系統(tǒng)的分析:</p><p>  (1)、設(shè)備:手工設(shè)備。</p><p>  (2)、局限性:數(shù)據(jù)龐大,難以進(jìn)行分時(shí)分段統(tǒng)計(jì),容易遺失,易出現(xiàn)人為錯(cuò)誤。</p><p><b

30、>  3、所建議系統(tǒng):</b></p><p>  (1)、說(shuō)明:利用計(jì)算機(jī)替代手工操作,實(shí)現(xiàn)藥品庫(kù)房辦公自動(dòng)化管理。</p><p>  (2)、各類(lèi)影響:節(jié)省人員、提高辦公效率、出錯(cuò)性小、需要更新設(shè)備、需要人員掌握一定的辦公自動(dòng)化技術(shù)、如果遇到特殊情況需要恢復(fù)到原始操作。</p><p>  (3)、系統(tǒng)流程圖:</p><

31、p>  4、投資及收益分析:</p><p>  (1)、基本建設(shè)投資:辦公自動(dòng)化設(shè)備引進(jìn)。</p><p>  (2)、一次性投資:系統(tǒng)軟件開(kāi)發(fā)。</p><p>  (3)、一次性投資:技術(shù)人員費(fèi)用支出、系統(tǒng)維護(hù)、系統(tǒng)升級(jí)、設(shè)備老化及更新。</p><p>  (4)、社會(huì)效益評(píng)價(jià):高。</p><p>  

32、5、社會(huì)條件方面的可行性:</p><p>  (1)、法律方面的可行性:法律程序正規(guī)。</p><p>  (2)、使用方面的可行性:易學(xué)易用、可靠性高、可提高工作效率。</p><p><b>  二、系統(tǒng)概要設(shè)計(jì)</b></p><p>  (一)系統(tǒng)的需求分析</p><p>  需求分析

33、的任務(wù)是確定系統(tǒng)必須完成哪些工作,也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。具體的說(shuō),應(yīng)該確定系統(tǒng)必須具有的功能和性能,系統(tǒng)要求的運(yùn)行環(huán)境,并且預(yù)測(cè)系統(tǒng)發(fā)展的前景;必須仔細(xì)分析系統(tǒng)的數(shù)據(jù),既要分析系統(tǒng)中的數(shù)據(jù)流又要分析長(zhǎng)期使用的數(shù)據(jù)存儲(chǔ)。</p><p>  1、系統(tǒng)的功能要求:</p><p>  (1)、根據(jù)本系統(tǒng)的開(kāi)發(fā)目的,需要本系統(tǒng)能夠建立一個(gè)容量大而且條目清晰的數(shù)據(jù)庫(kù),數(shù)

34、據(jù)的存儲(chǔ)和刪改要安全、方便。考慮到本系統(tǒng)的開(kāi)發(fā)方向,本系統(tǒng)要支持多機(jī)、聯(lián)機(jī)的使用功能。</p><p>  (2)、本系統(tǒng)的開(kāi)發(fā),當(dāng)顧客提出購(gòu)藥的申請(qǐng)時(shí),系統(tǒng)能夠提供快速的查詢功能,如果缺藥,則能夠及時(shí)反饋回相關(guān)信息;如果所購(gòu)藥品有貨,則開(kāi)出相應(yīng)票據(jù)交付顧客,同時(shí)向系統(tǒng)添加有關(guān)信息,以便其他相關(guān)操作人員查詢和確認(rèn)。</p><p>  2、系統(tǒng)的性能要求:</p><p

35、>  由于本系統(tǒng)的特殊應(yīng)用性,系統(tǒng)的性能要穩(wěn)定,數(shù)據(jù)的交換要快捷、無(wú)錯(cuò),界面美觀、實(shí)用、方便,條目清晰而不繁雜,操作員的權(quán)限要明確。在Windows系統(tǒng)下運(yùn)行要流暢、穩(wěn)定。</p><p>  3、操作系統(tǒng)及系統(tǒng)硬件要求</p><p>  (1)、在單機(jī)管理下,要求P2-450MHz以上機(jī)型配置,操作系統(tǒng)為Windows98第二版,建議使用Windows2000 Professio

36、nal作為操作系統(tǒng),內(nèi)存要在128M左右。</p><p>  (2)、如果因?yàn)樾枰獢U(kuò)展到局域網(wǎng)絡(luò)管理模式,服務(wù)器機(jī)型建議配置P3-600MHz以上,內(nèi)存要為256M,強(qiáng)烈建議使用Windows2000 AdvancedServer操作系統(tǒng);客戶機(jī)型最低配置為P2-266MHz以上,內(nèi)存最低為64M,操作系統(tǒng)為Windows98(第二版);所有的計(jì)算機(jī)都要裝配10/100M自適應(yīng)網(wǎng)卡,同時(shí)使用交換機(jī)作為局網(wǎng)的數(shù)據(jù)

37、傳輸設(shè)備(使用交換機(jī)是為了保證在數(shù)據(jù)傳輸過(guò)程中,不會(huì)發(fā)生丟失和延遲現(xiàn)象,HUB在局網(wǎng)的遠(yuǎn)距傳輸中,容易出現(xiàn)延遲,和數(shù)據(jù)丟失現(xiàn)象)。如果本系統(tǒng)擴(kuò)展到互聯(lián)網(wǎng)中時(shí),則服務(wù)器要使用小型柜式服務(wù)器系統(tǒng),客戶機(jī)的配置則可以不變化。</p><p> ?。ǘ?、系統(tǒng)的數(shù)據(jù)流圖</p><p>  數(shù)據(jù)流圖(DFD)是一種描述信息流和數(shù)據(jù)從輸入到輸出變換的應(yīng)用圖形技術(shù)。</p><p&

38、gt;  1、系統(tǒng)原始數(shù)據(jù)流圖:</p><p>  2、逐步細(xì)化后的數(shù)據(jù)流圖:</p><p> ?。ㄈ?、數(shù)據(jù)庫(kù)概要設(shè)計(jì)</p><p>  數(shù)據(jù)庫(kù)技術(shù)產(chǎn)生于20世紀(jì)60年代末,發(fā)展至今已經(jīng)有近30年的歷史。數(shù)據(jù)庫(kù)技術(shù)作為數(shù)據(jù)管理的最有效的手段,它的出現(xiàn)極大地促進(jìn)了計(jì)算機(jī)應(yīng)用的發(fā)展,目前基于數(shù)據(jù)庫(kù)技術(shù)的計(jì)算機(jī)應(yīng)用已成為計(jì)算機(jī)應(yīng)用的主流。</p>&

39、lt;p>  近30年來(lái),數(shù)據(jù)庫(kù)技術(shù)本身也在不斷地發(fā)展和完善。關(guān)系數(shù)據(jù)庫(kù)已取代了早期的層次數(shù)據(jù)庫(kù)與網(wǎng)狀數(shù)據(jù)庫(kù),成為主流數(shù)據(jù)庫(kù),而新一代數(shù)據(jù)庫(kù)也逐漸露出頭角。</p><p>  數(shù)據(jù)庫(kù)技術(shù)近年來(lái)發(fā)展非常迅速,特別是提出信息高速公路以來(lái),所謂“3C”即計(jì)算機(jī)、通信和信息內(nèi)容(Computer、Communication、Contents)已成為信息技術(shù)的核心。而信息高速公路的價(jià)值正體現(xiàn)在信息內(nèi)容上,數(shù)據(jù)庫(kù)則為

40、這些信息內(nèi)容提供了存放手段以及迅速、簡(jiǎn)便、高效的查詢手段。</p><p>  任何一個(gè)軟件系統(tǒng)本質(zhì)上都是信息處理系統(tǒng),系統(tǒng)必須處理的信息和系統(tǒng)應(yīng)該產(chǎn)生的信息在很大程度上決定了系統(tǒng)的面貌,對(duì)軟件設(shè)計(jì)有深遠(yuǎn)影響,因此,必須分析系統(tǒng)的數(shù)據(jù)要求,分析系統(tǒng)的數(shù)據(jù)要求通常采用建立概念模型的方法。</p><p><b>  1、數(shù)據(jù)庫(kù)設(shè)計(jì)概述</b></p>&l

41、t;p>  數(shù)據(jù)庫(kù)技術(shù)是信息資源開(kāi)發(fā)、管理和服務(wù)的最有效的手段,因此數(shù)據(jù)庫(kù)的應(yīng)用范圍越來(lái)越廣,從小型的單項(xiàng)事務(wù)處理系統(tǒng)到大型的信息系統(tǒng)大都利用了先進(jìn)的數(shù)據(jù)庫(kù)技術(shù)來(lái)保持系統(tǒng)數(shù)據(jù)的整體性、完整性和共享性。目前,數(shù)據(jù)庫(kù)的建設(shè)規(guī)模、信息量大小和使用頻度已成為衡量一個(gè)國(guó)家信息化程度的重要標(biāo)志之一。這就使如何科學(xué)地設(shè)計(jì)與實(shí)現(xiàn)數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)成為日益引人注目地課題。數(shù)據(jù)庫(kù)設(shè)計(jì)是一項(xiàng)軟件工程,應(yīng)該把軟件工程的原理和方法應(yīng)用到數(shù)據(jù)庫(kù)設(shè)計(jì)中。所以說(shuō)

42、數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)與應(yīng)用環(huán)境緊密聯(lián)系,涉及多學(xué)科地綜合性技術(shù)。</p><p>  (1)、數(shù)據(jù)庫(kù)設(shè)計(jì)的目標(biāo)與特點(diǎn)</p><p>  數(shù)據(jù)庫(kù)設(shè)計(jì)的任務(wù)是在DBMS的支持下,按照應(yīng)用的要求,為一部門(mén)或組織設(shè)計(jì)一個(gè)合理、使用方便、效率較高的數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)。</p><p>  (2)數(shù)據(jù)庫(kù)設(shè)計(jì)的內(nèi)容和要求</p><p>  一個(gè)數(shù)據(jù)庫(kù)的設(shè)計(jì)主要

43、包括兩方面:結(jié)構(gòu)特性的設(shè)計(jì)和行為特性的設(shè)計(jì)。</p><p>  結(jié)構(gòu)(靜態(tài))特性的設(shè)計(jì)是指數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),設(shè)計(jì)結(jié)果要得到一個(gè)合理的數(shù)據(jù)模型,這是數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵。數(shù)據(jù)模型是反映現(xiàn)實(shí)世界中事物及事物間的聯(lián)系的,對(duì)現(xiàn)實(shí)世界模擬的精確程度越高,形成的數(shù)據(jù)模型是反映現(xiàn)實(shí)世界,在這基礎(chǔ)上生成的應(yīng)用系統(tǒng)就能較好得滿足用戶對(duì)數(shù)據(jù)的數(shù)據(jù)要求。</p><p>  傳統(tǒng)的軟件設(shè)計(jì)一般注重處理過(guò)程的設(shè)計(jì),而

44、忽視對(duì)數(shù)據(jù)語(yǔ)義的分析和抽象。而對(duì)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)來(lái)說(shuō),管理的數(shù)據(jù)量很大,數(shù)據(jù)間聯(lián)系復(fù)雜,數(shù)據(jù)要共多用戶共享,因此數(shù)據(jù)模型設(shè)計(jì)的的是否合理,將直接影響系統(tǒng)應(yīng)用程序的性能和質(zhì)量。</p><p>  結(jié)構(gòu)特性的設(shè)計(jì)涉及實(shí)體、屬性及其相互的聯(lián)系,域和完整性約束。它包括模式和子模式的設(shè)計(jì),涉及模式的設(shè)計(jì),設(shè)計(jì)最后要建立數(shù)據(jù)庫(kù)。</p><p>  結(jié)構(gòu)特性的設(shè)計(jì)應(yīng)滿足以下幾點(diǎn):能正確反映現(xiàn)實(shí)世界,滿

45、足用戶要求;減少和避免數(shù)據(jù)冗余;維護(hù)數(shù)據(jù)的完整性。</p><p>  行為(動(dòng)態(tài))特性的設(shè)計(jì)是指應(yīng)用程序的設(shè)計(jì)。在分析用戶需要哪些數(shù)據(jù)處理的基礎(chǔ)上,完成對(duì)各個(gè)功能模塊的設(shè)計(jì),如完成對(duì)數(shù)據(jù)的查詢、修改、插入、刪除、統(tǒng)計(jì)、報(bào)表等。應(yīng)用設(shè)計(jì)還包括對(duì)事務(wù)的設(shè)計(jì),以保證在用戶環(huán)境下數(shù)據(jù)的完整性和一致性。</p><p>  在數(shù)據(jù)庫(kù)設(shè)計(jì)中,結(jié)構(gòu)特性和行為特性的設(shè)計(jì)可以結(jié)合起來(lái)進(jìn)行。數(shù)據(jù)庫(kù)設(shè)計(jì)是一項(xiàng)

46、復(fù)雜的工程,一個(gè)符合應(yīng)用要求的數(shù)據(jù)庫(kù)系統(tǒng),應(yīng)具有良好的性能。數(shù)據(jù)庫(kù)的性能包括數(shù)據(jù)庫(kù)的存取效率和存儲(chǔ)效率。數(shù)據(jù)庫(kù)的存取次效率主要表現(xiàn)在對(duì)事務(wù)響應(yīng)快,存取數(shù)少。存取次數(shù)指為查找一個(gè)記錄所需存取邏輯記錄的次數(shù)。存儲(chǔ)效率是指存儲(chǔ)數(shù)據(jù)的空間利用率,即存儲(chǔ)用戶數(shù)據(jù)所占有實(shí)際輔存空間的大小。</p><p>  (3)、數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程</p><p>  數(shù)據(jù)庫(kù)的設(shè)計(jì)與應(yīng)用環(huán)境聯(lián)系緊密,其設(shè)計(jì)過(guò)程與應(yīng)用

47、規(guī)模、數(shù)據(jù)的復(fù)雜程度密切有關(guān)。因此,數(shù)據(jù)庫(kù)的設(shè)計(jì)應(yīng)分階段進(jìn)行,不同階段完成不同的設(shè)計(jì)內(nèi)容。數(shù)據(jù)庫(kù)的設(shè)計(jì)可分為以下六個(gè)階段:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)、數(shù)據(jù)庫(kù)實(shí)施和運(yùn)行、數(shù)據(jù)庫(kù)的使用和維護(hù)。</p><p>  需求分析階段主要是獲得用戶對(duì)所要建立數(shù)據(jù)庫(kù)的信息要求和處理要求的全面描述。通過(guò)調(diào)查研究,了解用戶業(yè)務(wù)流程,與用戶取得對(duì)需求得一致認(rèn)識(shí)。</p><p>  概念設(shè)計(jì)階段要

48、對(duì)收集的信息、數(shù)據(jù)進(jìn)行分析、整理,確定實(shí)體、屬性及它們之間的聯(lián)系,將各個(gè)用戶的局部視圖合并成一個(gè)總的全局視圖,形成獨(dú)立于計(jì)算機(jī)的反映用戶觀點(diǎn)的概念模式。導(dǎo)出的邏輯結(jié)構(gòu)是否與概念模式一致,從功能和性能上是否滿足用戶要求,要進(jìn)行模式評(píng)價(jià)。如果達(dá)不到用戶的要求,還要反復(fù)、修整或重新進(jìn)行設(shè)計(jì)。</p><p>  物理設(shè)計(jì)的任務(wù)是確定數(shù)據(jù)在介質(zhì)上的物理存儲(chǔ)結(jié)構(gòu),即數(shù)據(jù)在介質(zhì)上如何存放,包括存取方法及存取路徑的選擇。物理設(shè)

49、計(jì)的結(jié)果將導(dǎo)出數(shù)據(jù)庫(kù)的存儲(chǔ)模式。</p><p>  邏輯設(shè)計(jì)和物理設(shè)計(jì)的好壞對(duì)數(shù)據(jù)庫(kù)的性能影響很大,在物理設(shè)計(jì)完后,要進(jìn)行性能分析,測(cè)試。如果需要,要重新設(shè)計(jì)邏輯結(jié)構(gòu)和物理結(jié)構(gòu)。在邏輯結(jié)構(gòu)和物理結(jié)構(gòu)確定后,就可以建立數(shù)據(jù)庫(kù)了。</p><p>  數(shù)據(jù)庫(kù)實(shí)施階段包括建立實(shí)際數(shù)據(jù)庫(kù)結(jié)構(gòu),裝入數(shù)據(jù),完成編碼,進(jìn)行測(cè)試。然后就可以投入運(yùn)行。在這之間進(jìn)行的結(jié)構(gòu)特性設(shè)計(jì)可以和行為特性即應(yīng)用程序的設(shè)

50、計(jì)結(jié)合起來(lái)進(jìn)行,以相互參照,補(bǔ)充完善各階段的設(shè)計(jì)。</p><p>  按照軟件工程的設(shè)計(jì)思想,軟件生存期指軟件從開(kāi)始分析、設(shè)計(jì)直到停止使用的整個(gè)時(shí)間。使用和維護(hù)階段是整個(gè)生存期的最長(zhǎng)時(shí)間段。數(shù)據(jù)庫(kù)使用和維護(hù)階段需要不斷完善系統(tǒng)性能和改進(jìn)系統(tǒng)功能,進(jìn)行數(shù)據(jù)庫(kù)的再組織和重構(gòu)造,以延長(zhǎng)數(shù)據(jù)庫(kù)使用時(shí)間。</p><p><b>  2、概念模型的選擇</b></p&g

51、t;<p>  (1)、實(shí)體-聯(lián)系(E/R,Entity-Relationship)模型,具有圖的特性,用方框和箭頭表示基本的數(shù)據(jù)元素和它們之間的連接。</p><p>  (2)、ODL(對(duì)象定義語(yǔ)言,Object Definition Language),它是面向?qū)ο蟮臄?shù)據(jù)庫(kù)設(shè)計(jì)方法,是面向?qū)ο蟮臄?shù)據(jù)庫(kù)系統(tǒng)正在形成的標(biāo)準(zhǔn)。</p><p>  (3)、網(wǎng)狀模型和層次模型,

52、統(tǒng)稱為非關(guān)系模型,已逐步被關(guān)系模型的數(shù)據(jù)庫(kù)系統(tǒng)所取代。在某種意義上,它們是ODL的范圍有限的版本。</p><p>  (4)、由于網(wǎng)狀模型和層次模型現(xiàn)在已經(jīng)很少使用,而ODL為面向?qū)ο笳Z(yǔ)言,是一種正在形成的標(biāo)準(zhǔn),另外,在現(xiàn)在流行的數(shù)據(jù)庫(kù)系統(tǒng)軟件中,以實(shí)體-聯(lián)系模型作為理論基礎(chǔ)的比較常見(jiàn),例如:Microsoft Access、Microsoft Visual FoxPro、Microsoft SQL Serve

53、r 等,利用實(shí)體-聯(lián)系模型進(jìn)行開(kāi)發(fā)有助于在上述某一特定平臺(tái)上的實(shí)現(xiàn)。最終選取實(shí)體-聯(lián)系模型作為數(shù)據(jù)庫(kù)開(kāi)發(fā)的理論依據(jù)。</p><p>  3、系統(tǒng)的E/R模型</p><p>  (1)、實(shí)體及其屬性圖:</p><p>  (2)、實(shí)體及其聯(lián)系圖:</p><p>  4、E/R模型轉(zhuǎn)化為關(guān)系模型</p><p> 

54、 關(guān)系模式是關(guān)系模型的集合。在E-R模型轉(zhuǎn)換為關(guān)系模型時(shí)所有實(shí)體和聯(lián)系都要轉(zhuǎn)換為相應(yīng)的關(guān)系模型。</p><p><b>  轉(zhuǎn)換規(guī)則如下:</b></p><p>  (1)、一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式。實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系的碼。</p><p>  (2)、一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。與該聯(lián)系相連的各個(gè)實(shí)體的碼

55、以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性。而關(guān)系的碼為各實(shí)體的碼的組合。</p><p>  (3)、一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,則與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為n端實(shí)體的碼。</p><p>  (4)、一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)

56、系模式合并。如果轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,則與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,每個(gè)實(shí)體的碼均是該關(guān)系的候選碼。如果與某一端對(duì)應(yīng)的關(guān)系模式合并,則需要在該關(guān)系模式的屬性中加入另一個(gè)關(guān)系模式的碼的聯(lián)系本身的屬性。</p><p>  (5)、三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。與該多元聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性。而關(guān)系的碼為各實(shí)體碼的組合。&

57、lt;/p><p>  (6)、同一實(shí)體集的實(shí)體間的聯(lián)系,既自聯(lián)系,也可按上述1:1,1:n,m:n三種情況分別處理。</p><p>  (7)、為了減少系統(tǒng)中的關(guān)系個(gè)數(shù),如果兩個(gè)關(guān)系模式具有相同的主碼,可以考慮將它們合并為一個(gè)關(guān)系模式。合并方法是將其中一個(gè)關(guān)系模式的全部屬性加入到另一個(gè)關(guān)系模式中,然后去掉其中的同義屬性。</p><p>  綜上所述,對(duì)上述E/R模

58、型作出如下轉(zhuǎn)換:</p><p>  藥品(藥品ID,藥品名稱,類(lèi)別名稱,藥品說(shuō)明)</p><p>  供應(yīng)商(供應(yīng)商ID,供應(yīng)商名稱,聯(lián)系方法)</p><p>  藥品供應(yīng)(藥品ID,供應(yīng)商ID,庫(kù)存量,訂貨量,單價(jià),保質(zhì)期,生產(chǎn)日期)</p><p>  為減少數(shù)據(jù)冗余,希望對(duì)上述關(guān)系模型進(jìn)行分解,在上述關(guān)系中,若干種藥品可能屬于同種

59、藥品類(lèi)別,故將藥品改為:藥品(藥品ID,藥品名稱,類(lèi)別ID,類(lèi)別名稱,藥品說(shuō)明),上述關(guān)系模式屬于1NF。如果一個(gè)關(guān)系模式屬于1NF,并且它上面的每一個(gè)非平凡函數(shù)依賴的左邊都包含碼,則此關(guān)系模式屬于BCNF。在關(guān)系模式:藥品(藥品ID,藥品名稱,藥品說(shuō)明,類(lèi)別ID,類(lèi)別名稱)中,設(shè)(藥品ID)=A,(藥品名稱,藥品說(shuō)明)=B,(藥品類(lèi)別ID)=C,(類(lèi)別名稱)=D。則在R=(ABCD)中存在以下函數(shù)依賴:F={AB,AC,CD}。<

60、;/p><p><b>  ①、找碼:</b></p><p>  A+=ABCD,B+=B,C+=CD,D+=D,</p><p>  AB+=ABCD,AC+=ABCD,AD+=ABCD,BC+=BCD,BD+=BD,CD+=CD,</p><p>  ABC+=ABCD,ABD+=ABCD,ACD+=ABCD,BCD+

61、=BCD,</p><p>  ABCD+=ABCD,所以,KEY:A</p><p> ?、?、考察非平凡函數(shù)依賴:</p><p>  AB,AC,AD,CD,</p><p>  ABC,ABD,ACB,ACD,ADB,ADC,BCD,</p><p>  ABCD,ABDC,ACDB,其中,CD,BCD不符合BC

62、NF條件。</p><p>  由1NF到BCNF的分解方法,將R=(ABCD)分解為R1=(ABC),R2=(CD)。其中R2已經(jīng)分解為BCNF,考察R1=(ABC):</p><p>  A+=ABC,B+=B,C+=C,</p><p>  AB+=ABC,AC+=ABC,BC+=BC,</p><p>  ABC+=ABC, 所以,K

63、EY:A</p><p>  考察非平凡函數(shù)依賴:</p><p><b>  AB,AC,</b></p><p>  ABC,ACB,均已符合BCNF條件。</p><p>  所以,關(guān)系模式:藥品(藥品ID,藥品名稱,藥品說(shuō)明,類(lèi)別ID,類(lèi)別名稱)分解為關(guān)系模式:藥品(藥品ID,藥品名稱,藥品說(shuō)明,類(lèi)別ID)和關(guān)系

64、模式:類(lèi)別(類(lèi)別ID,類(lèi)別名稱)。</p><p>  則系統(tǒng)的E/R模型相應(yīng)部分的實(shí)體及屬性圖修改為:</p><p>  相應(yīng)部分的實(shí)體及聯(lián)系圖修改為:</p><p>  關(guān)系模式分解必須遵守兩個(gè)準(zhǔn)則:</p><p>  無(wú)損聯(lián)接性:信息不失真(不增減信息)。</p><p>  函數(shù)依賴保持性:不破壞屬性間存

65、在的依賴關(guān)系。</p><p>  根據(jù)判斷無(wú)損聯(lián)接性和判斷函數(shù)依賴保持性的方法對(duì)以上分解進(jìn)行審核,所有分解過(guò)程均保持了無(wú)損聯(lián)接和函數(shù)依賴。</p><p>  三、工程詳細(xì)設(shè)計(jì)及實(shí)現(xiàn)</p><p>  工程開(kāi)發(fā)步驟:首先完成數(shù)據(jù)庫(kù)平臺(tái)的建立,并進(jìn)行測(cè)試工作。在數(shù)據(jù)庫(kù)平臺(tái)建立完成后,進(jìn)行在數(shù)據(jù)庫(kù)平臺(tái)基礎(chǔ)之上的程序開(kāi)發(fā)工作,程序開(kāi)發(fā)過(guò)程中嚴(yán)格控制對(duì)數(shù)據(jù)庫(kù)平臺(tái)的改動(dòng),

66、如有需要,則要求對(duì)改動(dòng)部分重新進(jìn)行概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)以保證工程數(shù)據(jù)庫(kù)平臺(tái)的正確性和完整性。</p><p>  (一)、系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)及實(shí)現(xiàn)</p><p>  1、數(shù)據(jù)庫(kù)設(shè)計(jì)軟件的選取</p><p>  (1)、Microsoft Access 97:ACCESS是MICROSOFT OFFICE系列辦公自動(dòng)化軟件之一,是MICROSOFT公司在WINDOWS下

67、開(kāi)發(fā)的一種功能非常強(qiáng)大的桌面數(shù)據(jù)庫(kù)管理系統(tǒng)。</p><p>  (2)、Microsoft Visual FoxPro 6.0:是由美國(guó)Microsoft推出的程序開(kāi)發(fā)工具軟件,主要用于小型數(shù)據(jù)庫(kù)系統(tǒng)的開(kāi)發(fā)。</p><p>  (3)、Microsoft SQL Server 2000:SQL Server是微軟在Windows系列平臺(tái)上開(kāi)發(fā)的數(shù)據(jù)庫(kù),區(qū)別于FoxPro、Access小

68、型數(shù)據(jù)庫(kù),SQL Server是一個(gè)功能完備的數(shù)據(jù)庫(kù)管理系統(tǒng)。它包括支持開(kāi)發(fā)的引擎、標(biāo)準(zhǔn)的SQL語(yǔ)言、擴(kuò)展的特性(如復(fù)制、OLAP、分析)等功能。而像存儲(chǔ)過(guò)程、觸發(fā)器等特性,也是大型數(shù)據(jù)庫(kù)才擁有的。</p><p>  (4)、此工程要求數(shù)據(jù)庫(kù)平臺(tái)具有簡(jiǎn)明、高效、便于開(kāi)發(fā)、易于擴(kuò)展等特點(diǎn)。在以上三種數(shù)據(jù)庫(kù)軟件中,SQL Server 2000功能最強(qiáng),但其本身為一種專業(yè)性軟件,需要開(kāi)發(fā)人員及使用者均需要較高的計(jì)算

69、機(jī)專業(yè)水平,并不利于軟件的后期擴(kuò)展,并且,在與JSP技術(shù)進(jìn)行連接時(shí),需要加入JDBC專用驅(qū)動(dòng)進(jìn)行數(shù)據(jù)庫(kù)操作。而Visual FoxPro6.0準(zhǔn)確的說(shuō),是一種具有數(shù)據(jù)庫(kù)開(kāi)發(fā)及管理功能的程序開(kāi)發(fā)軟件,并不是一種專向的數(shù)據(jù)庫(kù)開(kāi)發(fā)軟件,而且,經(jīng)過(guò)分析工程的關(guān)系模式得出,在建立關(guān)系模式:藥品供應(yīng)(藥品ID,供應(yīng)商ID,庫(kù)存量,訂貨量,單價(jià),保質(zhì)期,生產(chǎn)日期)所對(duì)應(yīng)的表時(shí),需要建立多關(guān)鍵字主鍵:藥品ID,供應(yīng)商ID而Visual FoxPro6.

70、0由于軟件自身限制,不提供建立多關(guān)鍵字主鍵的功能。故此,Visual FoxPro6.0不適合作為本次工程的數(shù)據(jù)庫(kù)平臺(tái)。Access97作為Microsoft Office的工作組件之一,具有簡(jiǎn)單易學(xué)的特點(diǎn),作為專向的數(shù)據(jù)庫(kù)開(kāi)發(fā)管理軟件功能齊全,可以方便移植到ASP平臺(tái),Visual Basic平臺(tái),可以將信息導(dǎo)入到SQL Server、Microsoft Ex</p><p><b>  3、數(shù)據(jù)庫(kù)建

71、立過(guò)程</b></p><p>  (1)、首先建立Access數(shù)據(jù)庫(kù)guest.mdb,根據(jù)關(guān)系模型利用Access的建表功能建立各個(gè)表。表結(jié)構(gòu)如下:</p><p><b>  藥品表</b></p><p><b>  供應(yīng)商表</b></p><p><b>  藥品供

72、應(yīng)表</b></p><p><b>  類(lèi)別表</b></p><p>  (2)、進(jìn)入關(guān)系界面,加入以上四個(gè)表,建立如下關(guān)系:每個(gè)關(guān)系均實(shí)施參照完整性、連鎖更新相關(guān)字段、連鎖刪除相關(guān)記錄</p><p>  (3)、測(cè)試藥品供應(yīng)部分,首先在藥品表和供應(yīng)商表中輸入數(shù)據(jù):</p><p>  藥品ID 藥品

73、名稱 藥品說(shuō)明 類(lèi)別ID 供應(yīng)商ID 供應(yīng)商名稱 聯(lián)系方法</p><p>  1 甘草 (略) 1 東風(fēng)制藥廠 (略)</p><p>  2 黃芪 (略) 2 北京制藥廠 (略)</p><p>

74、;  3 人參 (略) 3 北京市第四制藥廠 (略)</p><p>  4 沙參 (略) 4 北京華頤中藥制藥廠 (略)</p><p>  5 薺苠 (略)</p><p>  隨后在藥品供應(yīng)表中輸入數(shù)據(jù):</p>

75、<p>  藥品ID 供應(yīng)商ID 庫(kù)存量 訂貨量 單價(jià) 保質(zhì)期 生產(chǎn)日期</p><p>  1 2 (略) (略) (略) (略) (略)</p><p>  1 1 (略) (略) (略) (略)

76、 (略)</p><p>  2 2 (略) (略) (略) (略) (略)</p><p>  3 4 (略) (略) (略) (略) (略)</p><p>  4 4 (略)

77、(略) (略) (略) (略)</p><p>  2 4 (略) (略) (略) (略) (略)</p><p>  利用SQL語(yǔ)言建立查詢:</p><p>  SELECT 藥品表.藥品ID, 供應(yīng)商表.供應(yīng)商ID, 藥品表.藥品名稱, 供應(yīng)商表.供應(yīng)商名稱</p&

78、gt;<p>  FROM 藥品表 LEFT JOIN (供應(yīng)商表 RIGHT JOIN 藥品供應(yīng)表 ON 供應(yīng)商表.供應(yīng)商ID = 藥品供應(yīng)表.供應(yīng)商ID)</p><p>  ON 藥品表.藥品ID = 藥品供應(yīng)表.藥品ID;</p><p><b>  打開(kāi)查詢顯示:</b></p><p>  藥品ID 供應(yīng)

79、商ID 藥品名稱 供應(yīng)商名稱</p><p>  1 2 甘草 北京制藥廠</p><p>  1 1 甘草 東風(fēng)制藥廠</p><p>  2

80、2 黃芪 北京制藥廠</p><p>  2 4 黃芪 北京華頤中藥制藥廠</p><p>  3 4 人參 北京華頤中藥制藥廠</p><p>  4

81、 4 沙參 北京華頤中藥制藥廠</p><p>  5 薺苠</p><p>  修改藥品供應(yīng)表第4行為:</p><p>  藥品ID 供應(yīng)商ID 庫(kù)存量 訂貨量 單價(jià) 保質(zhì)期 生

82、產(chǎn)日期</p><p>  3 2 (略) (略) (略) (略) (略)</p><p>  修改藥品表第1行為:</p><p>  藥品ID 藥品名稱 藥品說(shuō)明 類(lèi)別ID</p><p>  1 黃精 (略)</p><p>

83、  修改藥品表第4行為:</p><p>  供應(yīng)商ID 供應(yīng)商名稱 聯(lián)系方法</p><p>  4 北京市第一生物化學(xué)制藥廠 (略)</p><p><b>  打開(kāi)查詢顯示:</b></p><p>  藥品ID

84、 供應(yīng)商ID 藥品名稱 供應(yīng)商名稱</p><p>  1 2 黃精 北京制藥廠</p><p>  1 1 黃精 東風(fēng)制藥廠</p><p>  2

85、 2 黃芪 北京制藥廠</p><p>  2 4 黃芪 北京市第一生物化學(xué)制藥廠</p><p>  3 2 人參 北京制藥廠</p><p

86、>  4 4 沙參 北京市第一生物化學(xué)制藥廠</p><p>  5 薺苠</p><p>  刪除藥品表第2行、供應(yīng)商表第1行、藥品供應(yīng)表第6行</p><p><b>  打開(kāi)查詢顯示:</b>&

87、lt;/p><p>  藥品ID 供應(yīng)商ID 藥品名稱 供應(yīng)商名稱</p><p>  1 2 黃精 北京制藥廠</p><p>  3 2 人參 北京制藥廠&l

88、t;/p><p>  4 沙參</p><p>  5 薺苠</p><p>  插入、更新、刪除后查詢顯示正確。清空數(shù)據(jù)庫(kù)。</p><p>  (4)、測(cè)試藥品類(lèi)別部分,首先在類(lèi)別表和藥品表中輸入數(shù)據(jù):</p>

89、<p>  類(lèi)別ID 類(lèi)別名稱 藥品ID 藥品名稱 藥品說(shuō)明 類(lèi)別ID</p><p>  1 草藥 1 甘草 (略) 1</p><p>  2 西藥 2 六味地黃丸 (略) 3<

90、;/p><p>  3 中成藥 3 撲熱息痛 (略)</p><p>  4 撲爾敏 (略) 2</p><p>  利用SQL語(yǔ)言建立查詢:</p><p>  SELECT 藥品表.藥品ID, 藥品表.藥品名稱, 類(lèi)別表.類(lèi)別ID, 類(lèi)別表.類(lèi)別

91、名稱</p><p>  FROM 類(lèi)別表 RIGHT JOIN 藥品表 ON 類(lèi)別表.類(lèi)別ID = 藥品表.類(lèi)別ID;</p><p><b>  打開(kāi)查詢顯示:</b></p><p>  藥品ID 藥品名稱 類(lèi)別ID 類(lèi)別名稱</p><p>  1 甘草

92、 1 草藥</p><p>  2 六味地黃丸 3 中成藥</p><p>  3 撲熱息痛</p><p>  4 撲爾敏 2 西藥</p><p>  修改類(lèi)別表第1行為:</p>

93、;<p>  類(lèi)別ID 類(lèi)別名稱</p><p>  1 中藥</p><p>  修改藥品表第3行為:</p><p>  藥品ID 藥品名稱 藥品說(shuō)明 類(lèi)別ID</p><p>  3 撲熱息痛 (略) 2</p><p><

94、b>  打開(kāi)查詢顯示:</b></p><p>  藥品ID 藥品名稱 類(lèi)別ID 類(lèi)別名稱</p><p>  1 甘草 1 中藥</p><p>  2 六味地黃丸 3 中成藥</p><p&

95、gt;  3 撲熱息痛 2 西藥</p><p>  4 撲爾敏 2 西藥</p><p>  插入、更新后查詢顯示正確。</p><p><b>  下面進(jìn)行刪除測(cè)試:</b></p><p>  刪除藥品表中第

96、1行,查詢顯示正確。</p><p>  刪除類(lèi)別表中第2行,由于連鎖刪除相關(guān)記錄,藥品表中第3、4行也被刪除,造成數(shù)據(jù)丟失,出現(xiàn)刪除異常。</p><p>  修改類(lèi)別表與藥品表關(guān)系,將連鎖刪除相關(guān)記錄關(guān)閉。</p><p>  刪除類(lèi)別表中第3行,系統(tǒng)提示:因?yàn)楸怼幤繁怼邪嚓P(guān)的記錄,故不能刪除或更改此記錄。刪除失敗。</p><p&g

97、t;  表建立時(shí)藥品表中字段‘類(lèi)別ID’設(shè)計(jì)為非必填字段,而在現(xiàn)實(shí)中也應(yīng)該允許某一藥品暫時(shí)不分類(lèi)。所以系統(tǒng)的正確運(yùn)行結(jié)果為:第一,允許類(lèi)別表中的任何數(shù)據(jù)刪除。第二,在藥品表中保留相關(guān)數(shù)據(jù)不出現(xiàn)刪除異常。而由于Access97存在缺點(diǎn)無(wú)法在原關(guān)系上使這兩個(gè)結(jié)果同時(shí)實(shí)現(xiàn)。</p><p>  相應(yīng)修改Access97中所對(duì)應(yīng)的表</p><p><b>  藥品表:</b>

98、;</p><p><b>  填加新表</b></p><p><b>  藥品類(lèi)別表:</b></p><p>  進(jìn)入關(guān)系界面,相應(yīng)部分修改為:</p><p>  注意:建立一對(duì)一關(guān)系時(shí)表為藥品表,相關(guān)表為藥品類(lèi)別表,位置不能顛倒。</p><p>  利用SQL語(yǔ)言

99、建立查詢:</p><p>  SELECT 藥品表.藥品ID, 藥品表.藥品名稱, 類(lèi)別表.類(lèi)別ID, 類(lèi)別表.類(lèi)別名稱</p><p>  FROM 藥品表 LEFT JOIN (類(lèi)別表 RIGHT JOIN 藥品類(lèi)別表 ON 類(lèi)別表.類(lèi)別ID = 藥品類(lèi)別表.類(lèi)別ID) ON 藥品表.藥品ID = 藥品類(lèi)別表.藥品ID;</p><p>  再次進(jìn)行測(cè)試,插入

100、、更新、刪除后查詢顯示正確。</p><p>  以上的分解過(guò)程需要返回到數(shù)據(jù)庫(kù)概要設(shè)計(jì)對(duì)設(shè)計(jì)過(guò)程進(jìn)行修改:</p><p>  分析藥品供應(yīng)部分,同樣實(shí)施參照完整性并且連鎖刪除相關(guān)記錄,而未出現(xiàn)刪除異常與刪除失敗,原因是在供應(yīng)商表與藥品表中均未出現(xiàn)外碼。而藥品供應(yīng)表所對(duì)應(yīng)的關(guān)系模式是由E/R模型中的‘藥品供應(yīng)’聯(lián)系轉(zhuǎn)換而成,而E/R模型中的‘屬于’由于是自身沒(méi)有屬性的一對(duì)多聯(lián)系,根據(jù)E/

101、R模型轉(zhuǎn)化為關(guān)系模型的規(guī)則,其關(guān)系模式可與實(shí)體合并為一個(gè)關(guān)系模式。現(xiàn)在將合并后的關(guān)系模式重新分解為以下兩個(gè)關(guān)系模式:</p><p>  藥品(藥品ID,藥品名稱,藥品說(shuō)明)</p><p>  藥品類(lèi)別(藥品ID,類(lèi)別ID,)</p><p>  分解過(guò)程的理論依據(jù)是E/R模型轉(zhuǎn)化為關(guān)系模型的規(guī)則而不是1NF到BCNF分解的方法,所以E/R模型不變。經(jīng)過(guò)檢驗(yàn)分解過(guò)

102、程保持了無(wú)損聯(lián)接和函數(shù)依賴。分解過(guò)成有效</p><p> ?。ǘ?、系統(tǒng)程序設(shè)計(jì)</p><p>  1、面向?qū)ο筌浖_(kāi)發(fā)概述</p><p>  在系統(tǒng)的程序設(shè)計(jì)階段采用了面向?qū)ο蟮某绦蛟O(shè)計(jì)。不同于面向過(guò)程的程序設(shè)計(jì)中以具體的解題過(guò)程為研究和實(shí)現(xiàn)的主體,面向?qū)ο蟮某绦蛟O(shè)計(jì)是以需解決的問(wèn)題中所涉及到的各種對(duì)象為主要矛盾。對(duì)象的概念是面向?qū)ο蠹夹g(shù)的核心所在,它是具有

103、狀態(tài)、行為、標(biāo)志三種屬性的計(jì)算機(jī)軟件結(jié)構(gòu)。同種對(duì)象的集合與抽象叫做類(lèi)。</p><p>  用面向?qū)ο蟮姆椒▉?lái)解決實(shí)際問(wèn)題,包括以下三個(gè)過(guò)程:</p><p>  (1)、面向?qū)ο蟮姆治鲭A段:包括需求分析和需求模型化兩個(gè)步驟,它的主要作用是明確用戶的需求,并用標(biāo)準(zhǔn)化的面向?qū)ο蟮哪P蛠?lái)規(guī)范的表達(dá)這一需求,最后將形成面向?qū)ο蟮姆治瞿P?,即OOA模型。</p><p> 

104、 (2)、面向?qū)ο蟮脑O(shè)計(jì)階段:包括概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)步驟,在這兩個(gè)步驟中,將對(duì)OOA模型加以擴(kuò)展,最終得到面向?qū)ο蟮脑O(shè)計(jì)階段的最終結(jié)果:OOD模型</p><p>  (3)、實(shí)現(xiàn)階段:主要任務(wù)包括 ①、選擇一種合適的面向?qū)ο蟮木幊陶Z(yǔ)言,如C++、Java等。 ②、用選定的語(yǔ)言編碼實(shí)現(xiàn)詳細(xì)設(shè)計(jì)步驟所得的公式、圖表、說(shuō)明和規(guī)則等對(duì)軟件系統(tǒng)各對(duì)象類(lèi)的詳盡描述。 ③、將編寫(xiě)好的各個(gè)類(lèi)代碼模塊根據(jù)類(lèi)的相互關(guān)系集成。

105、④、利用開(kāi)發(fā)人員提供的測(cè)試樣例和用戶提供的測(cè)試樣例分別檢驗(yàn)編碼完成的各個(gè)模塊和整個(gè)軟件系統(tǒng)。面向?qū)ο蟮拈_(kāi)發(fā)過(guò)程中,測(cè)試工作不是最后各個(gè)模塊都做好之后才完成的,而是隨著整個(gè)實(shí)現(xiàn)階段編碼工作的深入同步完成。</p><p>  如果在實(shí)現(xiàn)階段的工作中,發(fā)現(xiàn)設(shè)計(jì)或分析階段隱藏的問(wèn)題,需要及時(shí)返回相關(guān)的步驟做相應(yīng)的調(diào)整。面向?qū)ο蟪绦蛟O(shè)計(jì)方法的主要特點(diǎn):抽象、封裝、繼承、多態(tài)。面向?qū)ο蟪绦蛟O(shè)計(jì)方法的優(yōu)點(diǎn):可重用性、可擴(kuò)展性

106、、可管理性。</p><p>  2、系統(tǒng)的程序開(kāi)發(fā)技術(shù)及開(kāi)發(fā)工具的選擇:</p><p>  開(kāi)發(fā)軟件系統(tǒng)時(shí)必須做出的一個(gè)重要抉擇是,使用什么樣的程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn)這個(gè)系統(tǒng)。適宜的程序設(shè)計(jì)語(yǔ)言能使根據(jù)設(shè)計(jì)去完成編碼時(shí)困難最少,可以減少需要的程序測(cè)試量,并且可以得出更容易閱讀和更容易維護(hù)的程序。由于軟件系統(tǒng)的絕大部分成本用在生命周期的測(cè)試和維護(hù)階段,所以選擇一種適宜的程序設(shè)計(jì)語(yǔ)言是極為重要的

107、。本次工程選擇基于JSP技術(shù)的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)作為系統(tǒng)的程序開(kāi)發(fā)技術(shù):</p><p>  (1)、JSP技術(shù)簡(jiǎn)介:</p><p>  JSP(JavaServer Pager)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn),其在動(dòng)態(tài)網(wǎng)頁(yè)的建設(shè)中有強(qiáng)大而特別的功能。它是一種服務(wù)器端HTML嵌入Java代碼的腳本語(yǔ)言,是開(kāi)發(fā)Web動(dòng)態(tài)網(wǎng)站重要而快速、有

108、效的工具。在保證最大可操作性的前提下,它提供了比一般腳本語(yǔ)言(ASP、PHP)和CGI更快的執(zhí)行速度。由于JSP是基于Java語(yǔ)言的,所以“一次編寫(xiě),可隨處運(yùn)行”,既它與平臺(tái)無(wú)關(guān)的特性使其可以無(wú)縫地運(yùn)行在Unix/Linux和Windows平臺(tái)上。JSP技術(shù)具有如下特點(diǎn):</p><p>  ①、將內(nèi)容的生成和顯示進(jìn)行分離</p><p>  使用JSP技術(shù),Web頁(yè)面開(kāi)發(fā)人員可以使用HT

109、ML或者XML標(biāo)識(shí)來(lái)設(shè)計(jì)的格式化最終頁(yè)面。使用JSP標(biāo)識(shí)或者腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容,生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在腳本中,所有的腳本在服務(wù)器端運(yùn)行。如果核心邏輯被封裝在標(biāo)識(shí)和Beans中,那么其他人,如Web管理人員和頁(yè)面設(shè)計(jì)者,能夠編輯和使用JSP頁(yè)面,而不影響內(nèi)容的生成。</p><p>  在服務(wù)器端,JSP引擎解釋JSP標(biāo)識(shí)和腳本,生成所要求的內(nèi)容,并且將結(jié)果以HTM

110、L或XML頁(yè)面的形式發(fā)送回瀏覽器。這有助于作者保護(hù)自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。</p><p> ?、?、采用標(biāo)識(shí)簡(jiǎn)化頁(yè)面開(kāi)發(fā)</p><p>  JSP技術(shù)封裝了許多功能,這些功能是在XML標(biāo)識(shí)中進(jìn)行動(dòng)態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識(shí)能夠訪問(wèn)和實(shí)例化JavaBeans組件,設(shè)置或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功

111、能。</p><p> ?、?、由于JSP頁(yè)面的內(nèi)置腳本是基于Java語(yǔ)言編寫(xiě)的,而且所有JSP頁(yè)面都被編譯成為Java Servlet,因此JSP頁(yè)面就具有Java技術(shù)的所有好處。</p><p>  (2)、動(dòng)態(tài)網(wǎng)頁(yè)簡(jiǎn)介</p><p>  動(dòng)態(tài)HTML(即 DHTML)是近年來(lái)網(wǎng)絡(luò)發(fā)展進(jìn)程中最振奮人心,也最具實(shí)用性的創(chuàng)新之一。所謂動(dòng)態(tài)網(wǎng)頁(yè)就是采用動(dòng)態(tài)HTML制作

112、出來(lái)的具有動(dòng)態(tài)效果的網(wǎng)頁(yè)。</p><p>  有人把動(dòng)態(tài)HTML當(dāng)作一門(mén)語(yǔ)言,也有人把它當(dāng)作一種專門(mén)的技術(shù),這些理解都是不對(duì)的。實(shí)際上,它是一種通過(guò)各種技術(shù)的綜合發(fā)展而得以實(shí)現(xiàn)的概念(當(dāng)然,不同的瀏覽器,實(shí)現(xiàn)的程度也不同),這些技術(shù)包括Javascript、VBScript、Document Object Model(文件目標(biāo)模塊)、Layers和 Cascading Style Sheets(CSS)等。&l

溫馨提示

  • 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論