分布式數(shù)據(jù)庫課程設計報告_第1頁
分布式數(shù)據(jù)庫課程設計報告_第2頁
分布式數(shù)據(jù)庫課程設計報告_第3頁
分布式數(shù)據(jù)庫課程設計報告_第4頁
分布式數(shù)據(jù)庫課程設計報告_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、分布式數(shù)據(jù)庫在學生信息管理系統(tǒng)中的應用 班級: 姓名: 設計時間: 指導教師: 評 語:_ 評閱成績: 評閱教師: 目錄目錄 摘要摘要 .2 第一章第一章 緒論緒論 .3 11 課題研究的意義.3 12 分布式數(shù)據(jù)庫技術國外發(fā)展現(xiàn)狀.4 13 分布式數(shù)據(jù)庫技術國內發(fā)展現(xiàn)狀.4 14 分布式數(shù)據(jù)庫技術發(fā)展動向.4 第二章第二章 分布式數(shù)據(jù)庫理論分布式數(shù)據(jù)庫理論 .5 21 分布式數(shù)據(jù)庫理論.5 211 分布式數(shù)據(jù)庫系統(tǒng)的有關概念.5 212 分布式數(shù)據(jù)庫系統(tǒng)的特點.6 213 分布式數(shù)據(jù)庫數(shù)據(jù)分片.6 214 分布式數(shù)據(jù)庫數(shù)據(jù)分布.7 215 數(shù)據(jù)分布設計策略.8 第三章第三章 系統(tǒng)總體設計系統(tǒng)

2、總體設計 .10 3.1 系統(tǒng)功能設計.10 3.2 系統(tǒng)結構設計.10 3.3 系統(tǒng)概念設計.11 4.4 系統(tǒng)邏輯設計.11 4.5 系統(tǒng)物理設計(表設計).11 第四章第四章 系統(tǒng)實現(xiàn)系統(tǒng)實現(xiàn) .15 4.1 POWERBUILDER開發(fā)工具簡介.15 4.2 POWERBUILDER 9 應用程序開發(fā)的基本步驟 .15 4.3 編碼規(guī)范.16 4.4 應用程序對象 APP_MAPBEX.16 4.5 具體窗口的實現(xiàn).16 第五章第五章 課程設計總結課程設計總結 .22 第六章第六章 參考文獻參考文獻 .23 摘要摘要 社會在飛速的發(fā)展,計算機的應用正深入到人們生活的每一個角落。我們作為

3、當代的大學 生,更應該推動和實踐計算機信息系統(tǒng)在生活在的應用,為將來的工作和學習打好基礎。 本系統(tǒng)為簡易的分布式學生信息管理系統(tǒng),實現(xiàn)學生的基本信息管理和學生成績管理。 本系統(tǒng)采用了 Power Builder9SQL2000 的結構來開發(fā)程序。Power Bulider(以下簡稱 pb)做 為應用程序開發(fā)工具和程序界面開發(fā)工具,pb 具有功能強大,集成性好的優(yōu)點,很適合小 型系統(tǒng)的應用開發(fā)和界面開發(fā)。后臺數(shù)據(jù)庫使用 SQL 2000 系統(tǒng),Microsoft SQL Server 2000 是美國微軟公司推出的使用相當廣泛的數(shù)據(jù)庫管理系統(tǒng),包含一套圖形工具,如服務 器管理(用于啟動和關閉數(shù)據(jù)

4、庫服務) 、企業(yè)管理器(用于創(chuàng)建和修改數(shù)據(jù)庫及備份數(shù)據(jù)庫 等)和查詢分析器(用于交互執(zhí)行 Transact-SQL 語句和過程并提供圖形查詢分析功能) 等。 本報告說明了整個系統(tǒng)從分析到設計再到實現(xiàn)的具體步驟和過程,從中我學到了很多知識 和技能。 關鍵詞: 分布式信息管理系統(tǒng) PB+SQL2000 第一章第一章 緒論緒論 11 課題研究的意義 隨著信息技術的飛速發(fā)展,社會經濟結構、生產方式和消費結構已經發(fā)生了重大變化, 這些變化深刻地影響著人民生活的方方面面。尤其是近十年來人們對計算機的依賴性越來 越強,同時也對計算機提出了更高的要求。隨著計算機網(wǎng)絡技術的日趨成熟,傳統(tǒng)的集中 式的關系型數(shù)據(jù)庫

5、系統(tǒng)越來越不能滿足人們處理數(shù)據(jù)的要求,因此分布式數(shù)據(jù)庫系統(tǒng)應運 而生,并且得到迅速發(fā)展。 在社會各個領域,對分布式數(shù)據(jù)庫系統(tǒng)的要求更加迫切。隨著社會的發(fā)展,許多關系 著國民經濟發(fā)展的行業(yè),例如水利、電力、交通、金融等行業(yè)的作用越來越重要。但是這 些行業(yè)所管轄的部門或企業(yè)往往在地域上比較分散,而在行政和業(yè)務管理上,既要求各部 門具有獨立的局部控制、分散管理的能力,同時,又要在整個行業(yè)內實現(xiàn)對所有部門或所 屬企業(yè)進行全局控制,統(tǒng)一管理。這種協(xié)同管理要求各部門或企業(yè)之間的信息和數(shù)據(jù)既能 靈活交流和共享,又能統(tǒng)一管理和使用。正是這種需求的不斷擴大和要求的不斷提高,促 使分布式數(shù)據(jù)庫不斷發(fā)展,功能不斷加

