第六章系統(tǒng)總體設計_第1頁
第六章系統(tǒng)總體設計_第2頁
第六章系統(tǒng)總體設計_第3頁
第六章系統(tǒng)總體設計_第4頁
第六章系統(tǒng)總體設計_第5頁
已閱讀5頁,還剩81頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第六章系統(tǒng)總體設計第一頁,共86頁。第六章是關于系統(tǒng)總體設計的基本知識。主要分為系統(tǒng)總體結構設計、數(shù)據(jù)庫設計、數(shù)據(jù)庫的物理實現(xiàn)和代碼設計加節(jié)的內容。學習本章需要了解系統(tǒng)總體設計的目標任務和工作內容,掌握系統(tǒng)總體設計的結構化方法和主要圖形工具,并能夠使用Visualfoxpro數(shù)據(jù)庫管理系統(tǒng)建立和操縱數(shù)據(jù)庫。本章也是這門課程的重點章節(jié)之一。在歷年考試中,本章考核的內容以各種題型出現(xiàn)過,其中包括實際應用的部分。當然還包括對Visualfoxpro的基本操作。本章在筆試中占5~15分左右。第二頁,共86頁。系統(tǒng)分析報告經(jīng)過專家和用戶的評審、批準后、開發(fā)工作進入系統(tǒng)設計階段。系統(tǒng)設計階段的主要目的是確定新系統(tǒng)的物理實施方案。系統(tǒng)設計階段的主要活動有:(1)系統(tǒng)總體設計(2)系統(tǒng)詳細設計(3)編寫系統(tǒng)設計報告本章主要是系統(tǒng)總體設計,第七章講系統(tǒng)詳細設計和編寫系統(tǒng)設計報告。第三頁,共86頁。6.l

系統(tǒng)總體結構設計

6.1.1

系統(tǒng)總體結構設計的任務系統(tǒng)總體結構設計的任務,是根據(jù)系統(tǒng)分析的邏輯模型設計應用軟件系統(tǒng)的物理結構。系統(tǒng)物理模型必須符合邏輯模型,能夠完成邏輯模型所規(guī)定的信息處理功能,這是物理設計的基本要求。

第四頁,共86頁。系統(tǒng)應具有可修改性,即易讀,易于進行查錯、改錯、可以根據(jù)環(huán)境的變化和用戶的要求進行各種改變和改進。系統(tǒng)是否具有可修改性,對于系統(tǒng)開發(fā)和維護影響極大。據(jù)統(tǒng)計,在系統(tǒng)生命周期中各階段的應用軟件費用及人力投入大體分布如下:

.系統(tǒng)開發(fā):20%

.系統(tǒng)維護:80%

第五頁,共86頁。(2007.4,單選16)在系統(tǒng)生命周期中,系統(tǒng)維護所占用的費用及人力投入比例大約()

A.80% B.50%C.35% D.15%(2004.10,單選22)在應用系統(tǒng)總體結構設計中,要著重解決的問題是使系統(tǒng)具有()

A.可讀性B.可重用性

C.可移植性D.可修改性

第六頁,共86頁。6.1.2

結構化設計的基本思想

1.結構化設計的要點

系統(tǒng)是否具有可修改性與其結構有著密切的關系。由于波動效應的存在,對某個模塊的改動可能要修改整個系統(tǒng),對于組成部分有復雜聯(lián)系的大系統(tǒng),各部分間錯綜復雜的聯(lián)系是造成修改工作難于進行的主要原因。因此必須設計一種合理的物理結構,將“波動效應”降到最低限度,才能提高系統(tǒng)的可修改性。1974年美國的w.Stevens等首先提出了“結構化設計”

的構想,成為系統(tǒng)設計的基本思想。第七頁,共86頁。“結構化設計”的構想,成為系統(tǒng)設計的基本思想。其要點如下:(1)

模塊化。這即指將系統(tǒng)按一定規(guī)則劃分成相對獨立的模塊。模塊是結構化系統(tǒng)的基本元素。

(2)

由頂向下,逐步求精。系統(tǒng)劃分模塊的工作應按層次進行:①把整個系統(tǒng)看做一個模塊,然后把它按功能分解成若干第一層模塊,它們各擔負一定的局部功能,共同完成整個系統(tǒng)的功能。②每個第一層模塊又可以進一步分解成為更簡單一些的第二層模塊,越下層的模塊,其功能越具體、越簡單。

(3)

上層模塊分解為下層模塊,有三種不同的結構形式,即順序結構、選擇結構和循環(huán)結構。如課本P158圖6-2(07.10,簡答39,將上層模塊分解為下層模塊時,可以有三種不同的結構形式,請寫出三種結構形式的名稱并畫出各自的控制結構圖。)第八頁,共86頁。(2007.04,單選15)構成結構化系統(tǒng)的基本元素是()

