數(shù)據(jù)庫課程設(shè)計報告---分布式數(shù)據(jù)庫在學(xué)生信息管理系統(tǒng)中的應(yīng)用_第1頁
已閱讀1頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  分布式數(shù)據(jù)庫在學(xué)生信息管理系統(tǒng)中的應(yīng)用</p><p>  班級: 姓名: </p><p>  設(shè)計時間: </p><p>  指導(dǎo)教師: </p>

2、<p>  評 語:_________________________________</p><p>  評閱成績:__ __評閱教師:__ ___</p><p><b>  目錄</b></p><p><b>  摘要2</b></p><p><b>

3、;  第一章 緒論3</b></p><p>  1.1 課題研究的意義3</p><p>  1.2 分布式數(shù)據(jù)庫技術(shù)國外發(fā)展現(xiàn)狀4</p><p>  1.3 分布式數(shù)據(jù)庫技術(shù)國內(nèi)發(fā)展現(xiàn)狀4</p><p>  1.4 分布式數(shù)據(jù)庫技術(shù)發(fā)展動向4</p><p>  第二章 分布式數(shù)據(jù)庫理論

4、5</p><p>  2.1分布式數(shù)據(jù)庫理論5</p><p>  2.1.1分布式數(shù)據(jù)庫系統(tǒng)的有關(guān)概念5</p><p>  2.1.2分布式數(shù)據(jù)庫系統(tǒng)的特點6</p><p>  2.1.3分布式數(shù)據(jù)庫數(shù)據(jù)分片6</p><p>  2.1.4分布式數(shù)據(jù)庫數(shù)據(jù)分布7</p><p&g

5、t;  2.1.5數(shù)據(jù)分布設(shè)計策略8</p><p>  第三章 系統(tǒng)總體設(shè)計10</p><p>  3.1系統(tǒng)功能設(shè)計10</p><p>  3.2系統(tǒng)結(jié)構(gòu)設(shè)計10</p><p>  3.3系統(tǒng)概念設(shè)計11</p><p>  4.4系統(tǒng)邏輯設(shè)計11</p><p>  4.

6、5系統(tǒng)物理設(shè)計(表設(shè)計)11</p><p>  第四章 系統(tǒng)實現(xiàn)15</p><p>  4.1 PowerBuilder開發(fā)工具簡介15</p><p>  4.2 Powerbuilder 9應(yīng)用程序開發(fā)的基本步驟15</p><p>  4.3 編碼規(guī)范16</p><p>  4.4 應(yīng)用程序?qū)ο?

7、App_mapbex16</p><p>  4.5具體窗口的實現(xiàn)16</p><p>  第五章 課程設(shè)計總結(jié)22</p><p>  第六章 參考文獻(xiàn)23</p><p><b>  摘要</b></p><p>  社會在飛速的發(fā)展,計算機的應(yīng)用正深入到人們生活的每一個角落。我們作為

8、當(dāng)代的大學(xué)生,更應(yīng)該推動和實踐計算機信息系統(tǒng)在生活在的應(yīng)用,為將來的工作和學(xué)習(xí)打好基礎(chǔ)。</p><p>  本系統(tǒng)為簡易的分布式學(xué)生信息管理系統(tǒng),實現(xiàn)學(xué)生的基本信息管理和學(xué)生成績管理。</p><p>  本系統(tǒng)采用了Power Builder9+SQL2000的結(jié)構(gòu)來開發(fā)程序。Power Bulider(以下簡稱pb)做為應(yīng)用程序開發(fā)工具和程序界面開發(fā)工具,pb具有功能強大,集成性好的

9、優(yōu)點,很適合小型系統(tǒng)的應(yīng)用開發(fā)和界面開發(fā)。后臺數(shù)據(jù)庫使用SQL 2000系統(tǒng),Microsoft SQL Server 2000是美國微軟公司推出的使用相當(dāng)廣泛的數(shù)據(jù)庫管理系統(tǒng),包含一套圖形工具,如服務(wù)器管理(用于啟動和關(guān)閉數(shù)據(jù)庫服務(wù))、企業(yè)管理器(用于創(chuàng)建和修改數(shù)據(jù)庫及備份數(shù)據(jù)庫等)和查詢分析器(用于交互執(zhí)行Transact-SQL 語句和過程并提供圖形查詢分析功能)等。</p><p>  本報告說明了整個系

10、統(tǒng)從分析到設(shè)計再到實現(xiàn)的具體步驟和過程,從中我學(xué)到了很多知識和技能。</p><p>  關(guān)鍵詞: 分布式信息管理系統(tǒng) PB+SQL2000</p><p><b>  第一章 緒論</b></p><p>  1.1 課題研究的意義</p><p>  隨著信息技術(shù)的飛速發(fā)展,社會經(jīng)濟(jì)結(jié)構(gòu)、生產(chǎn)方式和

11、消費結(jié)構(gòu)已經(jīng)發(fā)生了重大變化,這些變化深刻地影響著人民生活的方方面面。尤其是近十年來人們對計算機的依賴性越來越強,同時也對計算機提出了更高的要求。隨著計算機網(wǎng)絡(luò)技術(shù)的日趨成熟,傳統(tǒng)的集中式的關(guān)系型數(shù)據(jù)庫系統(tǒng)越來越不能滿足人們處理數(shù)據(jù)的要求,因此分布式數(shù)據(jù)庫系統(tǒng)應(yīng)運而生,并且得到迅速發(fā)展。</p><p>  在社會各個領(lǐng)域,對分布式數(shù)據(jù)庫系統(tǒng)的要求更加迫切。隨著社會的發(fā)展,許多關(guān)系著國民經(jīng)濟(jì)發(fā)展的行業(yè),例如水利、電

12、力、交通、金融等行業(yè)的作用越來越重要。但是這些行業(yè)所管轄的部門或企業(yè)往往在地域上比較分散,而在行政和業(yè)務(wù)管理上,既要求各部門具有獨立的局部控制、分散管理的能力,同時,又要在整個行業(yè)內(nèi)實現(xiàn)對所有部門或所屬企業(yè)進(jìn)行全局控制,統(tǒng)一管理。這種協(xié)同管理要求各部門或企業(yè)之間的信息和數(shù)據(jù)既能靈活交流和共享,又能統(tǒng)一管理和使用。正是這種需求的不斷擴大和要求的不斷提高,促使分布式數(shù)據(jù)庫不斷發(fā)展,功能不斷加強。分布式數(shù)據(jù)庫的出現(xiàn),實現(xiàn)了數(shù)據(jù)通過網(wǎng)絡(luò)連接共享

13、。</p><p>  分布式數(shù)據(jù)庫將地理位置上分布于不同地點的數(shù)據(jù)通過網(wǎng)絡(luò)連接起來,并通過應(yīng)用統(tǒng)一的數(shù)據(jù)庫管理系統(tǒng)對不同位置的數(shù)據(jù)進(jìn)行統(tǒng)一管理,使得數(shù)據(jù)在地理位置上分布,而在邏輯上又是一個整體。</p><p>  隨著數(shù)據(jù)庫在各個行業(yè)中的不斷發(fā)展,各行業(yè)也對數(shù)據(jù)庫提出了更高的要求,數(shù)據(jù)量也急劇增加,對于管理這些數(shù)據(jù)的復(fù)雜度也隨之增加。同時各行業(yè)部門或企業(yè)所使用的軟硬件之間的差異,這給開