6、強。分布式數(shù)據(jù)庫的出現(xiàn),實現(xiàn)了數(shù)據(jù)通過網(wǎng)絡連 接共享。 分布式數(shù)據(jù)庫將地理位置上分布于不同地點的數(shù)據(jù)通過網(wǎng)絡連接起來,并通過應用統(tǒng) 一的數(shù)據(jù)庫管理系統(tǒng)對不同位置的數(shù)據(jù)進行統(tǒng)一管理,使得數(shù)據(jù)在地理位置上分布,而在 邏輯上又是一個整體。 隨著數(shù)據(jù)庫在各個行業(yè)中的不斷發(fā)展,各行業(yè)也對數(shù)據(jù)庫提出了更高的要求,數(shù)據(jù)量 也急劇增加,對于管理這些數(shù)據(jù)的復雜度也隨之增加。同時各行業(yè)部門或企業(yè)所使用的軟 硬件之間的差異,這給開發(fā)企業(yè)管理數(shù)據(jù)庫管理軟件帶來了巨大的工作量,如果能夠有效 解決這個問題,即使用同一模塊管理操作不同的數(shù)據(jù)表格,對不同的數(shù)據(jù)表格進行查詢、 插入、刪除、修改等操作,也即對企業(yè)簡單的應用實現(xiàn)即

7、插即用的功能,那么就能大大地 減少軟件開發(fā)的維護和更新費用,縮短軟件的開發(fā)周期。分布式數(shù)據(jù)庫系統(tǒng)的開發(fā),降低 了企業(yè)開發(fā)的成本,提高了軟件使用的回報率。當今社會已進入了信息時代,人們將越來 越多的信息存儲在網(wǎng)絡中的計算機上。如何更有效地存儲、管理、共享和提取信息,越來 越引起人們的關注。集中式數(shù)據(jù)庫已經不能滿足人們的需求,分布式數(shù)據(jù)庫走入了當今的 舞臺。 分布式數(shù)據(jù)庫系統(tǒng)的出現(xiàn),有效地利用企業(yè)現(xiàn)有資源和網(wǎng)絡資源。分布式數(shù)據(jù)庫系統(tǒng) 是一個面向地理上分布而在管理上需要不同程度集中的處理系統(tǒng),主要解決在計算機網(wǎng)絡 上如何進行數(shù)據(jù)的分布和處理。由于分布式數(shù)據(jù)庫有許多突出的優(yōu)點,因此,分布式數(shù)據(jù) 庫系統(tǒng)

8、可以廣泛地應用于大企業(yè),多種行業(yè)及軍事國防等領域,這對建立集約型社會,加 快社會主義現(xiàn)代化建設,將具有重要的現(xiàn)實意義。 12 分布式數(shù)據(jù)庫技術國外發(fā)展現(xiàn)狀 分布式數(shù)據(jù)庫系統(tǒng)(Distributed Database system,簡稱DDBS)已有20多年的發(fā)展歷史, 經歷了一個從產生到發(fā)展的過程,取得了長足的進步。許多技術問題被提出并得到了解決。 20世紀90年代起,DDBS己進入商品化應用階段,當前,分布式數(shù)據(jù)庫技術已經成熟并得到 廣泛應用。一些數(shù)據(jù)庫廠商在不斷推出和改進自己的分布式數(shù)據(jù)庫產品,以適應多種需要 和擴大市場的占有份額。但是,實現(xiàn)和建立分布式數(shù)據(jù)庫系統(tǒng)絕對不是數(shù)據(jù)庫技術與網(wǎng)絡

9、技術的簡單結合,而是在這兩種技術相互滲透和有機融合后的技術升華,它又產生了很多 新的技術。而且,分布式數(shù)據(jù)庫系統(tǒng)雖然基于集中式數(shù)據(jù)庫系統(tǒng),但分布式數(shù)據(jù)庫系統(tǒng)卻 有它自己的特色和理論基礎。由于數(shù)據(jù)的分布環(huán)境形成了很大的固有的技術難度,使得分 布式數(shù)據(jù)庫系統(tǒng)的應用被推遲。至今完全遵循分布式數(shù)據(jù)庫系統(tǒng)規(guī)則,特別是實現(xiàn)完全分 布透明性的商用系統(tǒng)還很難見到。 13 分布式數(shù)據(jù)庫技術國內發(fā)展現(xiàn)狀 我國對分布式數(shù)據(jù)庫系統(tǒng)的研究約在20世紀80年代初期開始,一些科研單位和高校先 后建立和實現(xiàn)了幾個各具特色的分布式數(shù)據(jù)庫系統(tǒng)。如由中國科學院數(shù)學研究所設計,由 該所與上??茖W技術大學、華東師范大學合作實現(xiàn)的CPO

10、REL,武漢大學研制的WDDBS和 WOODDBS,東北大學研制的DMDFO系統(tǒng)等,尤其值得一提的是華中科技大學達夢數(shù)據(jù)庫多 媒體研究所開發(fā)的DMZ多媒體數(shù)據(jù)庫,它解決了異構數(shù)據(jù)庫系統(tǒng)實現(xiàn)數(shù)據(jù)的共享和透明訪問 的難度。他們的工作對我國分布式數(shù)據(jù)庫技術的理論研究和應用開發(fā)起到了積極的推動作 用。 14 分布式數(shù)據(jù)庫技術發(fā)展動向 分布式數(shù)據(jù)庫系統(tǒng)可看成是由分布在各場地的一組數(shù)據(jù)庫系統(tǒng)(稱為局部數(shù)據(jù)庫系統(tǒng)) 組成的統(tǒng)一的數(shù)據(jù)庫系統(tǒng)。后者被稱為全局數(shù)據(jù)庫系統(tǒng)。局部數(shù)據(jù)庫系統(tǒng)間耦合程度不同, 或是很緊的耦合(對場地高度透明),或是很松的耦合(高度自治)。由于通用操作系統(tǒng)對數(shù) 據(jù)庫管理系統(tǒng)性能的限制,以及