A.程序B.字段C.模塊D.接口(2006.10,單選16)造成復雜系統(tǒng)修改工作難于進行的主要原因是()A.業(yè)務流程 B.層次結構C.外部環(huán)境 D.波動效應第九頁,共86頁。(2005.4,單選33,2003.10,單選31)描述系統(tǒng)物理模型的主要工具是(

A.N-S圖

B.數(shù)據(jù)流程圖

C.E-R圖

D.控制結構圖(2004.4,單選19)結構化設計思想的要點不包括()

A.模塊化

B.自頂向下,逐步求精C.自底向上

D.模塊分解時只采用順序、選擇和循環(huán)三種基本結構方式

第十頁,共86頁。控制結構圖控制結構圖也稱為軟件結構圖或模塊結構圖,它表示出一個系統(tǒng)的層次分解關系、模塊調用關系、模塊之間數(shù)據(jù)流和控制信息流的傳遞關系,它是系統(tǒng)物理結構的主要工具。

2.控制結構圖的基本符號模塊模塊調用關系數(shù)據(jù)傳遞控制信息循環(huán)調用選擇調用數(shù)據(jù)存儲第十一頁,共86頁。2.控制結構圖的基本符號

如圖6-2所示第十二頁,共86頁。2.控制結構圖的規(guī)定模塊之間的調用,如課本P159圖6-3,按以下規(guī)則進行:(1)

每個模塊有自身的任務,只有接收到上級模塊的調用命令時才能執(zhí)行。

(2)

模塊之間的通信只限于其直接上、下級模塊,任何模塊不能直接與其他上下級模塊或同級模塊發(fā)生通信聯(lián)系。

(3)

若有某模塊要與非直接上、下級的其他模塊發(fā)生通信聯(lián)系,必須通過其上級模塊進行傳遞。

(4)

模塊調用順序為自上而下。在控制結構圖中,把一個系統(tǒng)分解為若干模塊,實質上是把一件比較抽象、其物理內容不大確定的任務,分解為若干件比較具體的、物理內容比較確定的任務。

控制結構圖既可以反映系統(tǒng)整體結構,又能反映系統(tǒng)的細節(jié),能準確反映各組成部分(各模塊)

及它們之間的聯(lián)系。

第十三頁,共86頁。(2007.10,單選16)以下對模塊功能的描述中,正確的是【】A.上層模塊的任務比較具體B.下層模塊的任務比較抽象C.非直接上下級模塊間不能通信D.模塊調用的順序是自上而下(2004.4,單選25)在規(guī)范的控制結構圖中,同級模塊間的通信()A.可直接進行B.可通過這些模塊的直接上級模塊來直接進行’C.必須通過這些模塊的下級模塊來傳遞D.必須通過這些模塊的上級模塊進行傳遞

第十四頁,共86頁。6.1.3

模塊分解的規(guī)則

1、模塊獨立性所謂兩個模塊彼此完全獨立,是指其中任一模塊在運行時,與另一個模塊存在無關。獨立性只是一個相對概念。具有獨立功能而且和其它模塊之間相互作用少的模塊,特為獨立性高的模塊。保證模塊獨立性高是設計一個系統(tǒng)的關鍵,它具有以下優(yōu)點。①系統(tǒng)容易開發(fā)。系統(tǒng)開發(fā)往往由若干人分工合作完成,由于模塊之間聯(lián)系少,接口簡單,可以簡化合作者之間的協(xié)調工作。②系統(tǒng)可靠性高。模塊之間的相互影響小,當一個模塊出錯時,產生波動效應的概率低,從而提高了系統(tǒng)的可靠性。③系統(tǒng)容易維護:在對一個模塊進行修改和維護時,不必擔心其他模塊內部是否會受到影響。第十五頁,共86頁。模塊獨立程度可以由兩個定性指標衡量,即:為保證模塊相對獨立,應使模塊內部自身自身聯(lián)系緊密,而模塊外部互相之間的信息聯(lián)系要盡可能減少,這是設計物理模型的兩項重要原則。(07.4,簡答39,簡述模塊獨立性的優(yōu)點和設計模塊的基本原則)。要衡量模塊自身是否緊密、與外部的聯(lián)系是否合理,需引入模塊凝聚、模塊耦合的概念。第十六頁,共86頁。2、模塊凝聚模塊凝聚是用以衡量一個模塊內部自身功能的內在聯(lián)系是否緊密的指標,也是衡量模塊質量好壞的重要標準。模塊按凝聚程度的高低可分為以下五級:⑴偶然凝聚。一個模塊內部各組成部分的處理彼此無關,偶然地組合在一起,這是一種組織得最差的模塊,凝聚程度最低。⑵邏輯凝聚。一個模塊內部各組成部分的處理邏輯相似,但功能彼此不同。這種模塊通常包含一個選擇控制和若干彼此獨立的處理功能。先執(zhí)行選擇功能,再根據(jù)選擇結果,控制執(zhí)行不同的處理功能。由于它的邏輯途徑比較復雜,修改困難,因此凝聚程度較差。⑶時間凝聚。這是指若干處理由于執(zhí)行時間彼此有關,集中在一起組成的模塊。如初始化模塊,各處理內容必須在特定時間內執(zhí)行,而各處理內容彼此無關,故凝聚程度較差。時間凝聚的模塊通常要影響到其他許多模塊的運行,因此與其他模塊之間聯(lián)系多,修改比較困難。第十七頁,共86頁。數(shù)據(jù)凝聚

模塊中某個成分的輸出是另一成分的輸入。由于這類模塊無論數(shù)據(jù)還是執(zhí)行順序,模塊中的一部分依賴于另外一部分。這種模塊可較明確表述其功能,內部結構較密切,與其他模塊聯(lián)系一般較少,因此具有較好的凝聚性。功能凝聚一個模塊中各個部分都是完成某一具體功能必不可少的組成部分,或者說該模塊中所有部分都是為了完成一項具體功能而協(xié)同工作,緊密聯(lián)系,不可分割的。這種模塊獨立強、便于修改。凝聚程度高,是結構化設計模塊的理想目標。一個模塊的內部凝聚程度,可由P162的圖6-5的判定樹來表示。第十八頁,共86頁。(2007.04,單選19)在比較模塊獨立性時,凝聚程度最高的是()A.邏輯凝聚 B.數(shù)據(jù)凝聚C.功能凝聚 D.時間凝聚(2004.10,單選20)工資管理模塊包含輸入工資變動數(shù)據(jù),計算工資、匯總工資、輸出工資等功能,它的凝聚類型屬于()

A.偶然凝聚B.時間凝聚

C.數(shù)據(jù)凝聚D.功能凝聚(2004.4,單選20)如果一個模塊執(zhí)行兩個功能,且各功能的處理內容無關,這種模塊的凝聚類型不是()A.功能凝聚B.數(shù)據(jù)凝聚C.時間凝聚D.不能確定第十九頁,共86頁。3、模塊的耦合模塊間的信息聯(lián)系方式,稱為模塊的耦合,它是衡量模塊間結構性能的重要指標。耦合有三種類型:⑴數(shù)據(jù)耦合

一個模塊訪問另一個模塊時,彼此之間是通過簡單數(shù)據(jù)參數(shù)(不是控制參數(shù)、公共數(shù)據(jù)結構或外部變量)來交換輸入、輸出信息的。⑵控制耦合

如果一個模塊通過傳送開關、標志、名字等控制信息,明顯地控制選擇另一模塊的功能,就是控制耦合。⑶非法耦合一個模塊與另一個模塊內部發(fā)生聯(lián)系,即一個模塊中的某些內容在另一模塊中以某種方式被引用,稱為非法耦合。例如,不經(jīng)過調用關系,直接使用或修改另一模塊中的數(shù)據(jù),將控制贊揚指向另一模塊中的某一標號(節(jié)、過程)等。模塊間數(shù)據(jù)耦合是最正常的方式,為保持模塊的獨立性,模塊之間互相傳遞的數(shù)據(jù)要盡量少;要努力避免控制耦合,特別是避免自上而下傳遞控制信號;應消除任何形式的非法耦合。第二十頁,共86頁。(2007.10,單選18)在系統(tǒng)總體設計中,模塊間的控制耦合應()A.全部采用B.盡可能多用C.盡可能少用D.全部不用第二十一頁,共86頁。6.1.4

控制結構圖的繪制

繪制控制結構圖的依據(jù)是數(shù)據(jù)流程圖。繪制控制結構圖,首先是將上層數(shù)據(jù)流程圖映射為上層控制結構圖,由頂層數(shù)據(jù)流程圖開始,逐級下推。

每一層數(shù)據(jù)流程圖(DFD)

中的“處理功能”,映射為相應層次控制結構圖中的“模塊”;而DFD中流人“處理功能”

的數(shù)據(jù)流映射為輸入模塊的數(shù)據(jù)流,DFD中流出“處理功能”的數(shù)據(jù)流映射成從“模塊”中輸出的數(shù)據(jù)流。低層次模塊結構的分解,一方面可參照低層次數(shù)據(jù)流程圖的功能結構;另一方面應按照模塊分解的規(guī)則,將凝聚程度低的、或具有控制耦合、非法耦合的結構進行分解。由于待分解的模塊凝聚類型不同,在分解時采用以下兩種不同的方式:

第二十二頁,共86頁。1.以轉換為中心結構的分解

如果待分解的模塊是一個數(shù)據(jù)凝聚的模塊,即內部包含若干順序執(zhí)行且對某些數(shù)據(jù)進行轉換處理,稱為以轉換為中心的結構。這種模塊可分解為輸入、處理、輸出三大部分。

如圖6-10工資管理模塊的分解第二十三頁,共86頁。應用:以轉換為中心結構的模塊的分解(2006.10,應用題42)根據(jù)數(shù)據(jù)計算的數(shù)據(jù)流圖輸入數(shù)據(jù)數(shù)據(jù)求解打印輸出畫出以轉換為中心的控制結構圖。第二十四頁,共86頁。第二十五頁,共86頁。2.以業(yè)務為中心結構的分解

待分解的模塊要處理幾項邏輯上相似的業(yè)務,即它是一個邏輯凝聚的模塊。這種模塊可以將之分解為一個檢查業(yè)務類型的模塊和一個調度模塊,根據(jù)不同的業(yè)務類型,調度模塊調用不同的下層模塊,進行不同的處理。以上兩種分解方式常常要混合使用,以達到模塊凝聚程度高、模塊之間獨立性強、易于修改的目的。第二十六頁,共86頁。(2007.10,單選17)需要采用以業(yè)務為中心方式分解的模塊類型是【】A.數(shù)據(jù)凝聚B.邏輯凝聚

C.功能凝聚D.時間凝聚(2005.4,單選38)在模塊分解時,如果待分解的是一個邏輯凝聚的模塊,它可以分解為一個檢查業(yè)務類型的模塊和一個(

A.輸入模塊

B.輸出模塊

C.調度模塊

D.處理模塊

第二十七頁,共86頁。6.2

數(shù)據(jù)庫設計

6.2.1

數(shù)據(jù)庫設計的要求和步驟

1.數(shù)據(jù)庫設計的要求

數(shù)據(jù)庫設計的目標是建立一個合適的數(shù)據(jù)模型。這個數(shù)據(jù)模型應當是:

(1)滿足用戶要求:既能合理地組織用戶需要的所有數(shù)據(jù),又能支持用戶對數(shù)據(jù)的所有處理功能。

(2)滿足某個數(shù)據(jù)庫管理系統(tǒng)的要求:能夠在數(shù)據(jù)庫管理系統(tǒng)中實現(xiàn)。

(3)具有較高的范式:數(shù)據(jù)完整性好、效益高,便于理解和維護,沒有數(shù)據(jù)沖突。

(06.04,簡答49)簡述數(shù)據(jù)庫設計的目標和要求第二十八頁,共86頁。2.數(shù)據(jù)庫設計步驟

數(shù)據(jù)庫設計可以分為概念結構設計、邏輯結構設計和物理結構設計三個階段。(1)

概念結構設計。這是數(shù)據(jù)庫設計的第一個階段,在管理信息系統(tǒng)的分析階段,已經(jīng)得到了系統(tǒng)的數(shù)據(jù)流程圖和數(shù)據(jù)字典,現(xiàn)在要結合數(shù)據(jù)規(guī)范化的理論,用一種數(shù)據(jù)模型將用戶的數(shù)據(jù)需求明確地表示出來。

概念數(shù)據(jù)模型是面向問題的模型,反映了用戶的現(xiàn)實工作環(huán)境,是與數(shù)據(jù)庫的具體實現(xiàn)技術無關的。建立系統(tǒng)概念數(shù)據(jù)模型的過程叫做概念結構設計。

第二十九頁,共86頁。(2)

邏輯結構設計。根據(jù)已經(jīng)建立的概念數(shù)據(jù)模型,以及所采用的某個數(shù)據(jù)庫管理系統(tǒng)軟件的數(shù)據(jù)模型特性,按照一定的轉換規(guī)則,把概念模型轉換為這個數(shù)據(jù)庫管理系統(tǒng)所能夠接受的邏輯數(shù)據(jù)模型。不同的數(shù)據(jù)庫管理系統(tǒng)提供了不同的邏輯數(shù)據(jù)模型,如層次模型、網(wǎng)狀模型、關系模型等。

(3)

物理結構設計。為一個確定的邏輯數(shù)據(jù)模型選擇一個最適合應用要求的物理結構的過程,就叫做數(shù)據(jù)庫的物理結構設計。數(shù)據(jù)庫在物理設備上的存儲結構和存取方法稱為數(shù)據(jù)庫的物理數(shù)據(jù)模型。第三十頁,共86頁。6.2.2

概念結構設計描述概念數(shù)據(jù)模型的主要工具是E-R(實體一聯(lián)系)

模型,或者叫做E-R圖。利用E-R圖實現(xiàn)概念結構設計的方法就叫做E-R方法。

第三十一頁,共86頁。1.概念模型的表示方法E-R圖主要是由實體、屬性和聯(lián)系三個要素構成的。在E-R圖中,使用了下面四種基本的圖形符號。(E-R模型符號歷年也是多次考過選擇題)第三十二頁,共86頁。(1)實體:用矩形框表示,框內寫明實體名稱.如:學生表示”學生”這個實體(2)屬性:用橢圓形框表示,框內寫明屬性名稱.表示”學號”這個屬性如:學號(3)聯(lián)系:用菱形框表示,框內寫明聯(lián)系名稱,并用線分別與有關的實體連接起來,同時在線上注明聯(lián)系類型(1:1,1:n,m:n)。表示“選修”這個聯(lián)系如:選修表示“選修”這個聯(lián)系第三十三頁,共86頁。(2007.10,單選17)在數(shù)據(jù)庫設計的過程中,采用E-R模型屬于()A、邏輯數(shù)據(jù)模型B、物理數(shù)據(jù)模型C、關系數(shù)據(jù)模型D、概念數(shù)據(jù)模型第三十四頁,共86頁。2.確定系統(tǒng)實體、屬性及聯(lián)系

利用系統(tǒng)分析階段建立的數(shù)據(jù)字典,并對照數(shù)據(jù)流程圖對系統(tǒng)中的各個數(shù)據(jù)項進行分類、組織,確定系統(tǒng)中的實體、實體的屬性、標識實體的碼以及實體之間聯(lián)系的類型。

在數(shù)據(jù)字典中“數(shù)據(jù)項”

是基本數(shù)據(jù)單位,一般可以作為實體的屬性?!皵?shù)據(jù)結構”、“數(shù)據(jù)存儲”和“數(shù)據(jù)流”條目都可以作為實體,因為它們總是包含了若干的數(shù)據(jù)項。作為屬性必須是不可再分的數(shù)據(jù)項,也就是說在屬性中不能包含其他的屬性。

第三十五頁,共86頁。(2007.04,單選18)在數(shù)據(jù)庫設計過程中,實體屬性對應的數(shù)據(jù)字典條目是()A、數(shù)據(jù)結構B、數(shù)據(jù)流C、數(shù)據(jù)存儲D、數(shù)據(jù)項第三十六頁,共86頁。3.確定局部(分)

E-R圖根據(jù)上面的分析,可以畫出部分實體-聯(lián)系圖。

在這些實體中有下畫線的屬性可以作為實體的碼,這幾個實體之間存在著1:1、1:n和m:n幾種聯(lián)系。第三十七頁,共86頁。下面一個簡單的E-R圖為例,給同學們一個直觀的體會。學生選修課程mn學號姓名性別成績課程號課名學時mmmmmmmmmmmmmmmmm第三十八頁,共86頁。4.集成完整(總)

E-R圖

各個局部(分)

E-R圖畫好以后,應當將它們合并起來集成為完整(總)

E-R圖。在集成時應當注意如下幾點:

(1)

消除不必要的冗余實體、屬性和聯(lián)系。

(2)

解決各分E-R圖之間的沖突。

(3)

根據(jù)情況修改或重構E-R圖。

第三十九頁,共86頁。

6.2.3

邏輯結構設計邏輯結構設計的任務,就是把概念結構設計階段建立的基本E-R圖,按選定的管理系統(tǒng)軟件支持的數(shù)據(jù)模型(層次、網(wǎng)狀、關系)

,轉換成相應的邏輯模型。這種轉換要符合關系數(shù)據(jù)模型的原則。

E-R圖向關系模型的轉換是要解決如何將實體和實體間的聯(lián)系轉換為關系,并確定這些關系的屬性和碼。這種轉換一般按下面的原則進行:第四十頁,共86頁。(1)

一個實體轉換為一個關系,實體的屬性就是關系的屬性,實體的碼就是關系的碼。

(2)

一個聯(lián)系也轉換為一個關系,聯(lián)系的屬性及聯(lián)系所連接的實體的碼都轉換為關系的屬性,但是關系的碼會根據(jù)聯(lián)系的類型變化,如果是:

1:1聯(lián)系,兩端實體的碼都成為關系的候選碼。

1:n聯(lián)系,n端實體的碼成為關系的碼。

m:n聯(lián)系,兩端實體碼的組合成為關系的碼。

(3)

具有相同碼的關系可以合并。

1.轉換關系

2.合并關系

第四十一頁,共86頁。按照E-R圖向關系模型轉換的原則將下列E-R圖(題42圖)轉換為關系。

第四十二頁,共86頁。職工信息數(shù)據(jù)庫概念結構如下:寫出關系數(shù)據(jù)庫的邏輯結構,主碼用下劃線標記。第四十三頁,共86頁。學校有若干班級,每個班級有若干學生,每個學生選修多門課程,每門課程多名學生選修,現(xiàn)要產生如下學生成績單,試設計滿足成績單的關系數(shù)據(jù)模型。第四十四頁,共86頁。學生成績單

第四十五頁,共86頁。生產與銷售系統(tǒng)數(shù)據(jù)庫的E—R圖如圖1:第四十六頁,共86頁。(2006.10,單選17)在E-R圖向關系模型轉換時,若A、B兩個實體之間存在l∶n的聯(lián)系,那么這個聯(lián)系的碼應當是()A.A實體的碼 B.B實體的碼C.A和B實體碼的組合 D.A或B實體的碼(2005.10,單選13)有一個1:1聯(lián)系的E-R模型,在向關系模型轉換時,它最多轉換成()

A.一個關系B.二個關系。

C.三個關系D.四個關系第四十七頁,共86頁。6.3

數(shù)據(jù)庫的物理實現(xiàn)

數(shù)據(jù)庫設計的最后階段是確定數(shù)據(jù)庫在物理設備上的存儲結構和存取方法,也就是設計數(shù)據(jù)庫的物理數(shù)據(jù)模型。

6.3.1

建立VFP的數(shù)據(jù)表

數(shù)據(jù)表也簡稱表,在VFP中數(shù)據(jù)表一般應當包含在數(shù)據(jù)庫中,叫做數(shù)據(jù)庫表(簡稱庫表);但是也可以獨立存在,叫做自由表。

數(shù)據(jù)庫邏輯數(shù)據(jù)模型的一個關系對應了VFP軟件中的一個表,關系的屬性對應了表的字段,關系框架對應了表結構,關系元組對應了表記錄。第四十八頁,共86頁。1.建立數(shù)據(jù)表結構(1)

設計數(shù)據(jù)表。在利用

VFP創(chuàng)建一個新的數(shù)據(jù)表文件以前,應當根據(jù)邏輯模型和數(shù)據(jù)字典先分析和設計數(shù)據(jù)表。需要確定數(shù)據(jù)表名稱,所含字段名稱、類型、寬度以及應當建立的索引字段等。為了便于操作使用,應當考慮下面幾點:1、必須有表文件名,假定為BUMEN.DBF(數(shù)據(jù)表的擴展名為.dbf)2.各字段要有惟一名稱,我們用拼音表示。3.根據(jù)各字段值決定其數(shù)據(jù)類型及寬度。

(2)

創(chuàng)建數(shù)據(jù)表。在

VFP的主窗口,單擊工具欄“新建”

按鈕,打開“新建”

對話框。在文件類型框中選定“表”選項,單擊“新建”

按鈕,打開“創(chuàng)建”

新文件的對話框。

在表設計器中我們已經(jīng)可逐次鍵入字段名、類型、寬度及小數(shù)位數(shù)的信息。字段名就當由不超過10個字符(5個漢字)組成。NULL含義第四十九頁,共86頁。第五十頁,共86頁。(2005.4,單選21)VisualFoxPro自由表中字段名的字符數(shù)最多不超過(

)A.8個

B.10個C.16個

D.24個

第五十一頁,共86頁。應用舉例:(09年1月應用題42題)在VisualFoxPro中,使用表設計器創(chuàng)建“職工人事檔案”數(shù)據(jù)表的結構(如題42表所示)。(字段的寬度以題42表為準,不考慮預留寬度。)第五十二頁,共86頁。請將表設計器的設置結果填寫在下表中,不需要設定的項目請用“×”表示第五十三頁,共86頁。擴展名文件類型擴展名文件類型.DBF表.FRX報表.FPT表備注.FRT報表備注.DBC數(shù)據(jù)庫.LBX標簽.DCT數(shù)據(jù)庫備注.LBT標簽備注.DCX數(shù)據(jù)庫索引.MNX菜單.PJX項目.MNT菜單備注.PJT項目備注.MPR生成的菜單程序.PRG程序.MPX編譯后的菜單程序.FXP編譯后的程序.QPR生成的查詢程序.IDX單索引.QPX編譯后的查詢程序.CDX復合索引.VUE視圖文件.SCX表單.APP生成的應用程序.SCT表單備注.TXT文本文件.SPR源程序文件.EXE可執(zhí)行程序.SPX目標程序文件.FRT格式文件.MEM內存變量文件.BAK備份文件VFP常用文件類型第五十四頁,共86頁。2.數(shù)據(jù)表記錄的輸入

在創(chuàng)建數(shù)據(jù)表時可以根據(jù)系統(tǒng)提示直接輸入記錄,但是也可以暫時不輸入記錄。沒有記錄只有結構的數(shù)據(jù)表叫做空表。

文件有兩種打開方式,“以只讀方式打開”

的文件是不能編輯修改的。因為不需要“共享”數(shù)據(jù),我們選擇用“獨占”

方式打開文件。單擊“確定”按鈕后數(shù)據(jù)表文件被打開。

(3)

追加記錄。首先在主菜單的“顯示”下拉菜單中,單擊“劉覽”選項,打開表的瀏覽窗口。

①追加一條記錄。②連續(xù)追加。③成組追加。

第五十五頁,共86頁。(2004.10,單選26)要在數(shù)據(jù)表瀏覽窗口中連續(xù)輸入新記錄,應當()

A.在顯示下拉菜單中單擊“追加方式”選項

B.在表下拉菜單中單擊“追加新記錄”選項

C.在表下拉菜單中單擊“追加記錄”選項

D.敲快捷鍵Ctrl+Y3.瀏覽數(shù)據(jù)表記錄

第五十六頁,共86頁。6.3.2

建立

VFP的數(shù)據(jù)庫前面建立的表都是自由表,而實際上一個應用系統(tǒng)總是由多個相關表構成的.要在多個自由表之間建立聯(lián)系,必須通過數(shù)據(jù)庫來實現(xiàn).數(shù)據(jù)庫本身是不存儲數(shù)據(jù)的,它只存儲表、視圖及它們之間的關系等。在數(shù)據(jù)庫中的表叫做數(shù)據(jù)庫表,數(shù)據(jù)庫為數(shù)據(jù)表提供了數(shù)據(jù)字典、各種數(shù)據(jù)保護和數(shù)據(jù)管理功能,所以數(shù)據(jù)庫表比自由表要完善得多。一個數(shù)據(jù)庫是由數(shù)據(jù)庫文件(.DBC)、數(shù)據(jù)庫備注文件(.DCT)和數(shù)據(jù)庫索引文件(.DCX)三類文件組成.第五十七頁,共86頁。(2004.10,單選27)數(shù)據(jù)庫備注文件的擴展名是(

)A.DOCB.DBCC.DCTD.DCX第五十八頁,共86頁。1、建立數(shù)據(jù)庫文件2、創(chuàng)建數(shù)據(jù)庫表可以直接在數(shù)據(jù)庫中建立數(shù)據(jù)表,也可以將自由表添加到數(shù)據(jù)庫中,但是不能將另一個數(shù)據(jù)庫中的表拉到當前數(shù)據(jù)庫來。可以在同一個數(shù)據(jù)庫中建立多個表。第五十九頁,共86頁。(1)添加數(shù)據(jù)表。打開選定數(shù)據(jù)庫的“數(shù)據(jù)庫設計器”窗口,在“數(shù)據(jù)庫設計器”工具欄中,單擊“添加表”選項,將會彈出“打開”窗口,選擇要添加的表后,單擊“確定”按鈕,就可以把一個自由表添加到當前數(shù)據(jù)庫中,并將自由表變成數(shù)據(jù)庫表。(2)創(chuàng)建數(shù)據(jù)庫表。也可以在數(shù)據(jù)庫設計器中直接創(chuàng)建數(shù)據(jù)表。首先單擊“數(shù)據(jù)庫設計器”工具欄的“新建表”按鈕,然后在對話框中單擊“新建表”按鈕,將打開數(shù)據(jù)庫“表設計器”。數(shù)據(jù)庫表添加或創(chuàng)建完成以后,關閉數(shù)據(jù)庫設計器窗口。包含了數(shù)據(jù)表的數(shù)據(jù)庫文件就保存在外存儲器中。第六十頁,共86頁。3、數(shù)據(jù)庫文件的打開與關閉(1)數(shù)據(jù)庫文件的打開。一般通過單擊主菜單”文件”下拉菜單的“打開”功能。在彈出的“打開”對話框窗口選定數(shù)據(jù)庫文件后,單擊“打開”按鈕打開。在打開一個數(shù)據(jù)庫表的時候,系統(tǒng)也會自動先打開其數(shù)據(jù)庫文件,然后再打開選定的表。(2)數(shù)據(jù)庫文件的關閉。除了可以通過像關閉其他Windows窗口一樣,關閉“數(shù)據(jù)庫設計器”窗口來關閉當前數(shù)據(jù)庫以外,還可以使用專門的命令來關閉數(shù)據(jù)庫。第六十一頁,共86頁。6.3.3設置數(shù)據(jù)表的索引1、索引表和索引文件用戶對數(shù)據(jù)表常常會有不同的需求,為了加快數(shù)據(jù)的檢索、顯示、查詢的打印速度,就需要對文件中的記錄順序進行重組。實現(xiàn)的方法一般有兩種:一種叫做排序;另一種叫做索引。排序的作用是按指定字段或字段組中數(shù)據(jù)值的大小順序,以遞增(升序)或遞減(降序)方式重新排列全部數(shù)據(jù)記錄,并生成一個新的數(shù)據(jù)表文件。第六十二頁,共86頁。索引不建立一個新的數(shù)據(jù)表文件,只是按照給定字段表達式值的大小,生成一個索引表,并使數(shù)據(jù)表中的記錄按索引表的要求以遞增(升序)或遞減(降序)順序顯示。索引技術除可以重新排列數(shù)據(jù)表記錄的前后順序外,在建立數(shù)據(jù)表間的關聯(lián)時,或者利用SQL語言建立查詢、視圖時,都必須靠索引技術來支持。第六十三頁,共86頁。(2004.10,簡答49)試比較排序與索引的異同。排序的作用是按指定字段或字段組中數(shù)據(jù)值的大小順序,以遞增(升序)或遞減(降序)方式重新排列全部數(shù)據(jù)記錄,并生成一個新的數(shù)據(jù)表文件。索引不建立一個新的數(shù)據(jù)表文件,只是按照給定字段表達式的大小,生成一個索引表,并使數(shù)據(jù)表中的記錄按索引表的要求以遞增(升序)或遞減(降序)順序顯示。在VF系統(tǒng)中,可以為一個數(shù)據(jù)表建立多個不同的索引文件,每個索引文件都能確定一種邏輯順序。在VF系統(tǒng)中主要使用結構復合索引文件,它的擴展名是。CDX。第六十四頁,共86頁。(2005.10,單選15)可以為一個表創(chuàng)建的索引數(shù)是()A.1個B.10個C.與字段數(shù)相同D.任意個第六十五頁,共86頁。2.索引關鍵字的類型索引關鍵字:是由一個或若干個字段構成的索引表達式.索引表達式的類型決定了不同的索引方式.VFP系統(tǒng)提供了四種不同的類型,它們分別是主索引、候選索引、普通索引和惟一索引。(1)主索引。主索引是能夠惟一地確定數(shù)據(jù)表中一條記錄的字段或字段組合表達式;要求該字段或字段組合表達式的值,在數(shù)據(jù)表的全部記錄中都不能出現(xiàn)重復。主索引只能在數(shù)據(jù)庫表中使用,而且一個數(shù)據(jù)表只能指定一個主索引。表的主索引就相當于關系的主碼。第六十六頁,共86頁。(2)候選索引。候選索引像主索引一樣,是能夠惟一地確定數(shù)據(jù)表中一條記錄的字段或字段組合表達式。但是,一個數(shù)據(jù)表允許建立多個候選索引,可以在數(shù)據(jù)庫表或自由表中創(chuàng)建候選索引。如果將一個包含了重復數(shù)據(jù)的字段指定為候選索引,系統(tǒng)會返回一個出錯信息,并禁止創(chuàng)建該索引。表的候選索引相當于關系的候選碼。(3)普通索引。普通索引允許數(shù)據(jù)表中各記錄的索引字段或字段組合表達式的值相同,而且既允許在數(shù)據(jù)庫表中創(chuàng)建,也允許在自由表中創(chuàng)建。(4)唯一索引。唯一索引是VFP為保持與低版本軟件的兼容性而保留的一種索引類型,一般情況下很少使用。它允許數(shù)據(jù)表中各記錄的索引字段,或字段組合表達式的值相同,但是在索引表中只保留數(shù)據(jù)表中與索引字體值相同的第一條記錄。第六十七頁,共86頁。3、創(chuàng)建索引文件可以使用命令建立索引文件,但是利用表設計器創(chuàng)建索引文件更加直觀、方便。結構復合索引文件可以在創(chuàng)建數(shù)據(jù)表時建立,也可以對已經(jīng)建立好的數(shù)據(jù)表創(chuàng)建或修改索引。4、索引的操作(1)打開與關閉。要使用索引,必須先要打開索引。結構復合索引總是隨著數(shù)據(jù)表打開,一旦數(shù)據(jù)表文件關閉,相應的索引文件也就自動關閉了。(2)確定主索引。結構復合索引打開后,其中的索引標識(Tag)并不起作用,數(shù)據(jù)表記錄順序仍然保持著原始自然排列。必須執(zhí)行確定主索引的操作后,數(shù)據(jù)表記錄的排列才會跟著變化。在程序中常常使用命令方式確定當前主索引。(3)刪除索引標識。要刪除結構復合索引文件中的索引標識,應當打開數(shù)據(jù)表文件,并打開其表設計器對話框。在“索引”頁卡中選定要刪除的索引標識后,單擊“刪除”按鈕刪除。第六十八頁,共86頁。6.3.4創(chuàng)建數(shù)據(jù)表之間的關聯(lián)對于數(shù)據(jù)庫中各相關數(shù)據(jù)表之間的聯(lián)系必須通過建立關聯(lián)來實現(xiàn)。第六十九頁,共86頁。6.3.5創(chuàng)建視圖在數(shù)據(jù)庫的概念結構設計中,用戶的局部概念模式是全局概念模式的子集,叫做用戶模式、外模式,它是從用戶的觀點看到的數(shù)據(jù)庫,所以也叫做用戶視圖。在VFP中,視圖是數(shù)據(jù)庫的一個部分,分為本地視圖和遠程視圖兩類。本地視圖是利用本地數(shù)據(jù)庫表、自由表及其他視圖建立在本地服務器上視圖。遠程視圖是利用遠程服務器中的數(shù)據(jù)建立的視圖。視圖也以文件的形式保存在存儲器中。文件擴展名為.VUE。視圖是一種特殊類型的數(shù)據(jù)表,它往往由一個或多個表(或視圖)中的部分字段或部分記錄組成。雖然從用戶的角度看,視圖也像數(shù)據(jù)表一樣有自己的名字,相應的字段、記錄,具備了一般數(shù)據(jù)表的特征,可是在實際存儲器中并沒有這要的數(shù)據(jù)實體;在數(shù)據(jù)庫中僅存放了與關聯(lián)數(shù)據(jù)表相應的連接的操作要求。所以該視圖可稱為“虛表”或邏輯表。第七十頁,共86頁。一般建立視圖的目的有三個:①數(shù)據(jù)庫系統(tǒng)是供多用戶使用的,不同的用戶只能查看與自己相關的一部分數(shù)據(jù),以保障數(shù)據(jù)的安全和完整。視圖可以為每個用戶建立自己的數(shù)據(jù)集合。②為了保證數(shù)據(jù)表具有較高的范式,往往將一個數(shù)據(jù)集合分解成多個相關的數(shù)據(jù)表。而在使用多個表的數(shù)據(jù)時,將各表中有用的數(shù)據(jù)集中到一個視圖是最方便的辦法。③簡化對數(shù)據(jù)庫的操作管理。只要事先將各表中相關數(shù)據(jù)項集中放在一個視圖中,通過視圖就可以同時更新各表中的數(shù)據(jù)。創(chuàng)建視圖(1)創(chuàng)建單表視圖(2)創(chuàng)建多表視圖第七十一頁,共86頁。例:2010年真題在VisualFoxPro中,利用數(shù)據(jù)庫“固定資產”中的數(shù)據(jù)表“設備”[如題42(1)表]和數(shù)據(jù)表“使用”[如題42(2)表]創(chuàng)建視圖“折舊”[如題42(3)表],該視圖包括“設備名稱”、“設備編號”、“價格”、“現(xiàn)值”四個字段。第七十二頁,共86頁。第七十三頁,共86頁。(1)請分析用兩個數(shù)據(jù)表(比如“設備”和“使用”)建立視圖的先決條件;(2分)(2)要創(chuàng)建如題42(3)表所示的視圖“折舊”,應以哪個字段建立兩表的關聯(lián),并分析原因;(4分)(3)歸納利用視圖設計器建立多表視圖的步驟。(4分)第七十四頁,共86頁。6.4代碼設計代碼是計算機和人都容易理解的符號(或語言),能夠實現(xiàn)人和計算機的溝通。代碼的重要性表現(xiàn)在以下幾個方面。(2005.10,簡答46)試述代碼的重要性。(1)可以惟一地標識一個分類對象(實體)。(2)加快輸入,減少出錯,便于存儲和檢索,節(jié)省存儲空間。(3)使數(shù)據(jù)的表達規(guī)范化,簡化處理程序,提高處理效率。(4)代碼也叫信息編碼,是作為事物(實體)惟一標識、一組有序字符組合。它必須便于計算機和人識別、處理。第七十五頁,共86頁。6.4.1代碼設計方法1、代碼設計的原則(2007.10,簡答38簡述代碼設計的原則)(1)惟一性:是區(qū)別系統(tǒng)中每個實體或屬性的惟一標識。(2)簡單性:盡量壓縮代碼長度,可降低出錯機會。(3)易識別性:為便于記憶、減少出錯,代碼應當邏輯性強,表意明確。(4)可擴充性:不需要變動原代碼體系,可直接追加新代碼,以適應系統(tǒng)發(fā)展。(5)合理性:必須在邏輯上滿足應用需要,在結構上與處理方法相一致。(6)規(guī)范性:盡可能采用現(xiàn)有的國際、部標編碼,結構統(tǒng)一。第七十六頁,共86頁。(2006.10,

溫馨提示

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

評論

0/150

提交評論