

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> 隨著科技的發(fā)展和社會的進(jìn)步,計算機(jī)已成為人們生活和工作中的得力助手。特別是現(xiàn)代Internet的Web技術(shù)的發(fā)展大大地推動了社會各個方面的發(fā)展。設(shè)計一個現(xiàn)代的基于ASP.NET的圖書館管理系統(tǒng)勢在必行。</p><p> 圖書館管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維
2、護(hù)以及前端應(yīng)用程序的開發(fā)兩個方面。因此,我在這一部分的開發(fā)中使用的后臺開發(fā)工具是MS SQL Server2000,對于前臺,我選擇了現(xiàn)在流行的Web系統(tǒng)開發(fā)工具ASP.NET。由于ASP.NET Web應(yīng)用程序可以使用多種語言來開發(fā),但我選擇了C#,因為Visual C#.NET是專門針對Microsoft的.NET戰(zhàn)略而推出的語言,它對.NET Framework和ASP.NET具有最為全面的支持??梢哉f,Visual C#.NET
3、是開發(fā)ASP.NET Web應(yīng)用程序最好的語言。</p><p> 在系統(tǒng)的開發(fā)過程中,主要完成對圖書館管理系統(tǒng)(LMS)的需求分析、功能模塊的劃分、數(shù)據(jù)庫模式分析、并在此設(shè)計了數(shù)據(jù)庫結(jié)構(gòu)和應(yīng)用程序的B/S結(jié)構(gòu)。首先是通過MS SQL Server2000對后臺數(shù)據(jù)庫中數(shù)據(jù)表的建立,主要包括了讀者表、管理員表、借書表、圖書信息表等,通過這些表,我們可以實現(xiàn)對讀者基本信息的管理、管理員基本信息的管理、借書信息的管
4、理、圖書基本信息的管理等。通過對各個功能設(shè)計后的運行結(jié)果證明,本文介紹了所設(shè)計的圖書館管理系統(tǒng)可以滿足圖書借閱者、書庫管理員和圖書館總管三方的要求。方便了讀者的借閱方式,也簡化了管理員的手工操作,使整個圖書管理流程方便,快捷。</p><p> 關(guān)鍵字:圖書館管理;LMS;B/S結(jié)構(gòu);C#.NET;數(shù)據(jù)庫</p><p><b> Abstract</b><
5、/p><p> Along with the technical development and society's progress, the computer has become the people to live with the work in primary assistant.Specially the modern Internet Web technology development g
6、reatly impelled the social each aspect development.Designs for a modern age based on the ASP.NET library management system imperative.</p><p> The Library Management System of which development mainly conta
7、ins two aspects that one is the establishment and maintenance of the backstage database and the other is the development of the fore-end application procedures is a typical Management Information System. The reason why I
8、 chose to use the MS SQL Server 2000 as a development tool is that it’s can handle strong data completely and exactly. So to design this part, I chose the development tool ASP.NET on Web System which is now highly spr<
9、;/p><p> I mainly accomplished the analysis of need, the demarcation of function mole and the analysis of database mold of the Library Management System while designed a database structure and the B/S structur
10、e of application procedure during the process of developing this system. Firstly, I created data forms which mainly contain readers form, managing person's form, book-borrowed forms and book information forms and so
11、on of the backstage database by MS SQL Server 2000.These forms can help us managing </p><p> Keywords: Library Manage; LMS; B/S; C#.NET; Database</p><p><b> 目 錄</b></p><
12、;p><b> 第1章 緒 論1</b></p><p> 1.1 圖書館管理系統(tǒng)的開發(fā)背景1</p><p> 1.2 開發(fā)工具介紹2</p><p> 1.2.1 后臺數(shù)據(jù)庫2</p><p> 1.2.2 ASP.NET2</p><p> 第2章 圖書館管理系統(tǒng)
13、的可行性研究及環(huán)境4</p><p> 2.1 可行性研究過程4</p><p> 2.1.1 結(jié)構(gòu)的選擇(b/s與c/s)4</p><p> 2.1.2 技術(shù)可行性4</p><p> 2.1.3 經(jīng)濟(jì)可行性5</p><p> 2.2 操作環(huán)境及運行環(huán)境6</p><p&
14、gt; 2.2.1 所需用的環(huán)境6</p><p> 第3章 圖書館管理系統(tǒng)的需求分析7</p><p> 3.1 圖書館發(fā)展分析7</p><p> 3.2 功能需求8</p><p> 3.2.1 圖書館管理員的需求8</p><p> 3.2.2 讀者的需求10</p>&l
15、t;p> 3.3 性能需求11</p><p> 第4章 圖書館管理系統(tǒng)的概要設(shè)計13</p><p> 4.1 數(shù)據(jù)流圖的分析13</p><p> 4.2 業(yè)務(wù)流圖14</p><p> 4.3 數(shù)據(jù)字典的創(chuàng)建15</p><p> 4.4 系統(tǒng)流程圖18</p><
16、;p> 4.4.1 程序流程圖18</p><p> 4.5 E-R圖分析與設(shè)計19</p><p> 4.6 E-R圖轉(zhuǎn)換成關(guān)系模型22</p><p> 4.7 數(shù)據(jù)庫設(shè)計及范式分析23</p><p> 4.7.1 數(shù)據(jù)庫基礎(chǔ)23</p><p> 4.7.2 范式分析24</
17、p><p> 4.7.3 SQL語言介紹26</p><p> 4.8 數(shù)據(jù)表的創(chuàng)建26</p><p> 第5章 圖書館管理系統(tǒng)的詳細(xì)設(shè)計30</p><p> 5.1 ADO.NET介紹30</p><p> 5.1.1 ADO.NET技術(shù)30</p><p> 5.1.2
18、 ADO.NET 數(shù)據(jù)供應(yīng)器30</p><p> 5.1.3 ADO.NET主要組件30</p><p> 5.2 系統(tǒng)設(shè)計模塊31</p><p> 5.3 對讀者信息界面的設(shè)計32</p><p> 5.4 對圖書查詢界面的設(shè)計35</p><p> 5.5 借書推薦表界面的設(shè)計38<
19、/p><p> 5.6 預(yù)約圖書界面設(shè)計38</p><p> 5.7 催還圖書界面設(shè)計40</p><p> 5.8 對留言板的設(shè)計40</p><p> 5.9 管理員界面設(shè)計41</p><p> 5.9.1 圖書館總管理員42</p><p> 5.9.2 書庫管理員
20、43</p><p> 第6章 圖書館管理系統(tǒng)的測試與維護(hù)46</p><p> 6.1 連接測試46</p><p> 6.2 數(shù)據(jù)庫調(diào)試47</p><p> 6.3 ASP.NET配置文件47</p><p> 第7章 結(jié) 論51</p><p><b>
21、參考文獻(xiàn)52</b></p><p><b> 致 謝53</b></p><p><b> 附 錄54</b></p><p><b> 緒 論</b></p><p> 圖書館管理系統(tǒng)的開發(fā)背景</p><p> 當(dāng)今時代
22、是飛速發(fā)展的信息時代。在各行各業(yè)中離不開信息處理,計算機(jī)被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理,使用計算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。隨著科技的發(fā)展和社會的進(jìn)步,計算機(jī)已成為人們生活和工作中的得力助手。特別是現(xiàn)代Internet的Web技術(shù)的發(fā)展大大地推動了社會各個方面的發(fā)展。隨著多媒體技術(shù)的高速發(fā)展,人們非常希望在網(wǎng)上也能看到漂亮的圖片、聽優(yōu)美的音樂,這時革命性的服務(wù)
23、誕生了,這就是WWW 服務(wù)。</p><p> WWW的全稱是World Wide Web,它是一種以網(wǎng)頁為基本單位構(gòu)建的框架結(jié)構(gòu)。其目的是為了把分布在Internet上數(shù)以萬計的網(wǎng)頁鏈接起來,形成一個龐大的資源信息網(wǎng)??梢哉f,它的影響力已遠(yuǎn)遠(yuǎn)超出了專業(yè)技術(shù)的范疇,進(jìn)入到了廣告、新聞、電子商務(wù)、信息管理服務(wù)等各個領(lǐng)域。它的發(fā)展也逐漸改變了人們的生活方式和工作方式。</p><p> W
24、WW的結(jié)構(gòu)非常簡單,主要分為兩個部分:一為服務(wù)器(Server,或稱遠(yuǎn)端),也就是網(wǎng)頁的提供者;二為客戶端(Client,或稱近端),也就是網(wǎng)頁的接收者。在WWW中,所謂的服務(wù)器端就是存放網(wǎng)頁供用戶瀏覽的網(wǎng)站;而客戶端則是通過網(wǎng)絡(luò)瀏覽頁面的計算機(jī)與用戶的總稱。實際上執(zhí)行于計算機(jī)上供用戶操作、觀看網(wǎng)頁的應(yīng)用程序是瀏覽器(Brower),目前常見的有Microsoft的Internet Explorer(簡稱IE)與Netscape的Com
25、municator(簡稱NC)。整個網(wǎng)頁的瀏覽過程,主要是由客戶端(瀏覽器)向服務(wù)器端(Web服務(wù)器)要求瀏覽某一網(wǎng)頁,Web服務(wù)器便將該網(wǎng)頁傳送給瀏覽器,通過瀏覽器對網(wǎng)頁的解析,再顯示給終端的用戶瀏覽。</p><p> 正是由于Internet在今天的飛速發(fā)展,WWW的Web服務(wù)已成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在人們政治、經(jīng)濟(jì)、生活等各個方面發(fā)揮著重要的作用。Internet上發(fā)布信息主要是
26、通過網(wǎng)站來實現(xiàn)的,獲取信息也是要在Internet“海洋”中按照一定的檢索方式將所需要的信息從網(wǎng)站上下載下來。因此Web服務(wù)網(wǎng)站的建設(shè)在Internet應(yīng)用上的地位顯而易見,它已成為政府、企事業(yè)單位信息化建設(shè)中的重要組成部分,從而倍受人們的重視。</p><p><b> 開發(fā)工具介紹</b></p><p><b> 后臺數(shù)據(jù)庫</b>&l
27、t;/p><p> Microsoft公司的數(shù)據(jù)庫產(chǎn)品是SQL Server,它最早是從Sybase公司買的核心技術(shù)。它在全球的銷量處于第三位。Microsoft公司的SQL Server在我國的主要用戶是中小型企業(yè)和教育機(jī)構(gòu)。SQL Server 2000是微軟公司最新版的大型數(shù)據(jù)庫服務(wù)器,推出后受到用戶的積極響應(yīng)。它使用了最先進(jìn)的數(shù)據(jù)庫構(gòu)架,與Windows NT/2000平臺緊密集成,具有完全的Web功能,人
28、們用它可方便地管理數(shù)據(jù)庫和開發(fā)應(yīng)用程序。它通過對高端硬件平臺、網(wǎng)絡(luò)和存儲技術(shù)的支持,為最大的Web站和企業(yè)的應(yīng)用提供了可擴(kuò)展性和高可靠性,能在Internet商業(yè)領(lǐng)域快速建立應(yīng)用。此外,還增強(qiáng)了安全性,保護(hù)防火墻內(nèi)外的數(shù)據(jù),支持基于角色的安全并擁有安全審計工具。SQL Server 2000數(shù)據(jù)庫服務(wù)器的自動調(diào)整和自動管理技術(shù)在數(shù)據(jù)庫領(lǐng)域中處于領(lǐng)先地位。</p><p> SQL Server 是Microso
29、ft公司開發(fā)的大型關(guān)系數(shù)據(jù)庫管理系統(tǒng),具有強(qiáng)大的關(guān)系數(shù)據(jù)庫創(chuàng)建、開發(fā)、設(shè)計和管理功能。其最新版本SQL Server2000將數(shù)據(jù)庫與Internet緊密連接,可以通過Web瀏覽器顯示數(shù)據(jù)的操作,具有客戶機(jī)/服務(wù)器的結(jié)構(gòu)。SQL Server 2000 提供了對分布式事務(wù)處理的支持,并對開發(fā)工具具有良好的支持,為大型數(shù)據(jù)庫項目提供了企業(yè)級解決方案。</p><p> 因此,我選擇了SQL Server 2000
30、 作為開發(fā)本系統(tǒng)使用的數(shù)據(jù)庫。</p><p><b> ASP.NET</b></p><p> ASP.NET與包括ASP在內(nèi)的Web開發(fā)軟件有著本質(zhì)的不同。ASP.NET完全基于模塊與組件,具有更好的可擴(kuò)展性與可定制性;數(shù)據(jù)處理方面更是引入了許多激動人心的新技術(shù),正是這些具有革新意義的新特性,讓ASP.NET遠(yuǎn)遠(yuǎn)超越了ASP及其它開發(fā)軟件,同時也給Web開發(fā)
31、人員提供了更好的靈活性,有效縮短了Web應(yīng)用程序的開發(fā)周期。ASP.NET與Windows 2000 Server/Advanced Server的完美組合,為中小型乃至企業(yè)級的Web商業(yè)模型提供了一個更為穩(wěn)定、高效和安全的運行環(huán)境。</p><p> 另外就是在.NET 環(huán)境下使用了ADO.NET構(gòu)建數(shù)據(jù)庫應(yīng)用系統(tǒng)中的數(shù)據(jù)訪問層的步驟和方法。由于ADO.NET技術(shù)對ADO數(shù)據(jù)訪問技術(shù)有了較大的改進(jìn),使得開發(fā)人
32、員能夠以較為靈活的方式查詢和操作數(shù)據(jù)以及更新數(shù)據(jù)源,是所有數(shù)據(jù)驅(qū)動的.NET應(yīng)用程序或者Web服務(wù)的核心部件。通過對這些技術(shù)的了解,使我們對.NET環(huán)境下如何開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)有了一個系統(tǒng)的、感性的認(rèn)識。</p><p> 在后臺代碼的功能實現(xiàn)上,ASP.NET Web應(yīng)用程序可以使用多種語言來開發(fā),但是Visual C#.NET作為專門針對Microsoft的.NET戰(zhàn)略而推出的語言,它對.NET Frame
33、work和ASP.NET具有最為全面的支持??梢哉f,Visual C#.NET是開發(fā)ASP.NET Web應(yīng)用程序的最好語言。結(jié)合使用Visual C#.NET和ASP.NET,用戶可以方便的開發(fā)出功能強(qiáng)大的Web應(yīng)用程序。</p><p> ASP.NET的另一個強(qiáng)大的功能是它的網(wǎng)頁處理時的三層構(gòu)架,即瀏覽頁面的前臺HTML實現(xiàn)、瀏覽頁面的后臺C#代碼的編寫及后臺代碼與數(shù)據(jù)庫的連接,正是其有這樣的三層結(jié)構(gòu),所
34、以它的安全性得到了很好的保障,這即為我們在上面所說的ADO.NET的一個具體的形式,也是對ADO.NET的實現(xiàn)方式有一個大概的了解,我們可以通過下面的數(shù)據(jù)訪問流程圖1.1所示:</p><p> 圖 1.1 ASP.NET的三層結(jié)構(gòu)</p><p> 從圖片中可以很明顯的看出,在顯示層中,ASP.NET有自己的顯示頁面(.aspx),在這個顯示頁面中存在著本身的后臺代碼(CodeBe
35、hind),之后在頁面運行時,后臺代碼開始對邏輯層中的Business Layer的調(diào)用,觸發(fā)系統(tǒng)后臺的另外的.dll文件的運行,然后就是Business Layer通過關(guān)鍵字對Data Layer層文件的連接,最后對數(shù)據(jù)庫的直接的訪問是Data Layer中的層文件,通過數(shù)據(jù)庫的訪問后取得的數(shù)據(jù)按每層相連的方式再返回到ASP.NET的顯示頁面顯示出來,用戶即可以瀏覽取到的數(shù)據(jù)。通過前臺的首次請求到最后數(shù)據(jù)的顯示通過幾個層次,所以要想通
36、過非法的手段去修改數(shù)據(jù)庫那將是非常困難的。也正是由于ASP.NET的這種完美的功能,所以所做的圖書館管理系統(tǒng)也就選擇了這種開發(fā)平臺。</p><p> 圖書館管理系統(tǒng)的可行性研究及環(huán)境</p><p><b> 可行性研究過程</b></p><p> 結(jié)構(gòu)的選擇(b/s與c/s)</p><p> 隨著技術(shù)的進(jìn)
37、步,更多的層次被劃分出來。目前,在Internet應(yīng)用體系結(jié)構(gòu)中,商務(wù)邏輯處理被單獨劃分為一層,作為Internet服務(wù)器。它對用戶通過瀏覽器提交的表單進(jìn)行分析,并得出對數(shù)據(jù)庫服務(wù)器進(jìn)行的查詢,交給數(shù)據(jù)庫服務(wù)器去執(zhí)行并得到查詢的結(jié)果,最后由Internet服務(wù)器用標(biāo)準(zhǔn)的HTML語言反饋回瀏覽器,稱為B/S(Brother/Server)結(jié)構(gòu)。</p><p> 計算機(jī)技術(shù)發(fā)展日新月異,傳統(tǒng)的 C/S結(jié)構(gòu),即Cl
38、ient/Server(客戶機(jī)/服務(wù)器)結(jié)構(gòu),是大家熟知的軟件系統(tǒng)體系結(jié)構(gòu),通過將任務(wù)合理分配到Client端和Server端,降低了系統(tǒng)的通訊開銷,可以充分利用兩端硬件環(huán)境的優(yōu)勢。而B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實現(xiàn),一部分事務(wù)邏輯在前端實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實現(xiàn),形成所謂3-
39、tier結(jié)構(gòu)。B/S結(jié)構(gòu)利用不斷成熟和普及的瀏覽器技術(shù)實現(xiàn)原來需要復(fù)雜專用軟件才能實現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu),microsoft.net也是在這樣一種背景下被提出來的架構(gòu),但微軟的方案只是一種構(gòu)想,要成為現(xiàn)實還需要幾年,而JAVA技術(shù)已經(jīng)是很成熟的應(yīng)用了。傳統(tǒng)的C/S體系結(jié)構(gòu)雖然采用的是開放模式,但這只是系統(tǒng)開發(fā)一級的開放性,在特定的應(yīng)用中無論是Client端
40、還是Server端都還需要特定的軟件,沒能提供用戶真正期望的開放環(huán)境;</p><p><b> 技術(shù)可行性</b></p><p> 計算機(jī)進(jìn)行信息管理與信息管理系統(tǒng)的開發(fā)密切相關(guān),系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了管理好圖書館信息而設(shè)計的。下面從前臺和后臺的開發(fā)工具選擇上分析一下其技術(shù)的可行性。</p><p> 微軟公司開發(fā)
41、的ASP.NET,讓ASP.NET遠(yuǎn)遠(yuǎn)超越了ASP及其它開發(fā)軟件,同時也給Web開發(fā)人員提供了更好的靈活性,有效縮短了Web應(yīng)用程序的開發(fā)周期。而SQL Server 是Microsoft公司開發(fā)的大型關(guān)系數(shù)據(jù)庫管理系統(tǒng),具有強(qiáng)大的關(guān)系數(shù)據(jù)庫創(chuàng)建、開發(fā)、設(shè)計和管理功能。其版本SQL Server2000將數(shù)據(jù)庫與Internet緊密連接,可以通過Web瀏覽器顯示數(shù)據(jù)的操作,具有客戶機(jī)/服務(wù)器的結(jié)構(gòu)。SQL Server 2000 提供了
42、對分布式事務(wù)處理的支持,并對開發(fā)工具具有良好的支持,為大型數(shù)據(jù)庫項目提供了企業(yè)級解決方案。</p><p> ASP.NET與Windows 2000 Server/Advanced Server的完美組合,建立一個圖書管理系統(tǒng),使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時、準(zhǔn)確、有效的查詢和修改圖書情況。因此我們在圖書館管理系統(tǒng)中使用了在.NET環(huán)境基于We
43、b頁面的B/S服務(wù)模式,我們只要在一臺服務(wù)器上安裝.NET工具M(jìn)icrosoft Visual Studio.NET或者.NET Framework,另外就是對系統(tǒng)組件添加一個IIS的虛擬目錄,把這臺電腦做成一臺Web服務(wù)器。另外我們所要做的就是在任何一臺裝有IE瀏覽器的地址欄中輸入服務(wù)器的地址就可以對Web頁面的訪問。后臺代碼的分離使得后臺數(shù)據(jù)庫的安全性得到了保證,如果瀏覽者要對后臺數(shù)據(jù)的操作必須經(jīng)過后臺代碼的調(diào)用,后臺代碼通過關(guān)鍵字
44、與 Web.config 字符串連接,最后是Web.config 才與數(shù)據(jù)庫的實質(zhì)性操作,由于其每一層數(shù)據(jù)訪問都有相應(yīng)的設(shè)置,所以要想對后臺數(shù)據(jù)庫的破壞那是很難的。</p><p><b> 經(jīng)濟(jì)可行性</b></p><p> 在系統(tǒng)運行后的維護(hù)是非常重要的,并且其維護(hù)的費用還是很大的,如果是一個Windows Form的管理系統(tǒng),要對數(shù)據(jù)的維護(hù)將要付出很大的代
45、價,而且它的維護(hù)人員也比較的多和分散,因此對數(shù)據(jù)庫的操作在各個時間段都是很頻繁的,人也很容易出現(xiàn)疲勞,問題也就會比較容易發(fā)生。但是我們現(xiàn)在用基于Web的B/S模型,我們修改數(shù)據(jù)的操作只在服務(wù)器端就可以了,而且它的人員也比較集中,對數(shù)據(jù)的修改只是在某段時間內(nèi)比較的頻繁,過了這個時間后就較輕松,所以人的精力也比較集中,那么數(shù)據(jù)庫的操作也就不怎么會出現(xiàn)問題,因此在這方面的維護(hù)費用也大大的減少。</p><p> 另外
46、在經(jīng)濟(jì)的可行性還體現(xiàn)在由于ASP.NET的前后臺代碼的分離,對代碼的修改是呈現(xiàn)模塊化的,不必要全方位的去修改。所以當(dāng)代碼出現(xiàn)問題時,我們設(shè)計的系統(tǒng)可以在不修改其它代碼的同時只是對問題代碼的修改,這樣就不會引入新的系統(tǒng)問題。</p><p><b> 操作環(huán)境及運行環(huán)境</b></p><p><b> 所需用的環(huán)境</b></p>
47、<p> 軟件環(huán)境:操作系統(tǒng):Windows XP, 數(shù)據(jù)庫;SQL Sverver 2000,前臺環(huán)境:Dreamweaver,Visual Studio.NET</p><p> 硬件環(huán)境:Cpu: Pentium 166 MHz 以上,內(nèi)存至少128 MB,硬盤空間80 M,顯示器800 *600或更高分辨率。</p><p> 圖書館管理系統(tǒng)的需求分析</
48、p><p><b> 聊天室發(fā)展分析</b></p><p> 聊天室是當(dāng)今廣泛應(yīng)用的一種網(wǎng)絡(luò)服務(wù), 它為廣大網(wǎng)民提供了一種方便快捷的溝通方式, 在線聊天是上網(wǎng)的重要活動之一。第十六次CNNIC 調(diào)查結(jié)果顯示: 在網(wǎng)絡(luò)用戶經(jīng)常使用的網(wǎng)絡(luò)服務(wù)/功能調(diào)查中, 網(wǎng)上聊天( 聊天室、QQ、ICQ 等)占被調(diào)查人群的42.6%, 處于第四位, 作為操作簡便也是出現(xiàn)最早的網(wǎng)上聊天
49、方式, 聊天室聊天又是其中最普及的一種。而多數(shù)人認(rèn)為聊天室是一種用來消遣而缺乏實際價值的東西, 許多大型網(wǎng)站建立了聊天室, 但基本上是被定義為聚攏人氣而不是帶來收益的一種服務(wù)項目。目前能夠?qū)崿F(xiàn)贏利的聊天室很少, 它是否具有商業(yè)價值以及其商業(yè)價值如何兌現(xiàn)的問題似乎并沒有引起學(xué)界的關(guān)注。</p><p> 筆者認(rèn)為聊天室具有極大的商業(yè)價值。在網(wǎng)站由窄帶向?qū)拵Оl(fā)展的今天, 新一代的聊天室充分利用富媒體技術(shù), 以嶄新的
50、形象吸引受眾視聽。文本方式聊天室: 基于Web 的聊天室有其獨特的優(yōu)勢。它不需要安裝專門的軟件,Web 瀏覽器就可以使用聊天服務(wù);它集成在Web 服務(wù)器中,不需額外的硬件支持,便于廣大中小型客戶建設(shè)和使用。所以, 基于Web 的聊天室仍然被廣泛采用。但是單純聊天的一般內(nèi)容比較單一,主要局限于角色認(rèn)知過程中職業(yè)、地域、性別等方面的擴(kuò)展,難以實現(xiàn)“ 失去他人注視的真實自我的展現(xiàn)”。視頻聊天室、語音聊天室、動畫聊天室: 隨著富媒體技術(shù)的廣泛應(yīng)
51、用, 一種結(jié)合文本、語音和人臉動畫或視頻的三維語音視頻聊天室在互聯(lián)網(wǎng)上出現(xiàn)。比如碧聊、E 聊視頻聊天室等。視頻聊天室、語音聊天室主要特點是利用寬帶技術(shù), 在聊天室中增加視頻與語音功能。動畫聊天室的一般模式是由客戶端和服務(wù)器兩部分組成, 多個用戶利用客戶端連接到服務(wù)器上, 用戶可以輸入文本并且選擇各種表情, 由客戶端混合成帶有表情標(biāo)簽的文本傳送給服務(wù)器。服務(wù)器將該用戶的三維人臉模型以及帶有表情標(biāo)簽的文本傳送給接收方, 由接收方的客戶端合成
52、為帶有表情</p><p> 本論文介紹用JAVA語言設(shè)計和實現(xiàn)一個網(wǎng)絡(luò)聊天室的過程,本系統(tǒng)采用B/S構(gòu)架設(shè)計,整個項目分為服務(wù)器端和客戶端。使用了JSP技術(shù),開發(fā)出簡潔美觀和布局合理的用戶界面;利用異步交互技術(shù)(AJAX)實現(xiàn)了客戶端和服務(wù)器的訪問,實現(xiàn)網(wǎng)絡(luò)功能;通過對數(shù)據(jù)流操作的合理設(shè)計,實現(xiàn)信息傳遞、接受和數(shù)據(jù)保存。同時,采用多線程、多任務(wù)的設(shè)計思想,開發(fā)出性能穩(wěn)定,功能全面的服務(wù)器。本聊天室實現(xiàn)了企業(yè)內(nèi)
53、部員工的聊天功能。在聊天過程中可以使用修改字體顏色、發(fā)送表情等功能,豐富了聊天功能。同時,本聊天室實現(xiàn)了企業(yè)內(nèi)部的共享資料下載功能。企業(yè)內(nèi)部員工可以在共享中心中下載企業(yè)內(nèi)部資料,快捷方便。</p><p><b> 功能需求</b></p><p> 通過聊天室,用戶可以自定義個人資料,可以以不同的身份實時發(fā)送聊天信息,可以指定聊天的對象,發(fā)送信息也可以進(jìn)行各種設(shè)
54、置包括聊天者的表情及文字顏色,功能更強(qiáng)大的聊天室不僅提供了文字聊天功能還支持視頻和音頻、傳送文件、留言板等功能。聊天室的特點就是要求能夠進(jìn)行實時顯示出聊天者所談的內(nèi)容。所謂“實時”就是指在同一個聊天室的不同使用者,可以在短時間里立刻看到其他人的發(fā)言,這與我們所說的論壇有很大的不同。從功能上講,網(wǎng)上聊天室系統(tǒng)與論壇系統(tǒng)非常相似,但聊天室系統(tǒng)有自己的特點。它強(qiáng)調(diào)信息的即使性,在聊天室保持連接的狀態(tài)下,要求能夠?qū)崟r顯示出聊天者所談的內(nèi)容系統(tǒng)沒
55、有刻意追求專業(yè)性和商品化軟件的華麗包裝,而是本著簡單、實用的原則,既在功能滿足客戶的需求,有力求操作簡便,使本系統(tǒng)很容易掌握和使用。</p><p> 本聊天室主要實現(xiàn)了以下功能: 用戶注冊登陸聊天室、聊天室把語句寫入數(shù)據(jù)庫、 修改聊天語句的顏色、改變聊天對象、設(shè)置發(fā)言人的表情、瀏覽器不斷的對數(shù)據(jù)庫進(jìn)行刷新 讀取、實時更新在線的用戶。</p><p><b> 聊天室管理員的
56、需求</b></p><p> 管理員進(jìn)入后臺對登錄密碼的修改;管理員可以對其他用戶進(jìn)行刪除,修改操作;管理員能夠?qū)τ脩粜畔⑦M(jìn)行管理操作;管理員能夠刪除網(wǎng)站發(fā)布的共享資料進(jìn)行上傳,刪除,修改,以及及時更新等。管理員可以限制某用戶的登錄,將某用戶踢出聊天室,方便企業(yè)管理者的管理。</p><p> 后臺登錄密碼的修改: 管理員可以對自己的后臺登陸密碼進(jìn)行修改,方便對聊天室的管
57、理,防止密碼丟失或泄漏。</p><p> 用戶信息的修改和刪除: 管理員可以修改用戶的信息。當(dāng)有用戶惡意破壞聊天室環(huán)境,像刷屏、謾罵等行為時,管理員可以根據(jù)需要刪除一個用戶,這對聊天室的管理師至關(guān)重要的。</p><p> 共享資料的管理: 管理員可以上傳和刪改共享資料,及時進(jìn)行更新,方便用戶的需要,對企業(yè)更是效用明顯,員工將企業(yè)的資源共享,不同的員工可以各需所用,不必到處奔波詢問,
58、大大的提高了員工們的工作效率,同時對一些無用的資源進(jìn)行甄別篩選。</p><p> 用戶踢出聊天室: 聊天室中避免不了會有一些人進(jìn)行惡意刷屏,嚴(yán)重影響用戶們對聊天室的使用,使一些有用的重要信息遺漏。還有的用戶不能控制自己的言語,往往進(jìn)行謾罵,更是影響他人對聊天室的使用。管理員遇到這些影響聊天室整體環(huán)境的行為時,可以對該用戶進(jìn)行懲罰,將其踢出網(wǎng)絡(luò)聊天室,對其進(jìn)行警告,維護(hù)聊天室的整體環(huán)境,這個功能也是網(wǎng)絡(luò)聊天室必
59、不可少的功能。</p><p><b> 用戶的需求</b></p><p> 用戶注冊登陸聊天室,用戶可以自定義個人資料,群聊,可以指定聊天的對象,修改聊天語句的顏色,發(fā)送表情,上傳、下載共享資料。</p><p> 用戶注冊登陸聊天室:用戶沒有賬號是不能登陸聊天室的,也就不能使用聊天室進(jìn)行聊天以及上傳、下載資料。第一次使用時需要注冊網(wǎng)
60、絡(luò)聊天室賬號,然后登陸方可使用聊天室。</p><p> 自定義個人資料: 用過聊天室的朋友們都知道,網(wǎng)絡(luò)上的用戶很多,要注意自己的個人信息不能泄露是最重要的,網(wǎng)絡(luò)聊天室的最大特點就是聊天的人們不知道說話的是誰,所以大家可以暢所欲言,員工可以大膽的給上級提意見而不必害怕上級找自己麻煩,所以聊天室里個人信息對用戶很重要,本聊天室的用戶可以隨時修改自己的個人資料,大大方便了用戶們的需要,尤其是企業(yè),員工和領(lǐng)導(dǎo)都可以
61、暢所欲言虛心接受善意的言論。</p><p> 群聊: 聊天室提供群聊功能,群聊功能是聊天室里的重要功能,當(dāng)企業(yè)有集體活動時、需要開會進(jìn)行通知時等等,只要在群聊窗口進(jìn)行通知,大家就可以收到通知,而無需進(jìn)行奔走相告,大大節(jié)省了人力成本。平時大家也可以在群聊窗口進(jìn)行聊天,交流交流工作心得,方便大家提升業(yè)務(wù)能力;或是交流一些重要信息;也可以進(jìn)行文字會議,利用群聊功能開會,大大節(jié)省成本和效率,群聊是聊天室的重要功能。&
62、lt;/p><p> 指定聊天的對象: 也就是私聊。有些信息只需要和一個人或是個別人進(jìn)行交流,像是要好的朋友進(jìn)行聊天,或是很隱私的信息進(jìn)行交流,或者是部門內(nèi)部的信息需要交流等,這是我們就要用到私聊功能,畢竟群聊是所有用戶都會看到的信息,私聊功能是聊天室中最常用的功能。</p><p> 修改聊天語句的顏色,發(fā)送表情:這是很人性化得功能,修改字體顏色可以對所發(fā)信息的側(cè)重點進(jìn)行區(qū)分,也可以區(qū)別
63、于正常字體,吸引人的注意,這是一個</p><p> 個性化的時代。發(fā)送表情可以活躍氣氛,充分表達(dá)自己的情感,這是一個很有趣的功能,在企業(yè)內(nèi)部使用時,也會讓大家在緊張的工作中得到適當(dāng)?shù)姆潘?,提高工作效率?lt;/p><p> 上傳、下載共享資料:用戶可以下載共享資料中的資源方便自己,也可以上傳手中有的資源到共享資料中,方便大家。</p><p><b>
64、 性能需求</b></p><p> (1)界面需求:具有友好的用戶操作界面,有良好的人機(jī)接口,方便用戶使用。</p><p> (2)靈活性:資源下載系統(tǒng)、管理員可以進(jìn)行有選擇性的更新。</p><p> (3)穩(wěn)定性:系統(tǒng)應(yīng)具備長期持續(xù)工作的能力;使數(shù)據(jù)庫的一致性控制在可操作范圍內(nèi);避免因系統(tǒng)引起的死機(jī)現(xiàn)象。</p><p
65、> (4)安全性:有良好的用戶身份認(rèn)證體制和靈活的密碼更改模塊;管理員可以靈活修改。</p><p> 圖書館管理系統(tǒng)的概要設(shè)計</p><p><b> 數(shù)據(jù)流圖的分析</b></p><p> 數(shù)據(jù)流程圖是在系統(tǒng)分析員在系統(tǒng)設(shè)計階段,對實際構(gòu)建的系統(tǒng)分析綜合后,提取邏輯模型的一個過程,它更關(guān)注于過程內(nèi)數(shù)據(jù)的處理,而把具體處理數(shù)
66、據(jù)的物理過程,物理分布忽略。實際上,最初始的數(shù)據(jù)流程圖標(biāo)準(zhǔn)圖元只有四個!實體,過程,數(shù)據(jù)流,數(shù)據(jù)的存儲。并且,數(shù)據(jù)流的分析過程是逐步對實際過程求精的,從頂層數(shù)據(jù)流圖,到分層數(shù)據(jù)流圖,數(shù)據(jù)流,過程類型也逐步增加,直到形成最后的數(shù)據(jù)字典和底層數(shù)據(jù)流圖。數(shù)據(jù)流程圖進(jìn)一步舍去物質(zhì)要素,收集有關(guān)資料,用計算機(jī)進(jìn)行信息管理,為下一步分析做好準(zhǔn)備。</p><p> 數(shù)據(jù)流圖是描述各個子塊之間如何進(jìn)行數(shù)據(jù)傳遞:數(shù)據(jù)字典相當(dāng)于
67、數(shù)據(jù)庫中的對照表,把你認(rèn)識的符號和系統(tǒng)中的符號對應(yīng)起來!對于一個系統(tǒng)的設(shè)計過程的完成,首要的一步就是我們要對系統(tǒng)中操作的數(shù)據(jù)在構(gòu)架中的流程有一個大概的了解。通過了解后我們就可以畫出系統(tǒng)的流程圖。</p><p> 通過上面功能需求分析我們可以很明顯地看到該系統(tǒng)所要實現(xiàn)的各個功能,并且在實現(xiàn)各個功能的過程中,應(yīng)該注意到一些什么樣的問題,在后面的設(shè)計中,我們就可以避免這些不必要的麻煩出現(xiàn),防患與未然。也正是這樣,我
68、們設(shè)計了系統(tǒng)流程圖來分析各個環(huán)節(jié),說明該系統(tǒng)的框架,使讀者在數(shù)據(jù)流程方面對本系統(tǒng)又有了一個整體上的認(rèn)識。</p><p> 在上面的功能需求分析中我們已做了詳細(xì)的分析,故該系統(tǒng)的數(shù)據(jù)流圖如圖4.1所示:</p><p> F16 查詢信息 F14</p><p><b> 事務(wù)</b></p><p
69、> 用戶 F15 借還信息</p><p> F17 提交 F18還書信息</p><p><b> F12 提交</b></p><p> 圖 4.1 數(shù)據(jù)流圖</p><p><b>
70、 業(yè)務(wù)流圖</b></p><p> 業(yè)務(wù)流程圖是一種描述系統(tǒng)內(nèi)各單位、人員之間業(yè)務(wù)關(guān)系、作業(yè)順序和管理信息流向的圖表,利用它可以幫助分析人員找出業(yè)務(wù)流程中的不合流理向,它是物理模型。</p><p> 業(yè)務(wù)流程圖描述的是完整的業(yè)務(wù)流程,以業(yè)務(wù)處理過程為中心,一般沒有數(shù)據(jù)的概念。 </p>
71、<p> 業(yè)務(wù)流程圖是一種能全面地描述信息系統(tǒng)邏輯模型的主要工具,它可以用少數(shù)幾種符號綜合地反映出信息在系統(tǒng)中的流動、處理和存儲情況,業(yè)務(wù)程圖是邏輯模型。業(yè)務(wù)流圖如圖4.2所示:</p><p> 圖 4.2 業(yè)務(wù)流程圖</p><p> 客戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫結(jié)構(gòu)能充分滿足各種信息的輸入和輸出。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)
72、據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計打下基礎(chǔ)。在處理借閱的時候,要能夠讓客戶方便地進(jìn)行查詢,閱覽??梢圆樵兘栝啍?shù)量和借出日期,并且了解圖書信息和歸還時間,如果超過了一定的日期,則應(yīng)該加收一部分錢。這樣避免客戶一直占用著一些書。另外,在管理方面,增加圖書的時候,應(yīng)該考慮已經(jīng)預(yù)約的用戶,將剩余的圖書加入數(shù)據(jù)庫。</p><p><b> 數(shù)據(jù)字典的創(chuàng)建</b></p&g
73、t;<p> 數(shù)據(jù)字典中有四種類型的條目:數(shù)據(jù)流,數(shù)據(jù)存儲,數(shù)據(jù)項和加工。 數(shù)據(jù)字典中包括數(shù)據(jù)定義,但除了它之外,還包含其它一些信息:一般信息,包括名字,別名和描述; 數(shù)據(jù)定義,包括數(shù)據(jù)類型,數(shù)據(jù)長度和結(jié)構(gòu)組成;數(shù)據(jù)的使用特點,包含數(shù)據(jù)的取值范圍,使用頻率和使用方式;數(shù)據(jù)的控制信息,包括數(shù)據(jù)來源,用戶,使用它的程序和改變權(quán)。 </p><p> 作用:數(shù)據(jù)字典和數(shù)據(jù)流圖共同構(gòu)成系統(tǒng)的邏輯模型。
74、沒有流圖數(shù)據(jù)字典難以發(fā)揮作用。沒有數(shù)據(jù)字典,數(shù)據(jù)流圖就不嚴(yán)格數(shù)據(jù)字典是關(guān)于數(shù)據(jù)信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素定義的集合。任何字典最主要的用途都是供人查閱不了解的條目的解釋,數(shù)據(jù)字典的作用也正是在軟件分析和設(shè)計過程中給人提供關(guān)于數(shù)據(jù)的描述信息。數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒有數(shù)據(jù)字典數(shù)據(jù)流圖就不嚴(yán)格,然而沒有數(shù)據(jù)流圖數(shù)據(jù)字典也難于發(fā)揮作用。只有數(shù)據(jù)流圖和對數(shù)據(jù)流圖精確的定義放在一起,才能共同構(gòu)成系統(tǒng)的規(guī)格說明。
75、 由于元素太多我們只對其中主要的元素定義說明。</p><p> 數(shù)據(jù)字典的主要用途是作為分子階段的主要工具。在數(shù)據(jù)字典中建立一組嚴(yán)密一致的定義很有助于改進(jìn)分析員和客戶之間的通信,因此將消除很多可能的誤解。數(shù)據(jù)字典包含的每個數(shù)據(jù)元素的控制信息是很有價值的。因為列出了使用一個給定的數(shù)據(jù)元素所有程序,很容易估計改變一個元素將產(chǎn)生的影響,并且能對所有受影響的程序或模塊做出相應(yīng)改變。由于暫時還沒有自動的數(shù)據(jù)字典處理程序
76、,我們采用卡片形式書寫數(shù)據(jù)字典,每張卡片上保存描述一個數(shù)據(jù)元素的信息。這種做法較好的實現(xiàn)了上述要求,特別是更新修改起來很方便,能夠單獨處理每個數(shù)據(jù)元素的信息。每張卡片上包含的信息有:名字,別名,描述,定義,位置。</p><p><b> 系統(tǒng)流程圖</b></p><p><b> 程序流程圖</b></p><p>
77、; 圖 4.3 系統(tǒng)流程圖</p><p> 如圖4.3所示各個流程的基本功能:</p><p> 用戶管理包括對用戶信息、權(quán)限控制等功能。管理員又有書庫管理員和圖書館總管,這些用戶登錄的界面是不同的,登錄后的系統(tǒng)頁面也有很大的區(qū)別。其中圖書館總管進(jìn)入的界面主要是以信息的管理和維護(hù)為主,包括了讀者信息的查詢、添加、刪除、修改,圖書信息的查詢、添加、刪除、修改以及書庫管理員的一些信息的
78、更新的操作;書庫管理員進(jìn)入的界面是對讀者到圖書館借閱圖書、歸還圖書的操作及自己登錄密碼的修改等操作,普通用戶能執(zhí)行除了用戶管理的所有功能。</p><p> 圖書管理可以對圖書進(jìn)行操作,包括添加、刪除、變更以及出庫、歸還管理。</p><p> 圖書查詢可以對讀者定制的查詢條件進(jìn)行查詢。</p><p><b> E-R圖分析與設(shè)計</b>
79、;</p><p> 利用ER方法進(jìn)行數(shù)據(jù)庫的概念設(shè)計,可分成三步進(jìn)行:首先設(shè)計局部ER模式,然后把各局部ER模式綜合成一個全局模式,最后對全局ER模式進(jìn)行優(yōu)化,得到最終的模式,即概念模式。</p><p> 1.設(shè)計局部ER模式</p><p><b> 實體和屬性的定義:</b></p><p> 圖書(圖書
80、編號,圖書名稱,作者,出版社,出版日期,價格)</p><p> 借閱者(借書證號,姓名,性別,年級,密碼)</p><p> 圖書類別(圖書類別編號,類別描述)</p><p> ER模型的“聯(lián)系”用于刻畫實體之間的關(guān)聯(lián)。一種完整的方式是對局部結(jié)構(gòu)中任意兩個實體類型,依據(jù)需求分析的結(jié)果,考察局部結(jié)構(gòu)中任意兩個實體類型之間是否存在聯(lián)系。若有聯(lián)系,進(jìn)一步確定是1
81、:N,M:N,還是1:1等。還要考察一個實體類型內(nèi)部是否存在聯(lián)系,兩個實體類型之間是否存在聯(lián)系,多個實體類型之間是否存在聯(lián)系,等等。聯(lián)系定義如圖4-5所示。解釋如下:</p><p> 一個借閱者(用戶)只能具有一種身份,而一種身份可被多個借閱者所具有;</p><p> 一本圖書只能屬于一種圖書類別(類別),而一種圖書類別可以包含 多本圖書;</p><p>
82、 一個用戶可以借閱多本不同的書,而一本書也可以被多個不同的用戶所借閱。</p><p> 2.設(shè)計全局ER模式</p><p> 所有局部ER模式都設(shè)計好了后,接下來就是把它們綜合成單一的全局概念結(jié)構(gòu)。全局概念結(jié)構(gòu)不僅要支持所有局部ER模式,而且必須合理地表示一個完整、一致的數(shù)據(jù)庫概念結(jié)構(gòu)。</p><p> 1)確定公共實體類型</p>&l
83、t;p> 為了給多個局部ER模式的合并提供開始合并的基礎(chǔ),首先要確定各局部結(jié)構(gòu)中的公共實體類型。在這一步中我們僅根據(jù)實體類型名和鍵來認(rèn)定公共實體類型。一般把同名實體類型作為公共實體類型的一類候選,把具有相同鍵的實體類型作為公共實體類型的另一類候選。</p><p> 2) 局部ER模式的合并</p><p> 合并的原則是:首先進(jìn)行兩兩合并;先和合并那些現(xiàn)實世界中有聯(lián)系的局部結(jié)
84、構(gòu);合并從公共實體類型開始,最后再加入獨立的局部結(jié)構(gòu)。</p><p> 設(shè)計全局ER模式的目的不在于把若干局部ER模式形式上合并為一個ER模式,而在于消除沖突,使之成為能夠被所有用戶共同理解和接受的同一的概念模型。</p><p> 首先在該過程中發(fā)生的實體是圖書信息和用戶信息,他們之間產(chǎn)生的關(guān)系是借閱關(guān)系。</p><p> 在這個借閱關(guān)系中,產(chǎn)生的對應(yīng)關(guān)
85、系為:圖書信息:用戶 = 1:1,用戶:圖書 = 1:N,從這個關(guān)系中我們可以看到:每一本圖書只能被一個讀者借閱,而一個讀者又可以借閱多本圖書的這層關(guān)系。另外在上圖中我們可以看到圖書信息和用戶信息又有自己的一些關(guān)系屬性,通過這些關(guān)系屬性可以唯一的區(qū)別這些實體。這在下面的圖4.4—圖4.9中可以看出</p><p> n
86、 n m</p><p> m </p><p> m n</p><p> 圖 4.4 總體ER屬性圖</p><p> 圖 4.5 圖書屬性圖</p><p> 圖
87、 4.6 借閱信息屬性圖</p><p> 圖 4.7 用戶信息屬性圖</p><p> 圖 4.8 預(yù)約信息屬性圖</p><p> 圖 4.9推薦信息屬性圖</p><p> E-R圖轉(zhuǎn)換成關(guān)系模型</p><p> 由于概念設(shè)計的結(jié)果是ER圖,DBMS一般采用關(guān)系型(本人所使用的MS SQL Serve
88、r就是關(guān)系型的DBMS),因此數(shù)據(jù)庫的邏輯設(shè)計過程就是把ER圖轉(zhuǎn)化為關(guān)系模式的過程。由于關(guān)系模型所具有的優(yōu)點,邏輯設(shè)計可以充分運用關(guān)系數(shù)據(jù)庫規(guī)范化理論,使設(shè)計過程形式化地進(jìn)行,導(dǎo)出系統(tǒng)主要的初始關(guān)系模式如圖4.10所示:</p><p> 圖 4.10關(guān)系模式圖</p><p> 數(shù)據(jù)庫設(shè)計及范式分析</p><p> 一個成功的信息管理系統(tǒng),是建立在許多條件
89、之上的,而數(shù)據(jù)庫是其中一個非常重要的條件和關(guān)鍵技術(shù)。信息管理系統(tǒng)所涉及的數(shù)據(jù)庫設(shè)計分五個步驟:數(shù)據(jù)庫需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計與加載測試。</p><p> 1. 數(shù)據(jù)庫需求分析的任務(wù)是將業(yè)務(wù)管理單證流化為數(shù)據(jù)流,劃分主題之間的邊界,繪制出DFD圖,并完成相應(yīng)的數(shù)據(jù)字典。</p><p> 2. 概念設(shè)計的任務(wù)是從DFD出發(fā),繪制出本主題的實體-關(guān)系圖,
90、并列出各個實體與關(guān)系的綱要表。</p><p> 3. 邏輯設(shè)計的任務(wù)是從E-R圖與對應(yīng)的綱要表出發(fā),確定各個實體及關(guān)系的表名屬性。</p><p> 4. 物理設(shè)計的任務(wù)是確定所有屬性的類型、寬度與取值范圍,設(shè)計出基本表的主鍵,將所有的表名與字段名英文化(現(xiàn)在很多軟件能支持中文字段,如MS SQL Server,我就是用的中文字段名),實現(xiàn)物理建庫,完成數(shù)據(jù)庫物理
91、設(shè)計字典。</p><p> 5. 加載測試工作貫穿于程序測試工作的全過程,整個錄入、修改、查詢、處理工作均可視為對數(shù)據(jù)庫的加載測試工作。數(shù)據(jù)庫的設(shè)計中,如何處理多對多的關(guān)系和如何設(shè)計主鍵,是兩個有著較大難度、需要重點考慮的問題。下面我們著重從SQL應(yīng)用、數(shù)據(jù)庫設(shè)計范式和查詢優(yōu)化等方面來分析本課題的系統(tǒng)關(guān)鍵技術(shù)和實現(xiàn)難點并加以解決。</p><p><b> 數(shù)據(jù)庫
92、基礎(chǔ)</b></p><p> 數(shù)據(jù)庫設(shè)計主要是進(jìn)行數(shù)據(jù)庫的邏輯設(shè)計,即將數(shù)據(jù)按一定的分類、分組系統(tǒng)和邏輯層次組織起來,是面向用戶的。數(shù)據(jù)庫設(shè)計時需要綜合企業(yè)各個部門的存檔數(shù)據(jù)和數(shù)據(jù)需求,分析各個數(shù)據(jù)之間的關(guān)系,按照DBMS提供的功能和描述工具,設(shè)計出規(guī)模適當(dāng)、正確反映數(shù)據(jù)關(guān)系、數(shù)據(jù)冗余少、存取效率高、能滿足多種查詢要求的數(shù)據(jù)模型。</p><p> 數(shù)據(jù)庫設(shè)計的步驟是:&
93、lt;/p><p> 1.數(shù)據(jù)庫結(jié)構(gòu)定義:目前的數(shù)據(jù)庫管理系統(tǒng)(DBMS)有的是支持聯(lián)機(jī)事務(wù)處理CLTP(負(fù)責(zé)對事務(wù)數(shù)據(jù)進(jìn)行采集、處理、存儲)的操作型DBMS,有的可支持?jǐn)?shù)據(jù)倉庫、有聯(lián)機(jī)分析處理CLAP(指為支持決策的制定對數(shù)據(jù)的一種加工操作)功能的大型DBMS,有的數(shù)據(jù)庫是關(guān)系型的、有的可支持面向?qū)ο髷?shù)據(jù)庫。針對選擇的DBMS,進(jìn)行數(shù)據(jù)庫結(jié)構(gòu)定義。</p><p> 2.數(shù)據(jù)表定義:數(shù)據(jù)
94、表定義指定義數(shù)據(jù)庫中數(shù)據(jù)表的結(jié)構(gòu),數(shù)據(jù)表的邏輯結(jié)構(gòu)包括:屬性名稱、類型、表示形式、缺省值、校驗規(guī)則、是否關(guān)鍵字、可否為空等。關(guān)系型數(shù)據(jù)庫要盡量按關(guān)系規(guī)范化要求進(jìn)行數(shù)據(jù)庫設(shè)計,但為使效率高,規(guī)范化程度應(yīng)根據(jù)應(yīng)用環(huán)境和條件來決定。數(shù)據(jù)表設(shè)計不僅要滿足數(shù)據(jù)存儲的要求,還要增加一些如反映有關(guān)信息、操作責(zé)任、中間數(shù)據(jù)的字段或臨時數(shù)據(jù)表。</p><p> 3. 存儲設(shè)備和存儲空間組織:確定數(shù)據(jù)的存放地點、存儲路
95、徑、存儲設(shè)備等,備份方案,對多版本如何保證一致性和數(shù)據(jù)的完整性。</p><p> 4. 數(shù)據(jù)使用權(quán)限設(shè)置:針對用戶的不同使用要求,確定數(shù)據(jù)的用戶使用權(quán)限,確保數(shù)據(jù)安全。</p><p> 5. 數(shù)據(jù)字典設(shè)計:用數(shù)據(jù)字典描述數(shù)據(jù)庫的設(shè)計,便于維護(hù)和修改。建立關(guān)系數(shù)據(jù)結(jié)構(gòu)涉及三方面內(nèi)容:確定關(guān)聯(lián)的關(guān)鍵指標(biāo)項并建立關(guān)聯(lián)表;確定單一的父系記錄結(jié)構(gòu);建立整個數(shù)據(jù)庫的關(guān)系結(jié)構(gòu)
96、。</p><p> 1)鏈接關(guān)系的確定 </p><p> 在進(jìn)行了上述數(shù)據(jù)規(guī)范化重組后,已經(jīng)可以確保每一個基本數(shù)據(jù)表(我們簡稱為表)是規(guī)范的,但是這些單獨的表并不能完整地反映事物,通常需要通過指標(biāo)體系整體指標(biāo)數(shù)據(jù)才能完整全面地反映問題。也就是說在這些基本表的各宇段中,所存儲的是同一事物不同側(cè)面的屬性。那么計算機(jī)系統(tǒng)如何能知道哪些表中的哪些記錄應(yīng)與其它表中的哪些記錄相對應(yīng),它們表示的
97、是同一個事物呢?這就需要在設(shè)計數(shù)據(jù)結(jié)構(gòu)時將這種各表之間的數(shù)據(jù)記錄關(guān)系確定下來。這種表與表之間的數(shù)據(jù)關(guān)系一般都是通過主或輔關(guān)鍵詞之間的連接來實現(xiàn)的。因為在每個表中只有主關(guān)鍵詞才能唯一地標(biāo)識表中的這一個記錄值(因為根據(jù)第三范式的要求,表中其它數(shù)據(jù)字段函數(shù)都依賴于主關(guān)鍵詞),所以將表通過關(guān)鍵詞連接就能夠唯一地標(biāo)識出某一事物不同屬性在不同表中的存放位置。</p><p> 2)確定單一的父子關(guān)系結(jié)構(gòu) </p>
98、;<p> 所謂確定單一的父系關(guān)系結(jié)構(gòu)就是要在所建立的各種表中消除多對多(以下用M:N來表示)的現(xiàn)象,即設(shè)法使得所有表中記錄之間的關(guān)系呈樹狀結(jié)構(gòu)(只能由一個主干發(fā)出若干條分支,而不能有若干條主干交錯發(fā)出若干條分支狀況)。所謂的“父系”就是指表的上一級關(guān)系表。消除多對多關(guān)系可以借助于E-R圖的方法來解決,也可以在系統(tǒng)分析時予以注意,避免這種情況的發(fā)生。</p><p> 消除這種M:N情況的辦法也
99、很簡單,只需在二表之間增加一個表,則原來M:N的關(guān)系就改成了M:1,1:N的關(guān)系了。在系統(tǒng)的設(shè)計中,圖書表和讀者表之間就多加了一個borrow表,實現(xiàn)了這種單一關(guān)系。</p><p><b> 范式分析</b></p><p> 在數(shù)據(jù)的規(guī)范化表達(dá)中,一般將一組相互關(guān)聯(lián)的數(shù)據(jù)稱為一個關(guān)系(relation),而在這個關(guān)系下的每個數(shù)據(jù)指標(biāo)項則被稱為數(shù)據(jù)元素(data
100、 element),這種關(guān)系落實到具體數(shù)據(jù)庫上就是基本表,而數(shù)據(jù)元素就是基本表中的一個字段(field)。規(guī)范化表達(dá)還規(guī)定在每一個基本表中必須定義一個數(shù)據(jù)元素為關(guān)鍵字(key),它可以唯一地標(biāo)識出該表中其它相關(guān)的數(shù)據(jù)元素。在規(guī)范化理論中表是二維的,它有如下四個性質(zhì):</p><p> 1. 在表中的任意一列上,數(shù)據(jù)項應(yīng)屬于同一個屬性</p><p> 2. 表中所有
101、行都是不相同的,不允許有重復(fù)組項出現(xiàn)</p><p> 3. 在表中,行的順序無關(guān)緊要</p><p> 4. 在表中,列的順序無關(guān)緊要,但不能重復(fù)</p><p> 在對表的形式進(jìn)行了規(guī)范化定義后,數(shù)據(jù)結(jié)構(gòu)還有五種規(guī)范化定義,定名為規(guī)范化模式,稱為范式。在這五種范式中,一般只用前三種,對于常用系統(tǒng)就足夠了。而且這五種范式是“向上兼容”的,
102、即滿足第五范式的數(shù)據(jù)結(jié)構(gòu)自動滿足一、二、三、四范式,滿足第四范式的數(shù)據(jù)結(jié)構(gòu)自動滿足第一、二、三范式,……,依此類推。 </p><p> 第一范式(first normal form,簡稱1st NF)就是指在同一表中沒有重復(fù)項出現(xiàn),如果有則應(yīng)將重復(fù)項去掉。這個去掉重復(fù)項的過程就稱之為規(guī)范化處理。在本文所討論的開發(fā)方法里,1st NF實際上是沒有什么意義的。因為我們按規(guī)范化建立的指標(biāo)體系和表的過程都自動保
103、證了所有表都滿足1st NF。在設(shè)計中,所有表都滿足這一范式。 </p><p> 第二范式(second normal form,簡稱 2nd NF)是指每個表必須有一個(而且僅一個)數(shù)據(jù)元素為主關(guān)鍵字(primary key),其它數(shù)據(jù)元素與主關(guān)鍵字一一對應(yīng)。例如,在book表和duzhe表中,分別把圖書號和讀者號定義為主關(guān)鍵字(其它數(shù)據(jù)元素中的記錄數(shù)據(jù)都有可能重名,故不能作為主關(guān)鍵字),故只要知道了
104、這個記錄的相關(guān)主鍵號,就可以唯一地在同一行中找到該任何一項具體信息。通常我們稱這種關(guān)系為函數(shù)依賴(functional depEndence)關(guān)系。即表中其它數(shù)據(jù)元素都依賴于主關(guān)鍵字,或稱該數(shù)據(jù)元素唯一地被主關(guān)鍵字所標(biāo)識。 </p><p> 第三范式(third normal form,簡稱 3rd NF)就是指表中的所有數(shù)據(jù)元素不但要能夠唯一地被主關(guān)鍵字所標(biāo)識,而且它們之間還必須相互獨立,不存在其它的
105、函數(shù)關(guān)系。也就是說對于一個滿足了 2nd NF的數(shù)據(jù)結(jié)構(gòu)來說,表中有可能存在某些數(shù)據(jù)元素依賴于其它非關(guān)鍵宇數(shù)據(jù)元素的現(xiàn)象,必須加以消除。就象在borrow表中,超出時間就依賴與借出時間和歸還時間,這種與關(guān)系之間的相互獨立性相違背,所以borrow表就不屬于第三范式。</p><p><b> SQL語言介紹</b></p><p> SQL(Structured
106、Query Language,結(jié)構(gòu)查詢語言)是一個功能強(qiáng)大的數(shù)據(jù)庫語言。SQL通常使用于數(shù)據(jù)庫的通訊。ANSI(美國國家標(biāo)準(zhǔn)學(xué)會)聲稱,SQL是關(guān)系數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言。SQL語句通常用于完成一些數(shù)據(jù)庫的操作任務(wù),比如在數(shù)據(jù)庫中更新數(shù)據(jù),或者從數(shù)據(jù)庫中檢索數(shù)據(jù)。使用SQL的常見關(guān)系數(shù)據(jù)庫管理系統(tǒng)有:Oracle、 Sybase、 Microsoft SQL Server、 Access、 Ingres等等。雖然絕大多數(shù)的數(shù)據(jù)庫系統(tǒng)使
107、用SQL,但是它們同樣有它們自立另外的專有擴(kuò)展功能用于它們的系統(tǒng)。但是,標(biāo)準(zhǔn)的SQL命令,比如"Select"、 "Insert"、 "Update"、 "Delete"、 "Create"和 "Drop"常常被用于完成絕大多數(shù)數(shù)據(jù)庫的操作。MS SQL Server 就是用的Transact- SQL。 &l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖書館管理系統(tǒng)畢業(yè)論文(含外文翻譯)
- 圖書館管理系統(tǒng)畢業(yè)設(shè)計(含外文翻譯)
- 圖書館管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文--圖書館管理系統(tǒng)
- 圖書館管理系統(tǒng)畢業(yè)論文
- 圖書館管理系統(tǒng)畢業(yè)論文
- 圖書館管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——圖書館管理系統(tǒng)
- 畢業(yè)論文--圖書館借閱管理系統(tǒng)
- 圖書館管理系統(tǒng)論文畢業(yè)論文
- 畢業(yè)論文--圖書館借閱管理系統(tǒng)
- 畢業(yè)論文范文——圖書館管理系統(tǒng)
- 學(xué)校圖書館管理系統(tǒng)畢業(yè)論文
- 圖書館集成系統(tǒng)---畢業(yè)論文
- 圖書館集成系統(tǒng)---畢業(yè)論文
- 圖書館管理信息系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-----基于web的圖書館管理系統(tǒng)
- 基于jsp的圖書館管理系統(tǒng)畢業(yè)論文
- 圖書館管理系統(tǒng)的開發(fā)設(shè)計畢業(yè)論文
- 圖書館管理信息系統(tǒng)畢業(yè)論文
評論
0/150
提交評論