11、硬件價格的下降和高速網(wǎng)的發(fā)展,用專用數(shù)據(jù)庫服務器己 變得越來越合理了。專用數(shù)據(jù)庫服務器的操作系統(tǒng)是面向數(shù)據(jù)庫的,因此可以減少許多不 必要的開銷,可以支持大量的實時事務處理。為了提高服務器的性能,可以采用磁盤組和 大規(guī)模進行處理技術多個數(shù)據(jù)庫服務器聯(lián)網(wǎng),也可以構成分布式數(shù)據(jù)庫系統(tǒng)。 隨著計算機網(wǎng)絡技術的飛速發(fā)展和廣泛應用,特別是internet的普及,使得對分布式 數(shù)據(jù)庫系統(tǒng)的研究和開發(fā)變得更加活躍。但是在實際應用時,特別是復雜情況下的效率、 可用性、安全性、一致性等問題并不容易解決。internet是當前高速發(fā)展的全球性互聯(lián)網(wǎng) 絡,internet應用開發(fā)的新方案幾乎全部都是基于web的。we

12、b應用已經從傳統(tǒng)的靜態(tài)HTML 頁面,向動態(tài)的開放的方向發(fā)展。針對這樣的市場需求和web平臺的基本技術,各個瀏覽器 和web服務器提供商,如Microsoft公司、Netscape公司和主流的數(shù)據(jù)庫廠商,如Sybase公 司、oracle公司紛紛推出web服務器和瀏覽器上的擴展技術,形成以web服務器廠商的擴展 技術為基礎,數(shù)據(jù)庫廠商提供解決數(shù)據(jù)庫訪問的應用服務器。這樣,Web應用就從傳統(tǒng)的 “客戶機R務器兩層體系結構演變?yōu)椤癢eb服務器十應用服務器+數(shù)據(jù)庫服務器”三層 體系結構。用戶的開發(fā)方向己經從構造單一的Clientserver應用轉變?yōu)榧?Browseserver應用、internet

13、應用甚至數(shù)據(jù)倉庫應用為一體的綜合應用。從而形成Web技 術與數(shù)據(jù)庫技術相結合的數(shù)據(jù)庫系統(tǒng)模型。 實現(xiàn)和建立分布式數(shù)據(jù)庫系統(tǒng)絕對不是數(shù)據(jù)庫技術與網(wǎng)絡技術、Web技術、計算機技術 等的簡單結合,而是在這些技術相互間滲透和有機結合后的技術升華。分布式數(shù)據(jù)庫系統(tǒng) 有它自己的特色和理論基礎,由于數(shù)據(jù)的分布環(huán)境形成了很大的固有的技術難度,使得分 布式數(shù)據(jù)庫系統(tǒng)的應用被推遲。至今完全遵循分布式數(shù)據(jù)庫系統(tǒng)規(guī)則,特別是實現(xiàn)完全分 布透明性的商用系統(tǒng)還很難見到。因此,在很長一段時間分布式數(shù)據(jù)庫都有很大的發(fā)展空 間。 第二章第二章 分布式數(shù)據(jù)庫理論分布式數(shù)據(jù)庫理論 21分布式數(shù)據(jù)庫理論 211分布式數(shù)據(jù)庫系統(tǒng)的有關

14、概念 分布式數(shù)據(jù)庫系統(tǒng)使用計算機網(wǎng)絡將地理位置分散而在管理和控制又需要不同程度集 中的多個邏輯單位(通常是集中式數(shù)據(jù)庫系統(tǒng))聯(lián)結起來,共同組成一個統(tǒng)一的數(shù)據(jù)庫系統(tǒng)。 因此,分布式數(shù)據(jù)庫系統(tǒng)可以看成是:計算機網(wǎng)絡與數(shù)據(jù)庫系統(tǒng)的有機結合。在分布式數(shù) 據(jù)庫系統(tǒng)中,被計算機網(wǎng)絡聯(lián)結的每個邏輯單位,稱為站點(site)或節(jié)點(Node)。所謂地 理位置上分散是指各個站點分散在不同的地方,大可為不同的國家,小可為同一建筑中的 不同位置。所謂邏輯上集中是指各個站點之間不是互不相關的,它們是一個邏輯整體,并 由一個統(tǒng)一的數(shù)據(jù)庫管理系統(tǒng)進行管理這個數(shù)據(jù)庫管理系統(tǒng)稱為分布式數(shù)據(jù)庫管理系 (Distributed

15、DatabaseManagement System,簡稱DDBMS)。一個用戶如果只訪問他注冊的 那個站點上的數(shù)據(jù)稱為本地(或局部)用戶或本地應用;如果訪問涉及兩個或兩個以上的站 點中的數(shù)據(jù),稱為全局用戶或全局應用。 分布式數(shù)據(jù)庫系統(tǒng)中有全局數(shù)據(jù)庫(GDB)和局部數(shù)據(jù)庫(LDB)的概念。全局數(shù)據(jù)庫由全 局數(shù)據(jù)庫管理系統(tǒng)進行管理,所謂全局是從整個系統(tǒng)角度出發(fā)研究問題。局部數(shù)據(jù)庫由局 部數(shù)據(jù)庫管理系統(tǒng)(LDBMS)進行管理,所謂局部是從各個站點的角度出發(fā)研究問題。 212分布式數(shù)據(jù)庫系統(tǒng)的特點 1.物理分布性:分布式數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)不是存儲在一個站點上,而是分散存儲 在由計算機網(wǎng)絡聯(lián)結起來的多個