14、發(fā)企業(yè)管理數(shù)據(jù)庫管理軟件帶來了巨大的工作量,如果能夠有效解決這個問題,即使用同一模塊管理操作不同的數(shù)據(jù)表格,對不同的數(shù)據(jù)表格進(jìn)行查詢、插入、刪除、修改等操作,也即對企業(yè)簡單的應(yīng)用實現(xiàn)即插即用的功能,那么就能大大地減少軟件開發(fā)的維護(hù)和更新費用,縮短軟件的開發(fā)周期。分布式數(shù)據(jù)庫系統(tǒng)的開發(fā),降低了企業(yè)開發(fā)的成本,提高了軟件使用的回報率。當(dāng)今社會已進(jìn)入了信息時代,人們將越來越多的信息存儲在網(wǎng)絡(luò)中的計算機上。如何更有效地存儲、管理、共享和提取信息

15、,越來越引起人們的關(guān)注。集中式數(shù)據(jù)庫已經(jīng)不能滿足人們的需求,分布式數(shù)據(jù)庫走入了當(dāng)今的舞臺。</p><p>  分布式數(shù)據(jù)庫系統(tǒng)的出現(xiàn),有效地利用企業(yè)現(xiàn)有資源和網(wǎng)絡(luò)資源。分布式數(shù)據(jù)庫系統(tǒng)是一個面向地理上分布而在管理上需要不同程度集中的處理系統(tǒng),主要解決在計算機網(wǎng)絡(luò)上如何進(jìn)行數(shù)據(jù)的分布和處理。由于分布式數(shù)據(jù)庫有許多突出的優(yōu)點,因此,分布式數(shù)據(jù)庫系統(tǒng)可以廣泛地應(yīng)用于大企業(yè),多種行業(yè)及軍事國防等領(lǐng)域,這對建立集約型社會

16、,加快社會主義現(xiàn)代化建設(shè),將具有重要的現(xiàn)實意義。</p><p>  1.2 分布式數(shù)據(jù)庫技術(shù)國外發(fā)展現(xiàn)狀</p><p>  分布式數(shù)據(jù)庫系統(tǒng)(Distributed Database system,簡稱DDBS)已有20多年的發(fā)展歷史,經(jīng)歷了一個從產(chǎn)生到發(fā)展的過程,取得了長足的進(jìn)步。許多技術(shù)問題被提出并得到了解決。20世紀(jì)90年代起,DDBS己進(jìn)入商品化應(yīng)用階段,當(dāng)前,分布式數(shù)據(jù)庫技術(shù)

17、已經(jīng)成熟并得到廣泛應(yīng)用。一些數(shù)據(jù)庫廠商在不斷推出和改進(jìn)自己的分布式數(shù)據(jù)庫產(chǎn)品,以適應(yīng)多種需要和擴大市場的占有份額。但是,實現(xiàn)和建立分布式數(shù)據(jù)庫系統(tǒng)絕對不是數(shù)據(jù)庫技術(shù)與網(wǎng)絡(luò)技術(shù)的簡單結(jié)合,而是在這兩種技術(shù)相互滲透和有機融合后的技術(shù)升華,它又產(chǎn)生了很多新的技術(shù)。而且,分布式數(shù)據(jù)庫系統(tǒng)雖然基于集中式數(shù)據(jù)庫系統(tǒng),但分布式數(shù)據(jù)庫系統(tǒng)卻有它自己的特色和理論基礎(chǔ)。由于數(shù)據(jù)的分布環(huán)境形成了很大的固有的技術(shù)難度,使得分布式數(shù)據(jù)庫系統(tǒng)的應(yīng)用被推遲。至今完全

18、遵循分布式數(shù)據(jù)庫系統(tǒng)規(guī)則,特別是實現(xiàn)完全分布透明性的商用系統(tǒng)還很難見到。</p><p>  1.3 分布式數(shù)據(jù)庫技術(shù)國內(nèi)發(fā)展現(xiàn)狀</p><p>  我國對分布式數(shù)據(jù)庫系統(tǒng)的研究約在20世紀(jì)80年代初期開始,一些科研單位和高校先后建立和實現(xiàn)了幾個各具特色的分布式數(shù)據(jù)庫系統(tǒng)。如由中國科學(xué)院數(shù)學(xué)研究所設(shè)計,由該所與上??茖W(xué)技術(shù)大學(xué)、華東師范大學(xué)合作實現(xiàn)的C.POREL,武漢大學(xué)研制的WDDB

19、S和WOODDBS,東北大學(xué)研制的DMD/FO系統(tǒng)等,尤其值得一提的是華中科技大學(xué)達(dá)夢數(shù)據(jù)庫多媒體研究所開發(fā)的DMZ多媒體數(shù)據(jù)庫,它解決了異構(gòu)數(shù)據(jù)庫系統(tǒng)實現(xiàn)數(shù)據(jù)的共享和透明訪問的難度。他們的工作對我國分布式數(shù)據(jù)庫技術(shù)的理論研究和應(yīng)用開發(fā)起到了積極的推動作用。</p><p>  1.4 分布式數(shù)據(jù)庫技術(shù)發(fā)展動向</p><p>  分布式數(shù)據(jù)庫系統(tǒng)可看成是由分布在各場地的一組數(shù)據(jù)庫系統(tǒng)(稱

20、為局部數(shù)據(jù)庫系統(tǒng))組成的統(tǒng)一的數(shù)據(jù)庫系統(tǒng)。后者被稱為全局?jǐn)?shù)據(jù)庫系統(tǒng)。局部數(shù)據(jù)庫系統(tǒng)間耦合程度不同,或是很緊的耦合(對場地高度透明),或是很松的耦合(高度自治)。由于通用操作系統(tǒng)對數(shù)據(jù)庫管理系統(tǒng)性能的限制,以及硬件價格的下降和高速網(wǎng)的發(fā)展,用專用數(shù)據(jù)庫服務(wù)器己變得越來越合理了。專用數(shù)據(jù)庫服務(wù)器的操作系統(tǒng)是面向數(shù)據(jù)庫的,因此可以減少許多不必要的開銷,可以支持大量的實時事務(wù)處理。為了提高服務(wù)器的性能,可以采用磁盤組和大規(guī)模進(jìn)行處理技術(shù)多個數(shù)據(jù)

21、庫服務(wù)器聯(lián)網(wǎng),也可以構(gòu)成分布式數(shù)據(jù)庫系統(tǒng)。</p><p>  隨著計算機網(wǎng)絡(luò)技術(shù)的飛速發(fā)展和廣泛應(yīng)用,特別是internet的普及,使得對分布式數(shù)據(jù)庫系統(tǒng)的研究和開發(fā)變得更加活躍。但是在實際應(yīng)用時,特別是復(fù)雜情況下的效率、可用性、安全性、一致性等問題并不容易解決。internet是當(dāng)前高速發(fā)展的全球性互聯(lián)網(wǎng)絡(luò),internet應(yīng)用開發(fā)的新方案幾乎全部都是基于web的。web應(yīng)用已經(jīng)從傳統(tǒng)的靜態(tài)HTML頁面,向動

