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

下載本文檔

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

文檔簡(jiǎn)介

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

2、<p>  評(píng) 語(yǔ):_________________________________</p><p>  評(píng)閱成績(jī):__ __評(píng)閱教師:__ ___</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ù)庫(kù)技術(shù)國(guó)外發(fā)展現(xiàn)狀4</p><p>  1.3 分布式數(shù)據(jù)庫(kù)技術(shù)國(guó)內(nèi)發(fā)展現(xiàn)狀4</p><p>  1.4 分布式數(shù)據(jù)庫(kù)技術(shù)發(fā)展動(dòng)向4</p><p>  第二章 分布式數(shù)據(jù)庫(kù)理論

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

71、變量是用來(lái)記錄一個(gè)行號(hào)的計(jì)數(shù)器。</p><p>  4.4 應(yīng)用程序?qū)ο?App_mapbex</p><p>  功能介紹:PB程序由一個(gè)應(yīng)用程序開(kāi)始,即每個(gè)PB程序在開(kāi)始運(yùn)行時(shí),先執(zhí)行應(yīng)用程序?qū)ο蟮腛pen事件。在Open事件中連接數(shù)據(jù)庫(kù),并打開(kāi)登陸窗口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具體窗口的實(shí)現(xiàn)</p><p> ?。?)登錄窗口 win11 </p><p>  功能介紹:本窗口主要是檢查操作員輸入的用戶(hù)名及密碼是否正確,如果正確,允許登錄。如果錯(cuò)誤,顯示出錯(cuò)誤提示。</p>

75、<p>  操作方法:填寫(xiě)“用戶(hù)名”與“密碼”后,按鈕進(jìn)行驗(yàn)證,點(diǎ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("提示信息","用戶(hù)不存在,請(qǐng)重新登錄!")</p><

77、;p>  sle_1.text=""</p><p>  sle_2.text=""</p><p>  elseif s2<>sle_2.text then</p><p>  messagebox("提示信息","密碼不正確,請(qǐng)重新登錄!")</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!,表示窗口在運(yùn)行時(shí)是最大化的風(fēng)格。</p><p> ?。?) 菜單dwin1</p><p>  功能介紹:打開(kāi)各功

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

81、能按鈕的clicked()方法實(shí)現(xiàn)。</p><p> ?。?)學(xué)生添加窗口 w_stu</p><p>  功能介紹:增加學(xué)生基本信息。</p><p>  操作方法:添加學(xué)生基本信息:點(diǎn)擊“確定”按鈕,添加學(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ù)格式檢驗(yàn)</b></p><p>  if sle_id.text=&quo

83、t;" OR isNull(sle_id.text) then</p><p>  messagebox("缺少數(shù)據(jù)","請(qǐng)輸入學(xué)號(hào)")</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ù)","請(qǐng)輸入學(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ù)錯(cuò)誤","請(qǐng)使用“年-月-日”的日期格式")</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é)號(hào)有無(wú)重號(hào)</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("錯(cuò)誤信息","學(xué)號(hào)第"+string(ll_i)+"號(hào)重號(hào)!請(qǐng)改正。")</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ù)庫(kù)寫(xiě)入數(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ù)寫(xiě)入數(shù)據(jù)庫(kù)后,將輸入控件全部置空</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é)號(hào)"輸入欄</p><p><b>  查詢(xún)窗口:</b></p><p>  功能介紹:按條件進(jìn)行相關(guān)查詢(xún)</p><p>  操作方法:根據(jù)輸入的相關(guān)查詢(xún)條件,然后點(diǎ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="班級(jí)" 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="類(lèi)似于" 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>  功能介紹:用來(lái)介紹系統(tǒng)的制作人,以及版權(quán)情況。</p><p>  第五章 課程設(shè)計(jì)總結(jié)</p><p>  通過(guò)老師的課程,加上我們的努力,不僅拓寬了自己的知識(shí)面,還在實(shí)踐過(guò)程中鞏固和加深了自己所學(xué)的理論知識(shí),使自己的技術(shù)素質(zhì)和實(shí)踐能力有了進(jìn)一步的提高,同時(shí)我們的專(zhuān)業(yè)水平也有了一定的進(jìn)步。<

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論