16、站點上。 2.邏輯整體性:分布式數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)物理上是分散在各個站點中的, 但這些分散的數(shù)據(jù)邏輯上卻是一個整體,它們被分布式數(shù)據(jù)庫系統(tǒng)的所有用戶 (全局用戶)共享,并由一個分布式數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理。 3.站點自治性:站點自治性也稱場地自治性,各站點上的數(shù)據(jù)由本地DBMS(database Management System:數(shù)據(jù)庫管理系統(tǒng))管理,具有自治處理能力,完成本站點的 應用(局部應用)。 4.數(shù)據(jù)獨立性:分布式數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)獨立性不但指數(shù)據(jù)的邏輯獨立性與物理 獨立性,還包括數(shù)據(jù)分布獨立性亦稱分布透明性。分布透明性使用戶不必關心數(shù) 據(jù)的邏輯分片,不必關心數(shù)據(jù)是否被復制及復制副

17、本的個數(shù)(冗余數(shù)據(jù)),也不必 關心數(shù)據(jù)物理及其片段位置的分布細節(jié),同時也不關心局部場地上數(shù)據(jù)庫支持哪 種數(shù)據(jù)模型。 5.集中與自治相結合的控制機制:在分布式數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的共享有兩個層次: 一是局部共享,即同一站點上的用戶可共享本站點上局部數(shù)據(jù)庫中的數(shù)據(jù),以完 成局部應用;二是全局共享,即分布式數(shù)據(jù)庫系統(tǒng)上的用戶都可共享在分布式數(shù) 據(jù)庫系統(tǒng)的各個站點上存儲的數(shù)據(jù),以完成全局應用。因而,分布式數(shù)據(jù)庫系統(tǒng) 常常采用集中和自治相結合的控制機制。各局部的DBMS可以分散地管理局部數(shù)據(jù) 庫,具有自治的功能。同時,系統(tǒng)又設有集中控制機制,協(xié)調各局部DBMS的工作, 執(zhí)行全局管理功能。 6.適當增加數(shù)據(jù)

18、冗余性:在集中式數(shù)據(jù)庫系統(tǒng)中,盡量減少冗余是系統(tǒng)的目標之一。 其原因是,冗余數(shù)據(jù)不僅浪費存儲空間,而且容易造成各數(shù)據(jù)副本之間的不一致 性,為了保證數(shù)據(jù)的一致性,系統(tǒng)要付出一定的維護代價。而在分布式數(shù)據(jù)庫系 統(tǒng)中卻通過冗余數(shù)據(jù)提高系統(tǒng)的可靠性、可用性和改善系統(tǒng)性能,因為當某一個 站點出現(xiàn)故障時,系統(tǒng)可以對另一站點上的相同副本進行操作,不會因某一處故 障而造成整個系統(tǒng)的癱瘓。另外,系統(tǒng)可以選擇用戶最近的數(shù)據(jù)副本進行操作, 減少通信代價,改善整個系統(tǒng)的性能。 7.事務管理的分布性:數(shù)據(jù)的分布性必然造成事務執(zhí)行和管理的分布性。 213分布式數(shù)據(jù)庫數(shù)據(jù)分片 數(shù)據(jù)分片(Data Fragmentation

19、)也稱數(shù)據(jù)分割,是分布式數(shù)據(jù)庫的特征之一。在一個 分布式數(shù)據(jù)庫中,全局數(shù)據(jù)庫是各個站點上局部數(shù)據(jù)庫的邏輯整體,而各個局部數(shù)據(jù)庫中 的數(shù)據(jù)是由全局數(shù)據(jù)庫的某種邏輯分割而來。這樣減少網(wǎng)絡通信量,從而提高效率。 數(shù)據(jù)分片有三種基本方法,分別如下: 1水平分片:按特定條件把全局關系的所有元組分成若干個互不相交的子集,每一個 子集為全局關系的一個邏輯片斷,簡稱為片段。它們通過對全局關系施加選擇運算得到, 并可通過對這些片段的合并操作來恢復該全局關系。 2垂直分片:將全局關系(表或視圖)的屬性集(字段集)中的若干屬性作投影運算,即 得到全局關系的一個垂直分片。要求全局關系的每一個屬性至少映射到一個垂直片段

20、中, 且每一個垂直分段都包含該全局關系的鍵。這樣可以通過對這些片段執(zhí)行連接操作來恢復 該全局關系。 3混合分片:水平分片和垂直分片的混合。無論哪種分片方法都必須滿足數(shù)據(jù)完備性 的要求,即必須遵守以下幾條準則:完備性:全局關系的所有數(shù)據(jù)都要分配到相應的分片 中,否則會丟失數(shù)據(jù)。不相交性:在各水平分片的關系子集中不能出現(xiàn)相同元組??芍貥?性:由全局關系分割得到的分片能通過關系運算還原成全局關系。 214分布式數(shù)據(jù)庫數(shù)據(jù)分布 數(shù)據(jù)分布(Data Distribution)是指分布式數(shù)據(jù)庫中的數(shù)據(jù)不是存儲在一個站點的計算 機存儲設備上,而是根據(jù)需要將數(shù)據(jù)劃分成邏輯片段,按某種策略將這些片段分散地存儲

21、在各個站點上。數(shù)據(jù)分布的策略有: l分割式:所有數(shù)據(jù)只有一個備份,它被分割成若干個邏輯片段,每個邏輯片段被指 派在某個特定的站點上。這種分布策略可充分利用各個站點上的存儲設備,數(shù)據(jù)的存儲量 大。在存放數(shù)據(jù)的各個站點上可自治的檢索和修改數(shù)據(jù),發(fā)揮系統(tǒng)的并發(fā)操作能力。同時, 由于數(shù)據(jù)是分布在多個站點上,當某部分站點出現(xiàn)故障時,系統(tǒng)仍能運行,提高了系統(tǒng)的 可靠性。對于全局查詢和修改,所需的時間會長一些,因為數(shù)據(jù)不在同一場地上,需要進 行通訊。 2復制式:全局數(shù)據(jù)有多個副本,每個站點上都有一個完整的數(shù)據(jù)副本。采用這種策 略的系統(tǒng)可靠性高,響應速度快,數(shù)據(jù)庫的恢復比較容易,可從任意場地得到數(shù)據(jù)副本。 但