22、態(tài)的開放的方向發(fā)展。針對這樣的市場需求和web平臺的基本技術(shù),各個瀏覽器和web服務(wù)器提供商,如Microsoft公司、Netscape公司和主流的數(shù)據(jù)庫廠商,如Sybase公司、oracle公司紛紛推出web服務(wù)器和瀏覽器上的擴展技術(shù),形成以web服務(wù)器廠商的擴展技術(shù)為基礎(chǔ),數(shù)據(jù)庫廠商提供解決數(shù)據(jù)庫訪問的應(yīng)用服務(wù)器。這樣,Web應(yīng)用就從傳統(tǒng)的“客戶機//R務(wù)器"兩層體系結(jié)構(gòu)演變?yōu)椤癢eb服務(wù)器十應(yīng)用服務(wù)器+數(shù)據(jù)庫服務(wù)器”三層

23、體系結(jié)構(gòu)。用戶的開發(fā)方向己經(jīng)從構(gòu)造單一的Client/server應(yīng)用轉(zhuǎn)變?yōu)榧疊rowse/server應(yīng)用、internet應(yīng)用甚至數(shù)據(jù)倉庫應(yīng)用為一體的綜合應(yīng)用。從而形成Web技術(shù)與數(shù)據(jù)庫技術(shù)相結(jié)合的數(shù)據(jù)庫系統(tǒng)模型。</p><p>  實現(xiàn)和建立分布式數(shù)據(jù)庫系統(tǒng)絕對不是數(shù)據(jù)庫技術(shù)與網(wǎng)絡(luò)技術(shù)、Web技術(shù)、計算機技術(shù)等的簡單結(jié)合,而是在這些技術(shù)相互間滲透和有機結(jié)合后的技術(shù)升華。分布式數(shù)據(jù)庫系統(tǒng)有它自己的特色和理論

24、基礎(chǔ),由于數(shù)據(jù)的分布環(huán)境形成了很大的固有的技術(shù)難度,使得分布式數(shù)據(jù)庫系統(tǒng)的應(yīng)用被推遲。至今完全遵循分布式數(shù)據(jù)庫系統(tǒng)規(guī)則,特別是實現(xiàn)完全分布透明性的商用系統(tǒng)還很難見到。因此,在很長一段時間分布式數(shù)據(jù)庫都有很大的發(fā)展空間。</p><p>  第二章 分布式數(shù)據(jù)庫理論</p><p>  2.1分布式數(shù)據(jù)庫理論</p><p>  2.1.1分布式數(shù)據(jù)庫系統(tǒng)的有關(guān)概念&

25、lt;/p><p>  分布式數(shù)據(jù)庫系統(tǒng)使用計算機網(wǎng)絡(luò)將地理位置分散而在管理和控制又需要不同程度集中的多個邏輯單位(通常是集中式數(shù)據(jù)庫系統(tǒng))聯(lián)結(jié)起來,共同組成一個統(tǒng)一的數(shù)據(jù)庫系統(tǒng)。因此,分布式數(shù)據(jù)庫系統(tǒng)可以看成是:計算機網(wǎng)絡(luò)與數(shù)據(jù)庫系統(tǒng)的有機結(jié)合。在分布式數(shù)據(jù)庫系統(tǒng)中,被計算機網(wǎng)絡(luò)聯(lián)結(jié)的每個邏輯單位,稱為站點(site)或節(jié)點(Node)。所謂地理位置上分散是指各個站點分散在不同的地方,大可為不同的國家,小可為同一建

26、筑中的不同位置。所謂邏輯上集中是指各個站點之間不是互不相關(guān)的,它們是一個邏輯整體,并由一個統(tǒng)一的數(shù)據(jù)庫管理系統(tǒng)進(jìn)行管理這個數(shù)據(jù)庫管理系統(tǒng)稱為分布式數(shù)據(jù)庫管理系(Distributed DatabaseManagement System,簡稱DDBMS)。一個用戶如果只訪問他注冊的那個站點上的數(shù)據(jù)稱為本地(或局部)用戶或本地應(yīng)用;如果訪問涉及兩個或兩個以上的站點中的數(shù)據(jù),稱為全局用戶或全局應(yīng)用。</p><p> 

27、 分布式數(shù)據(jù)庫系統(tǒng)中有全局?jǐn)?shù)據(jù)庫(GDB)和局部數(shù)據(jù)庫(LDB)的概念。全局?jǐn)?shù)據(jù)庫由全局?jǐn)?shù)據(jù)庫管理系統(tǒng)進(jìn)行管理,所謂全局是從整個系統(tǒng)角度出發(fā)研究問題。局部數(shù)據(jù)庫由局部數(shù)據(jù)庫管理系統(tǒng)(LDBMS)進(jìn)行管理,所謂局部是從各個站點的角度出發(fā)研究問題。</p><p>  2.1.2分布式數(shù)據(jù)庫系統(tǒng)的特點</p><p>  物理分布性:分布式數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)不是存儲在一個站點上,而是分散存儲在

28、由計算機網(wǎng)絡(luò)聯(lián)結(jié)起來的多個站點上。</p><p>  邏輯整體性:分布式數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)物理上是分散在各個站點中的,</p><p>  但這些分散的數(shù)據(jù)邏輯上卻是一個整體,它們被分布式數(shù)據(jù)庫系統(tǒng)的所有用戶</p><p>  (全局用戶)共享,并由一個分布式數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理。</p><p>  站點自治性:站點自治性也稱場地自治

29、性,各站點上的數(shù)據(jù)由本地DBMS(database Management System:數(shù)據(jù)庫管理系統(tǒng))管理,具有自治處理能力,完成本站點的應(yīng)用(局部應(yīng)用)。</p><p>  數(shù)據(jù)獨立性:分布式數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)獨立性不但指數(shù)據(jù)的邏輯獨立性與物理獨立性,還包括數(shù)據(jù)分布獨立性亦稱分布透明性。分布透明性使用戶不必關(guān)心數(shù)據(jù)的邏輯分片,不必關(guān)心數(shù)據(jù)是否被復(fù)制及復(fù)制副本的個數(shù)(冗余數(shù)據(jù)),也不必關(guān)心數(shù)據(jù)物理及其片段位置

30、的分布細(xì)節(jié),同時也不關(guān)心局部場地上數(shù)據(jù)庫支持哪種數(shù)據(jù)模型。</p><p>  集中與自治相結(jié)合的控制機制:在分布式數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的共享有兩個層次:一是局部共享,即同一站點上的用戶可共享本站點上局部數(shù)據(jù)庫中的數(shù)據(jù),以完成局部應(yīng)用;二是全局共享,即分布式數(shù)據(jù)庫系統(tǒng)上的用戶都可共享在分布式數(shù)據(jù)庫系統(tǒng)的各個站點上存儲的數(shù)據(jù),以完成全局應(yīng)用。因而,分布式數(shù)據(jù)庫系統(tǒng)常常采用集中和自治相結(jié)合的控制機制。各局部的DBMS可

31、以分散地管理局部數(shù)據(jù)庫,具有自治的功能。同時,系統(tǒng)又設(shè)有集中控制機制,協(xié)調(diào)各局部DBMS的工作,執(zhí)行全局管理功能。</p><p>  適當(dāng)增加數(shù)據(jù)冗余性:在集中式數(shù)據(jù)庫系統(tǒng)中,盡量減少冗余是系統(tǒng)的目標(biāo)之一。其原因是,冗余數(shù)據(jù)不僅浪費存儲空間,而且容易造成各數(shù)據(jù)副本之間的不一致性,為了保證數(shù)據(jù)的一致性,系統(tǒng)要付出一定的維護(hù)代價。而在分布式數(shù)據(jù)庫系統(tǒng)中卻通過冗余數(shù)據(jù)提高系統(tǒng)的可靠性、可用性和改善系統(tǒng)性能,因為當(dāng)某一