22、是要保持各個站點上數(shù)據(jù)的同步修改,將要付出高昂的代價。另外,整個系統(tǒng)的冗余很 大,系統(tǒng)的數(shù)據(jù)容量也只是一個站點上數(shù)據(jù)庫的容量。 3混合式:全部數(shù)據(jù)被分為若干個子集,每個子集安置在不同的站點上,但任意站點 都沒有保存全部的數(shù)據(jù),根據(jù)數(shù)據(jù)的重要性決定各個子集的副本的多少,這種分布策略, 兼顧分割式和復制式的做法,也獲得了二者的優(yōu)點,它靈活性好,能提高系統(tǒng)的效率,但 同時也包括T-者的復雜性。 215數(shù)據(jù)分布設計策略 數(shù)據(jù)分布的方式有許多種,一般來說,可按整個數(shù)據(jù)庫是集中存放在一個場地還是分 割開來散布到多個場地以及是否有數(shù)據(jù)副本存在等情況,可組合成四種數(shù)據(jù)分布方式,它 們是: l集中式。即整個數(shù)據(jù)

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

24、與時間延遲, 系統(tǒng)的并行處理也受限于中心場地的處理能力與速度,進而中心場地就會成為“瓶頸” ,這 就進一步限制了系統(tǒng)的反應速度,而且中心場地也容易崩潰,系統(tǒng)的有效性與可用性不高。 例如,如通信系統(tǒng)失效,則數(shù)據(jù)庫對任何遠程場地都無效:而當中心場地出現(xiàn)故障時,則 整個數(shù)據(jù)庫系統(tǒng)失效。 2重復式。即有多個數(shù)據(jù)庫副本存在,每個場地上都有一個完全的數(shù)據(jù)副本存在。這 種方式的可用性、健壯性及效率相當高。這種可靠性高不僅體現(xiàn)在當一個或多個場地發(fā)生 故障時數(shù)據(jù)庫仍能有效運轉,而且還表現(xiàn)在很容易恢復一個破壞了的數(shù)據(jù)庫副本,這只需 簡單的從另一個正常場地完全拷貝一個數(shù)據(jù)庫即可。由于每個場地都有一個完全的數(shù)據(jù)庫 副

25、本,用戶的請求大都可以在本場地完成,這有助于提高響應速度,減少通信代價,使通 信分布比較均勻。在只有讀操作時,由于不需要維護數(shù)據(jù)一致性,因此不需要場地間的同 步通信,系統(tǒng)的可用性是很高的。但是系統(tǒng)需要花費相當大的開銷去維護數(shù)據(jù)庫的一致性 和運行并發(fā)控制。由于一致性和并法控制的復雜性,這種策略不適合單請求并行處理,但 在各個場地,不同請求可以異步的處理。如何保持數(shù)據(jù)的一致性,依系統(tǒng)的不同而差別很 大,而且所承受的開銷取決于所提供的數(shù)據(jù)的一致性的級別。當網(wǎng)絡的一部分由于某種原 因而失效時,需要限制修改操作的執(zhí)行以維護數(shù)據(jù)的一致性。因為,若允許兩個修改操作 在不能實現(xiàn)同步的情況各自在不同的場地進行,

26、則當系統(tǒng)恢復正常以后,可能出現(xiàn)數(shù)據(jù)的 不一致性。另外,如同集中式策略一樣,數(shù)據(jù)庫的大小受限于每個場地上硬盤空間可用性 的大小。一般來說,這種策略比較適合于要求可靠性高、數(shù)據(jù)庫小、修改頻率低的場合。 3分割式。全局邏輯數(shù)據(jù)庫被分割成許多片段,并且被分配到各個場地上,但這些片 段只有一個拷貝。在對數(shù)據(jù)進行分割時,需要盡量按應用的要求進行分割,一般來說,應 以減少表間的聯(lián)系為目的。同樣進行數(shù)據(jù)分割時,也應盡量將某一個場地經常存取的數(shù)據(jù) 存放在相應的場地,這樣可以減少網(wǎng)絡開銷。分割式策略與集中式策略相比有幾個明顯的 優(yōu)點。一是數(shù)據(jù)庫的大小只受限于網(wǎng)絡上作為整個可用的硬盤空間的大小,而不受限于某 一場地

27、的可用硬盤空間的大小。其二是檢索與更新均指向各自所要求的所在場地,而非指 向一個中心場地,數(shù)據(jù)庫存取的局部性比例較大,所以通信代價較低。但另一方面,可能 有一個請求需要存取多個場地甚至全部場地的數(shù)據(jù),這時由于需要訪問相關場地上的片段, 這時網(wǎng)絡開銷可能比集中式更高,但若設計時分割標準合適且配合妥當?shù)姆植荚瓌t,則出 現(xiàn)這種情況應該是不多見的。若分布式數(shù)據(jù)庫管理系統(tǒng)支持并行處理,則可進行并行處理, 故響應速度比集中式要快。通信負載較均勻地分布于整個網(wǎng)絡,所以任何場地都對通信瓶 頸口不敏感。數(shù)據(jù)庫的有效性與可靠性也比集中式要高,因為若部分或全部通信失效,或 者一個或幾個場地發(fā)生故障,不會導致整個系統(tǒng)

28、完全失效,至少數(shù)據(jù)庫部分可用。這種方 案的性能、有效性和可靠性與數(shù)據(jù)庫訪問的局部性相關,若一個存取操作幾乎在一個場地 進行,則說數(shù)據(jù)庫訪問 的局部性高,否則就低。而數(shù)據(jù)庫訪問的局部性跟設計時數(shù)據(jù)分布有關。如果設計時分片, 可能造成每一個請求都要存取多個場地,則其性能、有效性和可靠性會比集中式更低,因 為多個場地出故障的概率要比單獨某一個場地出故障的概率要大,這樣只要有一個場地出 故障,這個請求就不能執(zhí)行。一般說來,分割策略比較適合各場地硬盤空間有限、可靠性 要求較高、或應用的數(shù)據(jù)存取有一定的“分割性” ,即能實現(xiàn)高的存取局部化程度的情況。 4組合式。它是分割與重復的組合,每一場地可以有數(shù)據(jù)庫的

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

30、求等的各種因素是彼此相關的,很難將其分割開來考慮。此外,分布式數(shù)據(jù)庫 管理系統(tǒng)所支持的各種機構,數(shù)據(jù)庫的使用方式等也是施加影響的因素??傊?,采用這種 方式必須全面考慮各種因素,并進行權衡。 第三章第三章 系統(tǒng)總體設計系統(tǒng)總體設計 本系統(tǒng)是為了實現(xiàn)學生信息化管理而編寫的。其中包括了學生信息日常工作中的各項 操作。本系統(tǒng)的項目名稱為:學生信息管理系統(tǒng) V1.0 3.1 系統(tǒng)功能設計 主要功能模塊: 1 學生信息處理 實現(xiàn)對學生信息的錄入、修改、添加、刪除 2 信息瀏覽處理 實現(xiàn)對學生基本信息的瀏覽查看 3 數(shù)據(jù)查詢處理 實現(xiàn)對學生信息的查詢 4 數(shù)據(jù)匯總處理 實現(xiàn)對學生信息的分類匯總 5 數(shù)據(jù)備份

31、處理 實現(xiàn)對學生信息的備份和導出 3.2 系統(tǒng)結構設計 登錄窗口 win11 數(shù)據(jù)瀏 覽 數(shù)據(jù)查 詢 數(shù)據(jù)匯 總 數(shù)據(jù)備 份 幫助系 統(tǒng) help 3.3 系統(tǒng)概念設計 1 學生信息處理 實現(xiàn)對學生信息的錄入、修改、添加、刪除 2 信息瀏覽處理 實現(xiàn)對學生基本信息的瀏覽查看 3 數(shù)據(jù)查詢處理 實現(xiàn)對學生信息的查詢 4 數(shù)據(jù)匯總處理 實現(xiàn)對學生信息的分類匯總 5 數(shù)據(jù)備份處理 實現(xiàn)對學生信息的備份和導出 4.4 系統(tǒng)邏輯設計 1 學生表 sxTable(學生編號,學生姓名,學生生日,學生性別,民族,家庭住址,電話, 政治面貌,簡介) 2 成績表 cjTable(學期編號,課程名稱,分數(shù)) 3 課

32、程表 kcTable(課程名稱,分數(shù),授課老師) 4.5 系統(tǒng)物理設計(表設計) 表設計 (1)學生信息表(xsTable) 字段名數(shù)據(jù)類型是否可為空主鍵備注 xsIDInt(4)NOT NULLIS學生編號 xsNameChar(20)NOT NULL學生姓名 BrithdayDateNULL生日 xsSexChar(2)NOT NULL學生性別 xsMzChar(20) NOT NULL民族 HomeChar(50)NULL家庭住址 TelChar(20)NULL電話 ZzmmChar(10)NOT NULL政治面貌 ResumeChar(50) NULL簡介 主窗口 win1 數(shù)據(jù)編輯

33、(2)學生成績表(cjTable) 字段名數(shù)據(jù)類型是否可為空主鍵備注 xqIDChar(10)NOT NULLIS學期編號 kcNameChar(20)NOT NULL課程名稱 ScoreInt(3)NOT NULL課程分數(shù) (3)學生課程表(kcTable) 字段名數(shù)據(jù)類型是否可為空主鍵備注 kcNameChar(20)NOT NULL課程名稱 ScoreInt(3)NOT NULL課程分數(shù) TeacherChar(20)NOT NULL授課老師 六、數(shù)據(jù)庫設計 1分布式數(shù)據(jù)庫定義 傳統(tǒng)的數(shù)據(jù)庫管理模式是將所有數(shù)據(jù)集中于單個數(shù)據(jù)庫中,用戶通過各種數(shù)據(jù)庫工具, 來實現(xiàn)數(shù)據(jù)庫的維護和使用。但是這

34、種模型對于數(shù)據(jù)量巨大時,已經無法滿足用戶的需求; 同時,當出現(xiàn)一些人為何自然災害等對數(shù)據(jù)造成破壞時,數(shù)據(jù)的安全性將無法得到保護, 甚至出現(xiàn)丟失。針對以上問題,分布式的概念被提出來:是物理上分散而邏輯上集中地數(shù) 據(jù)庫系統(tǒng)。分布式數(shù)據(jù)庫系統(tǒng)使用計算機網(wǎng)絡將地理位置分散而管理和控制又需要不同程 度集中的多個邏輯單位連接起來,共同組成一個統(tǒng)一的數(shù)據(jù)庫系統(tǒng)。 2分布式數(shù)據(jù)庫管理系統(tǒng) 分布式數(shù)據(jù)庫管理系統(tǒng)和集中式數(shù)據(jù)庫管理系統(tǒng)一樣,是對數(shù)據(jù)庫進行管理和維和的 一組軟件,是分布式數(shù)據(jù)庫系統(tǒng)的重要組成部分,是用戶與分布式數(shù)據(jù)庫的接口。 分布式數(shù)據(jù)庫管理系統(tǒng)包括三個組成部分:全局數(shù)據(jù)庫管理系統(tǒng)(GDBMS)、局