32、個站點出現(xiàn)故障時,系統(tǒng)可以對另一站點上的相同副本進(jìn)行操作,不會因某一處故障而造成整個系統(tǒng)的癱瘓。另外,系統(tǒng)可以選擇用戶最近的數(shù)據(jù)副本進(jìn)行操作,減少通信代價,改善整個系統(tǒng)的性能。</p><p>  事務(wù)管理的分布性:數(shù)據(jù)的分布性必然造成事務(wù)執(zhí)行和管理的分布性。</p><p>  2.1.3分布式數(shù)據(jù)庫數(shù)據(jù)分片</p><p>  數(shù)據(jù)分片(Data Fragmen

33、tation)也稱數(shù)據(jù)分割,是分布式數(shù)據(jù)庫的特征之一。在一個分布式數(shù)據(jù)庫中,全局?jǐn)?shù)據(jù)庫是各個站點上局部數(shù)據(jù)庫的邏輯整體,而各個局部數(shù)據(jù)庫中的數(shù)據(jù)是由全局?jǐn)?shù)據(jù)庫的某種邏輯分割而來。這樣減少網(wǎng)絡(luò)通信量,從而提高效率。</p><p>  數(shù)據(jù)分片有三種基本方法,分別如下:</p><p>  1>水平分片:按特定條件把全局關(guān)系的所有元組分成若干個互不相交的子集,每一個子集為全局關(guān)系的一個

34、邏輯片斷,簡稱為片段。它們通過對全局關(guān)系施加選擇運算得到,并可通過對這些片段的合并操作來恢復(fù)該全局關(guān)系。</p><p>  2>垂直分片:將全局關(guān)系(表或視圖)的屬性集(字段集)中的若干屬性作投影運算,即得到全局關(guān)系的一個垂直分片。要求全局關(guān)系的每一個屬性至少映射到一個垂直片段中,且每一個垂直分段都包含該全局關(guān)系的鍵。這樣可以通過對這些片段執(zhí)行連接操作來恢復(fù)該全局關(guān)系。</p><p&

35、gt;  3>混合分片:水平分片和垂直分片的混合。無論哪種分片方法都必須滿足數(shù)據(jù)完備性的要求,即必須遵守以下幾條準(zhǔn)則:完備性:全局關(guān)系的所有數(shù)據(jù)都要分配到相應(yīng)的分片中,否則會丟失數(shù)據(jù)。不相交性:在各水平分片的關(guān)系子集中不能出現(xiàn)相同元組。可重構(gòu)性:由全局關(guān)系分割得到的分片能通過關(guān)系運算還原成全局關(guān)系。</p><p>  2.1.4分布式數(shù)據(jù)庫數(shù)據(jù)分布</p><p>  數(shù)據(jù)分布(D

36、ata Distribution)是指分布式數(shù)據(jù)庫中的數(shù)據(jù)不是存儲在一個站點的計算機存儲設(shè)備上,而是根據(jù)需要將數(shù)據(jù)劃分成邏輯片段,按某種策略將這些片段分散地存儲在各個站點上。數(shù)據(jù)分布的策略有:</p><p>  l>分割式:所有數(shù)據(jù)只有一個備份,它被分割成若干個邏輯片段,每個邏輯片段被指派在某個特定的站點上。這種分布策略可充分利用各個站點上的存儲設(shè)備,數(shù)據(jù)的存儲量大。在存放數(shù)據(jù)的各個站點上可自治的檢索和修

37、改數(shù)據(jù),發(fā)揮系統(tǒng)的并發(fā)操作能力。同時,由于數(shù)據(jù)是分布在多個站點上,當(dāng)某部分站點出現(xiàn)故障時,系統(tǒng)仍能運行,提高了系統(tǒng)的可靠性。對于全局查詢和修改,所需的時間會長一些,因為數(shù)據(jù)不在同一場地上,需要進(jìn)行通訊。</p><p>  2>復(fù)制式:全局?jǐn)?shù)據(jù)有多個副本,每個站點上都有一個完整的數(shù)據(jù)副本。采用這種策略的系統(tǒng)可靠性高,響應(yīng)速度快,數(shù)據(jù)庫的恢復(fù)比較容易,可從任意場地得到數(shù)據(jù)副本。但是要保持各個站點上數(shù)據(jù)的同步修

38、改,將要付出高昂的代價。另外,整個系統(tǒng)的冗余很大,系統(tǒng)的數(shù)據(jù)容量也只是一個站點上數(shù)據(jù)庫的容量。</p><p>  3>混合式:全部數(shù)據(jù)被分為若干個子集,每個子集安置在不同的站點上,但任意站點都沒有保存全部的數(shù)據(jù),根據(jù)數(shù)據(jù)的重要性決定各個子集的副本的多少,這種分布策略,兼顧分割式和復(fù)制式的做法,也獲得了二者的優(yōu)點,它靈活性好,能提高系統(tǒng)的效率,但同時也包括T-者的復(fù)雜性。</p><p&

39、gt;  2.1.5數(shù)據(jù)分布設(shè)計策略</p><p>  數(shù)據(jù)分布的方式有許多種,一般來說,可按整個數(shù)據(jù)庫是集中存放在一個場地還是分割開來散布到多個場地以及是否有數(shù)據(jù)副本存在等情況,可組合成四種數(shù)據(jù)分布方式,它們是:</p><p>  l>集中式。即整個數(shù)據(jù)庫存放在一個場地上,且沒有數(shù)據(jù)副本存在。嚴(yán)格說來,這不能算作是分布式數(shù)據(jù)庫,因為數(shù)據(jù)庫集中存放在一個場地上,其它場地都從該場地

40、獲得數(shù)據(jù)。存放數(shù)據(jù)庫的那個場地相當(dāng)于一個數(shù)據(jù)庫服務(wù)器,其它場地相當(dāng)于該數(shù)據(jù)庫服務(wù)器的遠(yuǎn)程終端,它們對數(shù)據(jù)庫的訪問是通過遠(yuǎn)程登錄訪問來實現(xiàn)的。因此這種方案屬于客戶/服務(wù)器結(jié)構(gòu)的集中式數(shù)據(jù)庫。集中式最主要的優(yōu)點是簡單,容易實現(xiàn),所有的存取操作都在單一場地進(jìn)行,這樣數(shù)據(jù)一致性維護(hù)和并發(fā)控制都比較容易實現(xiàn)。但這種策略有很多缺點,首先數(shù)據(jù)庫的可能大小受限于中心場地的硬盤空間可用性的大小。其次,所有操作都在中心場地執(zhí)行,其它場地都要通過網(wǎng)絡(luò)訪問中心

41、場地,因此都有通信代價與時間延遲,系統(tǒng)的并行處理也受限于中心場地的處理能力與速度,進(jìn)而中心場地就會成為“瓶頸”,這就進(jìn)一步限制了系統(tǒng)的反應(yīng)速度,而且中心場地也容易崩潰,系統(tǒng)的有效性與可用性不高。例如,如通信系統(tǒng)失效,則數(shù)據(jù)庫對任何遠(yuǎn)程場地都無效:而當(dāng)中心場地出現(xiàn)故障時,則整個數(shù)據(jù)庫系統(tǒng)失效。</p><p>  2>重復(fù)式。即有多個數(shù)據(jù)庫副本存在,每個場地上都有一個完全的數(shù)據(jù)副本存在。這種方式的可用性、健壯