35、部數(shù)據(jù)庫 管理系統(tǒng)(LDBMS)和通訊管理程序(CM)。它能支持四個基本功能:應用程序的遠程數(shù)據(jù)庫操 作(包括查詢和更新操作)、支持分布式數(shù)據(jù)庫系統(tǒng)的完全的或部分的透明性、對分布式數(shù) 據(jù)庫(包括全局數(shù)據(jù)庫和局部數(shù)據(jù)庫)的管理和控制以及支持分布式事務的并發(fā)和恢復。 圖 1 分布式數(shù)據(jù)庫系統(tǒng)體系結構 本學生管理系統(tǒng)采用的分布式管理系統(tǒng)為 SQL-SERVER 2000,稍后集中介紹其分布式 模型及實現(xiàn)。 3.數(shù)據(jù)分片與分配 在實施分布式數(shù)據(jù)庫系統(tǒng)時,必須考慮如何將數(shù)據(jù)分布在系統(tǒng)的各個場地(站點)上, 也就是說怎樣將數(shù)據(jù)進行分片,在進行分片后又怎樣將它們進行分配。分片是對整個數(shù)據(jù) 庫中的數(shù)據(jù)來說的,

36、而分配時分布式數(shù)據(jù)庫在物理位置上的存儲。分片操作包括水平分片、 垂直分片、混合分片及誘導分片四種。 在本學生管理系統(tǒng)中,根據(jù)學生性別將所有學生分成兩部分,分別位于數(shù)據(jù)庫 A 與數(shù) 據(jù)庫 B(在兩臺不同的環(huán)境上) 。 4. SQL-SERVER 復制模型 SQLSever 2000 是管理數(shù)據(jù)庫的工具,它的功能強大,內容豐富。同樣它也支持分 布式數(shù)據(jù)庫的運行。它采用的是復制一訂閱的模型來管理分布式數(shù)據(jù)庫。這個模型的機制 模擬了出版社的工作方式,即將所需的數(shù)據(jù)出版出來后由需要的用戶進行訂閱從而組成分 布式的數(shù)據(jù)庫。 該模型由下列對象組成:發(fā)布服務器、分發(fā)服務器、訂閱服務器、發(fā)布、項目和訂閱。 發(fā)布

37、服務器是提供數(shù)據(jù)以便復制到其它服務器的服務器。它用于保持源數(shù)據(jù)庫,從中 制作出出版數(shù)據(jù),并將這些數(shù)據(jù)傳送到分發(fā)服務器中。同出版社方式比較,發(fā)布服務器相 當于出版社中的出版商角色,主要出版數(shù)據(jù)。 分發(fā)服務器是作為分發(fā)數(shù)據(jù)庫宿主并存儲歷史數(shù)據(jù)和事務以及元數(shù)據(jù)的服務器,是發(fā) 布服務器和訂閱服務器中間的橋梁。它相當于是出版社工作方式中的分銷商。 訂閱服務器是接收復制數(shù)據(jù)的服務器,訂閱服務器通過訂閱發(fā)布服務器的發(fā)布來獲取 數(shù)據(jù)。 發(fā)布是一個數(shù)據(jù)庫中的一個或多個項目的集合。這種多個項目的分組使得指定邏輯相 關的一組數(shù)據(jù)和數(shù)據(jù)庫對象以一起復制變得更容易。 項目是指定要復制的數(shù)據(jù)表、數(shù)據(jù)分區(qū)或數(shù)據(jù)庫對象。項目

38、可以是完整的表、某幾列 (使用垂直篩選) 、某幾行(使用水平篩選) 、存儲過程或視圖定義、存儲過程的執(zhí)行、視 圖、索引視圖或用戶定義函數(shù)。 訂閱是對數(shù)據(jù)或數(shù)據(jù)庫對象的復本的請求。訂閱定義將接收的發(fā)布和接收的時間、地 點。訂閱的同步或數(shù)據(jù)分發(fā)可以由發(fā)布服務器(強制訂閱)或訂閱服務器(請求訂閱)請 求。發(fā)布可以支持強制訂閱和請求訂閱的混合。 圖 2:SQL-SERVER 分布式模型 在所做學生管理系統(tǒng)中,我們選一臺 SERVER20003 系統(tǒng)的電腦作為發(fā)布服務器和分發(fā) 服務器,兩臺 XP 系統(tǒng)作為訂閱服務器 A 與 B,分別訂閱男女學生信息,實現(xiàn)分片。 第四章第四章 系統(tǒng)實現(xiàn)系統(tǒng)實現(xiàn) 4.1 P

39、owerBuilder 開發(fā)工具簡介 PowerBuilder 是目前開發(fā) Client/Server 結構的應用系統(tǒng)的主要工具之一。 PowerBuilder9.0 在繼承與發(fā)展以前版本優(yōu)秀功能的基礎上,為適應網(wǎng)絡應用程序的開發(fā) 要求集成了 Enterprise Application Studio 中 PowerBuilder 以及 Power Site 的功能,在傳統(tǒng) 數(shù)據(jù)庫開發(fā)的基礎上,將 Web 應用更好地集成到 PowerBuilder 中。PowerBuilder 全面支 持面向對象編程。是功能強大并易于使用的第 4 代編程語言(4GL),它內置了包括數(shù)據(jù)窗 口在內的多種對象類,