42、性及效率相當(dāng)高。這種可靠性高不僅體現(xiàn)在當(dāng)一個或多個場地發(fā)生故障時數(shù)據(jù)庫仍能有效運轉(zhuǎn),而且還表現(xiàn)在很容易恢復(fù)一個破壞了的數(shù)據(jù)庫副本,這只需簡單的從另一個正常場地完全拷貝一個數(shù)據(jù)庫即可。由于每個場地都有一個完全的數(shù)據(jù)庫副本,用戶的請求大都可以在本場地完成,這有助于提高響應(yīng)速度,減少通信代價,使通信分布比較均勻。在只有讀操作時,由于不需要維護(hù)數(shù)據(jù)一致性,因此不需要場地間的同步通信,系統(tǒng)的可用性是很高的。但是系統(tǒng)需要花費相當(dāng)大的開銷去維護(hù)數(shù)據(jù)庫

43、的一致性和運行并發(fā)控制。由于一致性和并法控制的復(fù)雜性,這種策略不適合單請求并行處理,但在各個場地,不同請求可以異步的處理。如何保持?jǐn)?shù)據(jù)的一致性,依系統(tǒng)的不同而差別很大,而且所承受的開銷取決于所提供的數(shù)據(jù)的一致性的級別。當(dāng)網(wǎng)絡(luò)的一部分由于某種原因而失效時,需要限制修改操作的執(zhí)行以維護(hù)數(shù)據(jù)的一致性。因為,若允許兩個修改操作在不能實現(xiàn)同步的情況各自在不同的場地進(jìn)行,則當(dāng)系統(tǒng)恢復(fù)正常以后,可能出現(xiàn)數(shù)據(jù)的不一致性。另外,如同集中式策略一樣,數(shù)據(jù)庫

44、的大小受限于每個場地上硬</p><p>  3>分割式。全局邏輯數(shù)據(jù)庫被分割成許多片段,并且被分配到各個場地上,但這些片段只有一個拷貝。在對數(shù)據(jù)進(jìn)行分割時,需要盡量按應(yīng)用的要求進(jìn)行分割,一般來說,應(yīng)以減少表間的聯(lián)系為目的。同樣進(jìn)行數(shù)據(jù)分割時,也應(yīng)盡量將某一個場地經(jīng)常存取的數(shù)據(jù)存放在相應(yīng)的場地,這樣可以減少網(wǎng)絡(luò)開銷。分割式策略與集中式策略相比有幾個明顯的優(yōu)點。一是數(shù)據(jù)庫的大小只受限于網(wǎng)絡(luò)上作為整個可用的硬盤

45、空間的大小,而不受限于某一場地的可用硬盤空間的大小。其二是檢索與更新均指向各自所要求的所在場地,而非指向一個中心場地,數(shù)據(jù)庫存取的局部性比例較大,所以通信代價較低。但另一方面,可能有一個請求需要存取多個場地甚至全部場地的數(shù)據(jù),這時由于需要訪問相關(guān)場地上的片段,這時網(wǎng)絡(luò)開銷可能比集中式更高,但若設(shè)計時分割標(biāo)準(zhǔn)合適且配合妥當(dāng)?shù)姆植荚瓌t,則出現(xiàn)這種情況應(yīng)該是不多見的。若分布式數(shù)據(jù)庫管理系統(tǒng)支持并行處理,則可進(jìn)行并行處理,故響應(yīng)速度比集中式要快

46、。通信負(fù)載較均勻地分布于整個網(wǎng)絡(luò),所以任何場地都對通信瓶頸口不敏感。數(shù)據(jù)庫的有效性與可靠性也比集中式要高,因為若部分或全部通信失效,或者一個或幾個場地發(fā)生故障,不會導(dǎo)致整個系統(tǒng)完全失效,至少數(shù)據(jù)庫</p><p>  的局部性高,否則就低。而數(shù)據(jù)庫訪問的局部性跟設(shè)計時數(shù)據(jù)分布有關(guān)。如果設(shè)計時分片,可能造成每一個請求都要存取多個場地,則其性能、有效性和可靠性會比集中式更低,因為多個場地出故障的概率要比單獨某一個場地

47、出故障的概率要大,這樣只要有一個場地出故障,這個請求就不能執(zhí)行。一般說來,分割策略比較適合各場地硬盤空間有限、可靠性要求較高、或應(yīng)用的數(shù)據(jù)存取有一定的“分割性”,即能實現(xiàn)高的存取局部化程度的情況。</p><p>  4>組合式。它是分割與重復(fù)的組合,每一場地可以有數(shù)據(jù)庫的任何一部分。這種策略兼有分割與重復(fù)式的一些特點。它的主要的優(yōu)點是靈活。分割與分布的策略及各片段重復(fù)的個數(shù)需要在各因素之間權(quán)衡,局部輔存與

48、整體輔存之間、可靠性與可用性、提高效率的方法及通信代價、同步與控制代價等要綜合折中權(quán)衡。例如,重復(fù)可以提高存取的局部性,從而降低通信量,提高可靠性與可用性;同時可以使并行處理可能性高,故可縮短響應(yīng)時間。分割時,,可使常用的關(guān)鍵性數(shù)據(jù)重復(fù)分布于所需的場地,不常用的數(shù)據(jù)可只存儲一次,這樣可降低存儲量。這種方式要著力解決的問題是通信與數(shù)據(jù)一致性維護(hù),同時通信瓶頸仍然可能存在。這種方式最靈活,同時實現(xiàn)起來也是最復(fù)雜的,因為影響系統(tǒng)性能、可靠性、

49、存取需求等的各種因素是彼此相關(guān)的,很難將其分割開來考慮。此外,分布式數(shù)據(jù)庫管理系統(tǒng)所支持的各種機構(gòu),數(shù)據(jù)庫的使用方式等也是施加影響的因素??傊捎眠@種方式必須全面考慮各種因素,并進(jìn)行權(quán)衡。</p><p>  第三章 系統(tǒng)總體設(shè)計</p><p>  本系統(tǒng)是為了實現(xiàn)學(xué)生信息化管理而編寫的。其中包括了學(xué)生信息日常工作中的各項操作。本系統(tǒng)的項目名稱為:學(xué)生信息管理系統(tǒng)V1.0</p&

50、gt;<p><b>  3.1系統(tǒng)功能設(shè)計</b></p><p><b>  主要功能模塊:</b></p><p>  1 學(xué)生信息處理 實現(xiàn)對學(xué)生信息的錄入、修改、添加、刪除</p><p>  2 信息瀏覽處理 實現(xiàn)對學(xué)生基本信息的瀏覽查看</p><p>  3 數(shù)據(jù)查

51、詢處理 實現(xiàn)對學(xué)生信息的查詢</p><p>  4 數(shù)據(jù)匯總處理 實現(xiàn)對學(xué)生信息的分類匯總</p><p>  5 數(shù)據(jù)備份處理 實現(xiàn)對學(xué)生信息的備份和導(dǎo)出</p><p><b>  3.2系統(tǒng)結(jié)構(gòu)設(shè)計</b></p><p><b>  3.3系統(tǒng)概念設(shè)計</b></p>

52、<p>  1 學(xué)生信息處理 實現(xiàn)對學(xué)生信息的錄入、修改、添加、刪除</p><p>  2 信息瀏覽處理 實現(xiàn)對學(xué)生基本信息的瀏覽查看</p><p>  3 數(shù)據(jù)查詢處理 實現(xiàn)對學(xué)生信息的查詢</p><p>  4 數(shù)據(jù)匯總處理 實現(xiàn)對學(xué)生信息的分類匯總</p><p>  5 數(shù)據(jù)備份處理 實現(xiàn)對學(xué)生信息的備份和導(dǎo)

53、出</p><p><b>  4.4系統(tǒng)邏輯設(shè)計</b></p><p>  1 學(xué)生表sxTable(學(xué)生編號,學(xué)生姓名,學(xué)生生日,學(xué)生性別,民族,家庭住址,電話,政治面貌,簡介)</p><p>  2 成績表cjTable(學(xué)期編號,課程名稱,分?jǐn)?shù))</p><p>  3 課程表 kcTable(課程名稱

54、,分?jǐn)?shù),授課老師)</p><p>  4.5系統(tǒng)物理設(shè)計(表設(shè)計)</p><p><b>  表設(shè)計</b></p><p>  學(xué)生信息表(xsTable)</p><p>  學(xué)生成績表(cjTable)</p><p> ?。?)學(xué)生課程表(kcTable)</p><

55、;p><b>  六、數(shù)據(jù)庫設(shè)計</b></p><p>  1.分布式數(shù)據(jù)庫定義</p><p>  傳統(tǒng)的數(shù)據(jù)庫管理模式是將所有數(shù)據(jù)集中于單個數(shù)據(jù)庫中,用戶通過各種數(shù)據(jù)庫工具,來實現(xiàn)數(shù)據(jù)庫的維護(hù)和使用。但是這種模型對于數(shù)據(jù)量巨大時,已經(jīng)無法滿足用戶的需求;同時,當(dāng)出現(xiàn)一些人為何自然災(zāi)害等對數(shù)據(jù)造成破壞時,數(shù)據(jù)的安全性將無法得到保護(hù),甚至出現(xiàn)丟失。針對以上問題

56、,分布式的概念被提出來:是物理上分散而邏輯上集中地數(shù)據(jù)庫系統(tǒng)。分布式數(shù)據(jù)庫系統(tǒng)使用計算機網(wǎng)絡(luò)將地理位置分散而管理和控制又需要不同程度集中的多個邏輯單位連接起來,共同組成一個統(tǒng)一的數(shù)據(jù)庫系統(tǒng)。</p><p>  2.分布式數(shù)據(jù)庫管理系統(tǒng)</p><p>  分布式數(shù)據(jù)庫管理系統(tǒng)和集中式數(shù)據(jù)庫管理系統(tǒng)一樣,是對數(shù)據(jù)庫進(jìn)行管理和維和的一組軟件,是分布式數(shù)據(jù)庫系統(tǒng)的重要組成部分,是用戶與分布式數(shù)

57、據(jù)庫的接口。</p><p>  分布式數(shù)據(jù)庫管理系統(tǒng)包括三個組成部分:全局?jǐn)?shù)據(jù)庫管理系統(tǒng)(GDBMS)、局部數(shù)據(jù)庫管理系統(tǒng)(LDBMS)和通訊管理程序(CM)。它能支持四個基本功能:應(yīng)用程序的遠(yuǎn)程數(shù)據(jù)庫操作(包括查詢和更新操作)、支持分布式數(shù)據(jù)庫系統(tǒng)的完全的或部分的透明性、對分布式數(shù)據(jù)庫(包括全局?jǐn)?shù)據(jù)庫和局部數(shù)據(jù)庫)的管理和控制以及支持分布式事務(wù)的并發(fā)和恢復(fù)。</p><p>  圖1

58、分布式數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)</p><p>  本學(xué)生管理系統(tǒng)采用的分布式管理系統(tǒng)為SQL-SERVER 2000,稍后集中介紹其分布式模型及實現(xiàn)。 </p><p><b>  3.數(shù)據(jù)分片與分配</b></p><p>  在實施分布式數(shù)據(jù)庫系統(tǒng)時,必須考慮如何將數(shù)據(jù)分布在系統(tǒng)的各個場地(站點)上,也就是說怎樣將數(shù)據(jù)進(jìn)行分片,在進(jìn)行分片后又怎

59、樣將它們進(jìn)行分配。分片是對整個數(shù)據(jù)庫中的數(shù)據(jù)來說的,而分配時分布式數(shù)據(jù)庫在物理位置上的存儲。分片操作包括水平分片、垂直分片、混合分片及誘導(dǎo)分片四種。</p><p>  在本學(xué)生管理系統(tǒng)中,根據(jù)學(xué)生性別將所有學(xué)生分成兩部分,分別位于數(shù)據(jù)庫A與數(shù)據(jù)庫B(在兩臺不同的環(huán)境上)。</p><p>  4. SQL-SERVER復(fù)制模型</p><p>  SQL—Seve

60、r 2000是管理數(shù)據(jù)庫的工具,它的功能強大,內(nèi)容豐富。同樣它也支持分布式數(shù)據(jù)庫的運行。它采用的是復(fù)制一訂閱的模型來管理分布式數(shù)據(jù)庫。這個模型的機制模擬了出版社的工作方式,即將所需的數(shù)據(jù)出版出來后由需要的用戶進(jìn)行訂閱從而組成分布式的數(shù)據(jù)庫。</p><p>  該模型由下列對象組成:發(fā)布服務(wù)器、分發(fā)服務(wù)器、訂閱服務(wù)器、發(fā)布、項目和訂閱。</p><p>  發(fā)布服務(wù)器是提供數(shù)據(jù)以便復(fù)制到其

61、它服務(wù)器的服務(wù)器。它用于保持源數(shù)據(jù)庫,從中制作出出版數(shù)據(jù),并將這些數(shù)據(jù)傳送到分發(fā)服務(wù)器中。同出版社方式比較,發(fā)布服務(wù)器相當(dāng)于出版社中的出版商角色,主要出版數(shù)據(jù)。</p><p>  分發(fā)服務(wù)器是作為分發(fā)數(shù)據(jù)庫宿主并存儲歷史數(shù)據(jù)和事務(wù)以及元數(shù)據(jù)的服務(wù)器,是發(fā)布服務(wù)器和訂閱服務(wù)器中間的橋梁。它相當(dāng)于是出版社工作方式中的分銷商。</p><p>  訂閱服務(wù)器是接收復(fù)制數(shù)據(jù)的服務(wù)器,訂閱服務(wù)器通

62、過訂閱發(fā)布服務(wù)器的發(fā)布來獲取數(shù)據(jù)。</p><p>  發(fā)布是一個數(shù)據(jù)庫中的一個或多個項目的集合。這種多個項目的分組使得指定邏輯相關(guān)的一組數(shù)據(jù)和數(shù)據(jù)庫對象以一起復(fù)制變得更容易。</p><p>  項目是指定要復(fù)制的數(shù)據(jù)表、數(shù)據(jù)分區(qū)或數(shù)據(jù)庫對象。項目可以是完整的表、某幾列(使用垂直篩選)、某幾行(使用水平篩選)、存儲過程或視圖定義、存儲過程的執(zhí)行、視圖、索引視圖或用戶定義函數(shù)。</p