40、可以方便地訪問數(shù)據(jù)庫。相對于其他應用工具,PowerBuilder 具有 工作效率高、成本低、質量高、功能強的特點。 4.2 Powerbuilder 9 應用程序開發(fā)的基本步驟 我們要開發(fā)應用程序時,首先要對它進行分析。無論哪種、哪方面的應用程序,都要 先建立一個應用對象。下面我們介紹以下 PowerBuilder 9 應用程序開發(fā)的基本步驟: (1)首先要建立應用對象。 (2)創(chuàng)建窗口。在窗口里放置各種控件和編寫事件響應的腳本。 (3)創(chuàng)建菜單。窗口里的菜單可包括菜單條,下拉式菜單,級聯(lián)菜單和彈出式菜單為 菜單編寫事件響應的腳本。 (4)創(chuàng)建用戶對象。如果想要重復使用某個控件的功能,可以把

41、窗口上經常放置的控 件定義為用戶對象。 (5)創(chuàng)建數(shù)據(jù)窗口。數(shù)據(jù)窗口可以檢索數(shù)據(jù)庫中的數(shù)據(jù),可以建立各種報或統(tǒng)計表, 可以修改數(shù)據(jù)庫。 (6)創(chuàng)建函數(shù)、結構、事件。為了能夠更好地支持腳本,編寫自定義的函數(shù),定義結 構類型變量,也可以為對象和控件定義自己的事件。 (7)運行與調試??梢栽陂_發(fā)環(huán)境中隨時運行應用程序,發(fā)現(xiàn)錯誤后,可以用調試工 具進行調試。 (8)當應用程序開發(fā)完畢后,可以把它編譯成可執(zhí)行的文件,讓用戶比較容易地建立 應用系統(tǒng)的運行環(huán)境。 4.3 編碼規(guī)范 為了減少在軟件開發(fā)過程中的錯誤,在軟件開發(fā)過程中應該遵守一定的標準。 給對象命名要有一定的規(guī)范,部件名稱可以達到 40 個字符,

42、窗口的命名:W_功能代碼 _功能描述。數(shù)據(jù)窗口的命名:DW_功能代碼_功能描述。菜單命名:M_功能代碼_功能描述。 標識符命名時,應該使標識符有一定的字面含義,有助于程序的調試和腳本的可讀性 的提高。本系統(tǒng)中使用的命名規(guī)范為:變量作用域+變量類型+”_”+具有一定字面含義的名 稱。例如:li_selectrow 反映出的含義:”l”代表是本地變量,是 local 的縮寫, ”i”代表是 integer 類型的變量,selectrow 表示該變量是用來記錄一個行號的計數(shù)器。 4.4 應用程序對象 App_mapbex 功能介紹:PB 程序由一個應用程序開始,即每個 PB 程序在開始運行時,先執(zhí)行

43、應用程序 對象的 Open 事件。在 Open 事件中連接數(shù)據(jù)庫,并打開登陸窗口 win11。 代碼分析: / Profile xxb_sql SQLCA.DBMS = MSS Microsoft SQL Server SQLCA.Database = xxb1 SQLCA.LogPass = SQLCA.ServerName = . SQLCA.LogId = sa SQLCA.AutoCommit = False SQLCA.DBParm = connect using sqlca; open(win11) 4.5 具體窗口的實現(xiàn) (1)登錄窗口 win11 功能介紹:本窗口主要是檢查操作

44、員輸入的用戶名及密碼是否正確,如果正確,允許登錄。 如果錯誤,顯示出錯誤提示。 操作方法:填寫“用戶名”與“密碼”后,按鈕進行驗證,點擊“退出”退出。 代碼分析: string s1,s2 select b2.yhm,b2.mm into:s1,:s2 from b2 where b2.yhm=:sle_1.text; if sqlca.sqlcode=100 then messagebox(提示信息,用戶不存在,請重新登錄!) sle_1.text= sle_2.text= elseif s2sle_2.text then messagebox(提示信息,密碼不正確,請重新登錄!) sle_

45、2.text= else open(win1) close(win11) end if (2) 主窗口 w_main 功能介紹:本窗口作為菜單及其他子窗口的父窗口。 窗口設置;本窗口為父窗口,它的 WindowType 為 main!, WindowState 為 maximized!,表 示窗口在運行時是最大化的風格。 (3) 菜單 dwin1 功能介紹:打開各功能窗口 操作方法:點擊菜單項相應的菜單,狀態(tài)欄可顯示幫助信息。 代碼分析:每個相應的菜單項的 clicked 事件都使用 opens 方法來打開相應的功能窗口, 如“學生添加”的菜單項下的 clicked 事件的處理代碼為: ope

46、n(w_stu) 具體的功能由相應的窗口內功能按鈕的 clicked()方法實現(xiàn)。 (4)學生添加窗口 w_stu 功能介紹:增加學生基本信息。 操作方法:添加學生基本信息:點擊“確定”按鈕,添加學生信息。 代碼分析: long ll_id,ll_i date ld_birthday string ls_name,ls_nation,ls_sex,ls_home,ls_tel,ls_party /數(shù)據(jù)格式檢驗 if sle_id.text= OR isNull(sle_id.text) then messagebox(缺少數(shù)據(jù),請輸入學號) sle_id.setfocus() return e

47、lseif sle_name.text= OR isNull(sle_name.text) then messagebox(缺少數(shù)據(jù),請輸入學生姓名) sle_name.setfocus() return end if if sle_birthday.text AND not isNull(sle_birthday) then if isDate(sle_birthday.text) then ld_birthday=date(sle_birthday.text) else messagebox(輸入數(shù)據(jù)錯誤,請使用“年-月-日”的日期格式) sle_birthday.setfocus() return end if end if ll_id=long(sle_id.text) /取出黨團員選擇 if rb_1.checked=true then ls_party=rb_1.text elseif rb_2.checked=true then ls_party=rb_2.text else ls_party=rb_3.text end if /取出性別選擇 if rb_man.checked=true then ls_sex=rb_man.text elseif rb_woman.checked=true then ls_sex=r

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論