63、><p>  訂閱是對數(shù)據(jù)或數(shù)據(jù)庫對象的復(fù)本的請求。訂閱定義將接收的發(fā)布和接收的時間、地點。訂閱的同步或數(shù)據(jù)分發(fā)可以由發(fā)布服務(wù)器(強制訂閱)或訂閱服務(wù)器(請求訂閱)請求。發(fā)布可以支持強制訂閱和請求訂閱的混合。</p><p>  圖2:SQL-SERVER 分布式模型</p><p>  在所做學(xué)生管理系統(tǒng)中,我們選一臺SERVER20003系統(tǒng)的電腦作為發(fā)布服務(wù)器和分

64、發(fā)服務(wù)器,兩臺XP系統(tǒng)作為訂閱服務(wù)器A與B,分別訂閱男女學(xué)生信息,實現(xiàn)分片。</p><p><b>  第四章 系統(tǒng)實現(xiàn)</b></p><p>  4.1 PowerBuilder開發(fā)工具簡介</p><p>  PowerBuilder是目前開發(fā)Client/Server結(jié)構(gòu)的應(yīng)用系統(tǒng)的主要工具之一。PowerBuilder9.0在繼承與

65、發(fā)展以前版本優(yōu)秀功能的基礎(chǔ)上,為適應(yīng)網(wǎng)絡(luò)應(yīng)用程序的開發(fā)要求集成了Enterprise Application Studio中PowerBuilder以及Power Site的功能,在傳統(tǒng)數(shù)據(jù)庫開發(fā)的基礎(chǔ)上,將Web應(yīng)用更好地集成到PowerBuilder中。PowerBuilder全面支持面向?qū)ο缶幊?。是功能強大并易于使用的?代編程語言(4GL),它內(nèi)置了包括數(shù)據(jù)窗口在內(nèi)的多種對象類,可以方便地訪問數(shù)據(jù)庫。相對于其他應(yīng)用工具,Powe

66、rBuilder具有工作效率高、成本低、質(zhì)量高、功能強的特點。</p><p>  4.2 Powerbuilder 9應(yīng)用程序開發(fā)的基本步驟</p><p>  我們要開發(fā)應(yīng)用程序時,首先要對它進(jìn)行分析。無論哪種、哪方面的應(yīng)用程序,都要先建立一個應(yīng)用對象。下面我們介紹以下PowerBuilder 9應(yīng)用程序開發(fā)的基本步驟:</p><p> ?。?)首先要建立應(yīng)用

67、對象。</p><p>  (2)創(chuàng)建窗口。在窗口里放置各種控件和編寫事件響應(yīng)的腳本。</p><p>  (3)創(chuàng)建菜單。窗口里的菜單可包括菜單條,下拉式菜單,級聯(lián)菜單和彈出式菜單為菜單編寫事件響應(yīng)的腳本。</p><p> ?。?)創(chuàng)建用戶對象。如果想要重復(fù)使用某個控件的功能,可以把窗口上經(jīng)常放置的控件定義為用戶對象。</p><p> 

68、?。?)創(chuàng)建數(shù)據(jù)窗口。數(shù)據(jù)窗口可以檢索數(shù)據(jù)庫中的數(shù)據(jù),可以建立各種報或統(tǒng)計表,可以修改數(shù)據(jù)庫。</p><p> ?。?)創(chuàng)建函數(shù)、結(jié)構(gòu)、事件。為了能夠更好地支持腳本,編寫自定義的函數(shù),定義結(jié)構(gòu)類型變量,也可以為對象和控件定義自己的事件。</p><p> ?。?)運行與調(diào)試。可以在開發(fā)環(huán)境中隨時運行應(yīng)用程序,發(fā)現(xiàn)錯誤后,可以用調(diào)試工具進(jìn)行調(diào)試。</p><p> 

69、?。?)當(dāng)應(yīng)用程序開發(fā)完畢后,可以把它編譯成可執(zhí)行的文件,讓用戶比較容易地建立應(yīng)用系統(tǒng)的運行環(huán)境。</p><p><b>  4.3 編碼規(guī)范</b></p><p>  為了減少在軟件開發(fā)過程中的錯誤,在軟件開發(fā)過程中應(yīng)該遵守一定的標(biāo)準(zhǔn)。</p><p>  給對象命名要有一定的規(guī)范,部件名稱可以達(dá)到40個字符,窗口的命名:W_功能代碼_功

70、能描述。數(shù)據(jù)窗口的命名:DW_功能代碼_功能描述。菜單命名:M_功能代碼_功能描述。</p><p>  標(biāo)識符命名時,應(yīng)該使標(biāo)識符有一定的字面含義,有助于程序的調(diào)試和腳本的可讀性的提高。本系統(tǒng)中使用的命名規(guī)范為:變量作用域+變量類型+”_”+具有一定字面含義的名稱。例如:li_selectrow反映出的含義:”l”代表是本地變量,是local的縮寫,”i”代表是integer類型的變量,selectrow表示該

71、變量是用來記錄一個行號的計數(shù)器。</p><p>  4.4 應(yīng)用程序?qū)ο?App_mapbex</p><p>  功能介紹:PB程序由一個應(yīng)用程序開始,即每個PB程序在開始運行時,先執(zhí)行應(yīng)用程序?qū)ο蟮腛pen事件。在Open事件中連接數(shù)據(jù)庫,并打開登陸窗口win11。</p><p><b>  代碼分析:</b></p>&

72、lt;p>  // Profile xxb_sql</p><p>  SQLCA.DBMS = "MSS Microsoft SQL Server"</p><p>  SQLCA.Database = "xxb1"</p><p>  SQLCA.LogPass = <***></p>&l

73、t;p>  SQLCA.ServerName = "."</p><p>  SQLCA.LogId = "sa"</p><p>  SQLCA.AutoCommit = False</p><p>  SQLCA.DBParm = ""</p><p>  connect

74、using sqlca;</p><p>  open(win11)</p><p>  4.5具體窗口的實現(xiàn)</p><p> ?。?)登錄窗口 win11 </p><p>  功能介紹:本窗口主要是檢查操作員輸入的用戶名及密碼是否正確,如果正確,允許登錄。如果錯誤,顯示出錯誤提示。</p>

75、<p>  操作方法:填寫“用戶名”與“密碼”后,按鈕進(jìn)行驗證,點擊“退出”退出。</p><p><b>  代碼分析:</b></p><p>  string s1,s2</p><p>  select b2.yhm,b2.mm</p><p>  into:s1,:s2</p><

76、p><b>  from b2</b></p><p>  where b2.yhm=:sle_1.text;</p><p>  if sqlca.sqlcode=100 then</p><p>  messagebox("提示信息","用戶不存在,請重新登錄!")</p><

77、;p>  sle_1.text=""</p><p>  sle_2.text=""</p><p>  elseif s2<>sle_2.text then</p><p>  messagebox("提示信息","密碼不正確,請重新登錄!")</p>

78、<p>  sle_2.text=""</p><p><b>  else</b></p><p>  open(win1)</p><p>  close(win11)</p><p><b>  end if</b></p><p>  

79、(2) 主窗口w_main</p><p>  功能介紹:本窗口作為菜單及其他子窗口的父窗口。</p><p>  窗口設(shè)置;本窗口為父窗口,它的WindowType為main!, WindowState為maximized!,表示窗口在運行時是最大化的風(fēng)格。</p><p> ?。?) 菜單dwin1</p><p>  功能介紹:打開各功

80、能窗口</p><p>  操作方法:點擊菜單項相應(yīng)的菜單,狀態(tài)欄可顯示幫助信息。</p><p>  代碼分析:每個相應(yīng)的菜單項的clicked事件都使用opens方法來打開相應(yīng)的功能窗口,如“學(xué)生添加”的菜單項下的 clicked事件的處理代碼為:</p><p>  open(w_stu)</p><p>  具體的功能由相應(yīng)的窗口內(nèi)功

81、能按鈕的clicked()方法實現(xiàn)。</p><p> ?。?)學(xué)生添加窗口 w_stu</p><p>  功能介紹:增加學(xué)生基本信息。</p><p>  操作方法:添加學(xué)生基本信息:點擊“確定”按鈕,添加學(xué)生信息。</p><p><b>  代碼分析:</b></p><p>  long

82、 ll_id,ll_i</p><p>  date ld_birthday</p><p>  string ls_name,ls_nation,ls_sex,ls_home,ls_tel,ls_party</p><p><b>  //數(shù)據(jù)格式檢驗</b></p><p>  if sle_id.text=&quo

83、t;" OR isNull(sle_id.text) then</p><p>  messagebox("缺少數(shù)據(jù)","請輸入學(xué)號")</p><p>  sle_id.setfocus()</p><p><b>  return</b></p><p>  els

84、eif sle_name.text="" OR isNull(sle_name.text) then</p><p>  messagebox("缺少數(shù)據(jù)","請輸入學(xué)生姓名")</p><p>  sle_name.setfocus()</p><p><b>  return</b&g

85、t;</p><p><b>  end if</b></p><p>  if sle_birthday.text<>"" AND not isNull(sle_birthday) then</p><p>  if isDate(sle_birthday.text) then</p><

86、p>  ld_birthday=date(sle_birthday.text)</p><p><b>  else</b></p><p>  messagebox("輸入數(shù)據(jù)錯誤","請使用“年-月-日”的日期格式")</p><p>  sle_birthday.setfocus()</

87、p><p><b>  return</b></p><p><b>  end if</b></p><p><b>  end if</b></p><p>  ll_id=long(sle_id.text)</p><p><b>  //取

88、出黨團(tuán)員選擇</b></p><p>  if rb_1.checked=true then</p><p>  ls_party=rb_1.text</p><p>  elseif rb_2.checked=true then</p><p>  ls_party=rb_2.text</p><p>&

89、lt;b>  else</b></p><p>  ls_party=rb_3.text</p><p><b>  end if</b></p><p><b>  //取出性別選擇</b></p><p>  if rb_man.checked=true then</p&

90、gt;<p>  ls_sex=rb_man.text</p><p>  elseif rb_woman.checked=true then</p><p>  ls_sex=rb_woman.text</p><p><b>  end if</b></p><p>  //由民族ddlb,取出民族選擇

91、</p><p>  if ddlb_nation.text="none" then</p><p>  ls_nation=""</p><p><b>  else</b></p><p>  ls_nation=trim(ddlb_nation.text)</p>

92、<p><b>  end if</b></p><p>  //檢查學(xué)號有無重號</p><p>  SELECT student.stud_id</p><p>  INTO :ll_i</p><p>  FROM student</p><p>  WHERE student

93、.stud_id=:ll_id;</p><p>  if ll_i<>0 then</p><p>  messagebox("錯誤信息","學(xué)號第"+string(ll_i)+"號重號!請改正。")</p><p>  sle_id.setfocus()</p><p&g

94、t;<b>  return</b></p><p><b>  end if</b></p><p>  ls_name=trim(sle_name.text)</p><p>  ls_home=trim(sle_home.text)</p><p>  ls_tel=trim(sle_tel.

95、text)</p><p>  //向數(shù)據(jù)庫寫入數(shù)據(jù)</p><p>  INSERT INTO "student"</p><p>  ("stud_id",</p><p><b>  "name",</b></p><p>  &q

96、uot;birthday",</p><p><b>  "sex",</b></p><p><b>  "nation",</b></p><p><b>  "home",</b></p><p>&l

97、t;b>  "tel",</b></p><p><b>  "party",</b></p><p><b>  "resume")</b></p><p>  VALUES(:ll_id,</p><p><b&

98、gt;  :ls_name,</b></p><p>  :ld_birthday,</p><p><b>  :ls_sex,</b></p><p>  :ls_nation,</p><p><b>  :ls_home,</b></p><p><

99、b>  :ls_tel,</b></p><p>  :ls_party,</p><p>  :mle_resume.text);</p><p>  //數(shù)據(jù)寫入數(shù)據(jù)庫后,將輸入控件全部置空</p><p>  sle_id.text=""</p><p>  sle_name

100、.text=""</p><p>  sle_birthday.text=""</p><p>  mle_resume.text=""</p><p>  sle_home.text=""</p><p>  sle_tel.text=""&

101、lt;/p><p>  sle_id.setfocus()//將光標(biāo)放到"學(xué)號"輸入欄</p><p><b>  查詢窗口:</b></p><p>  功能介紹:按條件進(jìn)行相關(guān)查詢</p><p>  操作方法:根據(jù)輸入的相關(guān)查詢條件,然后點擊“添加”“顯示”按鈕。</p><p&

102、gt;<b>  代碼分析:</b></p><p>  string str=""</p><p>  if ddlb_3.text<>"" and ddlb_2.text<>"" and sle_1.text<>"" then</p>

103、<p>  if ddlb_1.text<>"" then</p><p>  str=ddlb_1.text+' '</p><p><b>  end if</b></p><p>  if ddlb_2.text="班級" then</p><

104、;p>  str=str+'bj'</p><p>  elseif ddlb_2.text="性別" then</p><p>  str=str+'sex'</p><p>  elseif ddlb_2.text="民族" then</p><p>  str

105、=str+'nation'</p><p>  elseif ddlb_2.text="政治面貌" then</p><p>  str=str+'party'</p><p>  elseif ddlb_2.text="家庭地址" then</p><p>  str=

106、str+'home'</p><p><b>  end if</b></p><p>  if ddlb_3.text="等于" then</p><p>  str=str+"='"+sle_1.text+"'"</p><p&g

107、t;  elseif ddlb_3.text="不等于" then </p><p>  str=str+"<>'"+sle_1.text+"'"</p><p>  elseif ddlb_3.text="類似于" then</p><p>  str=st

108、r+" like '%"+sle_1.text+"%'"</p><p><b>  end if</b></p><p>  lb_1.additem(str)</p><p><b>  end if</b></p><p><b&g

109、t; ?。?)系統(tǒng)有關(guān)界面</b></p><p>  功能介紹:用來介紹系統(tǒng)的制作人,以及版權(quán)情況。</p><p>  第五章 課程設(shè)計總結(jié)</p><p>  通過老師的課程,加上我們的努力,不僅拓寬了自己的知識面,還在實踐過程中鞏固和加深了自己所學(xué)的理論知識,使自己的技術(shù)素質(zhì)和實踐能力有了進(jìn)一步的提高,同時我們的專業(yè)水平也有了一定的進(jìn)步。<

110、/p><p>  因為時間倉促,該管理系統(tǒng)還存在不少的缺點和漏洞,敬請周老師批評指正,非常感謝!</p><p><b>  第六章 參考文獻(xiàn)</b></p><p>  [1].呂曉輝.PowerBuilder9.0 全方位教程,航空工業(yè)出版社2003</p><p>  [2].何旭洪 傅立宏 PowerBuilder9

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論