2015年全國計算機等級考試二級基礎知識總結
1.1算法
算法:是解題方案的準確而完整的描述。通俗地說,算法就是計算機解題的過程。算法不等于程序,也不等于計算方法,程序的編制不可能優于算法的設計。
(1)確定性,算法中每一步驟都必須有明確定義,不允許有模棱兩可的解釋,不允許有多義性;
(2)有窮性,算法必須能在有限的時間內做完,即能在執行有限個步驟后終止;
(3)可行性,算法原則上能夠精確地執行;
(4)擁有足夠的情報。
算法效率的度量—算法復雜度:算法時間復雜度和算法空間復雜度。★★★
算法時間復雜度:指執行算法所需要的計算工作量。即算法執行過程中所需要的基本運算次數。
算法空間復雜度:指執行這個算法所需要的內存空間。
1.2 數據結構的基本概念
數據結構:指相互有關聯的數據元素的集合。
數據結構研究的三個方面:
(1)數據集合中各數據元素之間所固有的邏輯關系,即數據的邏輯結構;
(2)在對數據進行處理時,各數據元素在計算機中的存儲關系,即數據的存儲結構;
(3)對各種數據結構進行的運算。
線性結構的條件,(一個非空數據結構):
(1)有且只有一個根結點; (2)每一個結點*多有一個前件,也*多有一個后件。
非線性結構:不滿足線性結構條件的數據結構。
1.3 線性表及其順序存儲結構
線性表的順序存儲結構具有以下兩個基本特點:
(1)線性表中所有元素所占的存儲空間是連續的;
(2)線性表中各數據元素在存儲空間中是按邏輯順序依次存放的。
順序表的運算:查找、插入、刪除。
1.4線性鏈表
數據結構中的每一個結點對應于一個存儲單元,這種存儲單元稱為存儲結點,簡稱結點。
結點由兩部分組成:
(1) 用于存儲數據元素值,稱為數據域;
(2) 用于存放指針,稱為指針域,用于指向前一個或后一個結點。
在鏈式存儲結構中,存儲數據結構的存儲空間可以不連續,各數據結點的存儲順序與數據元素之間的邏輯關系可以不一致,而數據元素之間的邏輯關系是由指針域來確定的。
鏈式存儲方式即可用于表示線性結構,也可用于表示非線性結構。
線性鏈表的基本運算:查找、插入、刪除。
1.5棧和隊列★★★★
棧:限定在一端進行插入與刪除的線性表。
其允許插入與刪除的一端稱為棧頂,用指針top表示棧頂位置。
不允許插入與刪除的另一端稱為棧底,用指針bottom表示棧底。
棧按照“先進后出”(FILO)或“后進先出”(LIFO)組織數據,棧具有記憶作用。
棧的存儲方式有順序存儲和鏈式存儲。
棧的基本運算:
(1) 入棧運算,在棧頂位置插入元素;
(2) 退棧運算,刪除元素(取出棧頂元素并賦給一個指定的變量);
(3) 讀棧頂元素,將棧頂元素賦給一個指定的變量,此時指針無變化。
隊列:指允許在一端(隊尾)進入插入,而在另一端(隊頭)進行刪除的線性表。
用rear指針指向隊尾,用front指針指向隊頭元素的前一個位置。
隊列是“先進先出”(FIFO)或“后進后出”(LILO)的線性表。
隊列運算:
(1) 入隊運算:從隊尾插入一個元素;
(2) 退隊運算:從隊頭刪除一個元素;
計算循環隊列的元素個數:
“尾指針減頭指針”,若為負數,再加其容量即可。
即:
當 尾指針-頭指針>0 時,尾指針-頭指針
當 尾指針-頭指針<0 時,尾指針-頭指針+容量
計算棧的個數:
棧底 –棧頂 +1
1.6 樹與二叉樹 ★★★★★
1、樹的基本概念
樹是一種簡單的非線性結構,其所有元素之間具有明顯的層次特性。
在樹結構中,每一個結點只有一個前件,稱為父結點。
沒有前件的結點只有一個,稱為樹的根結點,簡稱樹的根。
每一個結點可以有多個后件,稱為該結點的子結點。沒有后件的結點稱為葉子結點。
在樹結構中,一個結點所擁有的后件的個數稱為該結點的度。
所有結點中*大的度稱為樹的度。
樹的*大層次稱為樹的深度。
2、二叉樹及其基本性質
滿足下列兩個特點的樹,即為二叉樹
(1) 非空二叉樹只有一個根結點;
(2) 每一個結點*多有兩棵子樹,且分別稱為該結點的左子樹與右子樹。
二叉樹基本性質:★★★★
性質1 在二叉樹的第k層上,*多有2^(k-1) (k>=1) 個結點。
性質2 深度為m的二叉樹*多有2^m-1 個結點。
性質3 在任意一棵二叉樹中,度數為0的結點(即葉子結點)總比度為2的結點多一個。
性質4 具有n個結點的二叉樹,其深度至少為[log2~n]+1 ,其中 [log2~n]表示取log2~n 的整數部分
3、滿二叉樹與完全二叉樹
滿二叉樹:除最后一層外,每一層上的所有結點都有兩個子結點。
完全二叉樹:除最后一層外,每一層上的結點數均達到*大值;在最后一層上只缺少右邊的若干結點。
4、二叉樹的遍歷 ★★★★
二叉樹的遍歷是指不重復地訪問二叉樹中的所有結點。二叉樹的遍歷可以分為以下三種:
(1)前序遍歷(DLR):若二叉樹為空,則結束返回。否則:首先訪問根結點,然后遍歷左子樹,最后遍歷右子樹;并且,在遍歷左右子樹時,仍然先訪問根結點,然后遍歷左子樹,最后遍歷右子樹。
(2)中序遍歷(LDR):若二叉樹為空,則結束返回。否則:首先遍歷左子樹,然后訪問根結點,最后遍歷右子樹;并且,在遍歷左、右子樹時,仍然先遍歷左子樹,然后訪問根結點,最后遍歷右子樹。
(3)后序遍歷(LRD):若二叉樹為空,則結束返回。否則:首先遍歷左子樹,然后遍歷右子樹,最后訪問根結點,并且,在遍歷左、右子樹時,仍然先遍歷左子樹,然后遍歷右子樹,最后訪問根結點.
該二叉樹前序遍歷為:F C A D B E G H P
該二叉樹中序遍歷為:A C B D F E H G P
該二叉樹后序遍歷為:A B D C H P G E F
1.7 查找技術
查找:根據給定的某個值,在查找表中確定一個其關鍵字等于給定值的數據元素。
查找結果:(查找成功:找到;查找不成功:沒找到。)
平均查找長度:查找過程中關鍵字和給定值比較的平均次數。
查找分為: 順序查找 二分法查找對于長度為n的有序線性表,*壞情況只需比較log2~n次,而順序查找需要比較n次。
1.8 排序技術
排序是指將一個無序序列整理成按值非遞減順序排列的有序序列。
1、交換類排序法(冒泡排序,快速排序)
2、插入類排序法(簡單插入排序,希爾排序)
3、選擇類排序法(簡單選擇排序,堆排序)
冒泡排序法,快速排序法,簡單插入排序法,簡單選擇排序法,*壞需要比較的次數為n(n-1)/2
希爾排序,*壞需要比較的次數為O(n^1.5)
堆排序,*壞需要比較的次數為O(nlog2~n)
2.1 程序設計設計方法和風格
"清晰第*、效率第二"已成為當今主導的程序設計風格。
形成良好的程序設計風格需注意:
1、源程序文檔化;
2、數據說明的方法;
3、語句的結構;
4、輸入和輸出。
注釋分序言性注釋和功能性注釋。 語句結構清晰第*、效率第二。
2.2 結構化程序設計
結構化程序設計方法的四條原則是:
1、自頂向下;
2、逐步求精;
3、模塊化;
4、限制使用goto語句。
結構化程序的基本結構及特點:
(1)順序結構:一種簡單的程序設計,*基本、*常用的結構;
(2)選擇結構:又稱分支結構,包括簡單選擇和多分支選擇結構,可根據條件,判斷應該選擇哪一條分支來執行相應的語句序列;
(3)循環結構:又稱重復結構,可根據給定條件,判斷是否需要重復執行某一相同或類似的程序段。
結構化程序設計的特點:只有一個入口和出口
2.3 面向對象的程序設計
面向對象方法的優點:
(1)與人類習慣的思維方法一致;
(2)穩定性好;
(3)可重用性好;
(4)易于開發大型軟件產品;
(5)可維護性好。
對象是面向對象方法中*基本的概念,可以用來表示客觀世界中的任何實體,對象是實體的抽象。
面向對象的程序設計方法中,對象是由數據的容許的操作組成的封裝體,是系統中用來描述客觀事物的一個實體,是構成系統的一個基本單位,由一組表示其靜態特征的屬性和它可執行的一組操作組成。
操作描述了對象執行的功能,是對象的動態屬性,操作也稱為方法或服務。
對象的基本特點:
(1)標識惟一性;
(2)分類性;
(3)多態性;
(4)封裝性;
(5)模塊獨立性好。
類是指具有共同屬性、共同方法的對象的集合。類是關于對象性質的描述。類是對象的抽象,對象是其對應類的一個實例。
消息是一個實例與另一個實例之間傳遞的信息。對象間的通信靠消息傳遞。它請求對象執行某一處理或回答某一要求的信息,它統一了數據流和控制流。
繼承是使用已有的類定義作為基礎建立新類的定義技術,廣義指能夠直接獲得已有的性質和特征,而不必重復定義他們。
繼承具有傳遞性,一個類實際上繼承了他上層的全部基類的特性。
繼承分單繼承和多重繼承。
多態性是指同樣的消息被不同的對象接受時可導致完全不同的行動的現象。
3.1 軟件工程基本概念
1、軟件的相關概念
計算機軟件是包括程序、數據及相關文檔的完整集合。
軟件的特點包括:1)軟件是一種邏輯實體,而不是物理實體,具有抽象性;2)軟件的生產與硬件不同,它沒有明顯的制作過程;3)軟件在運行、使用期間不存在磨損、老化問題;4)軟件的開發、運行對計算機系統具有依賴性,受計算機系統的限制,這導致了軟件移植的問題;5)軟件復雜性高,成本昂貴;6)軟件開發涉及諸多的社會因素。
2、軟件危機與軟件工程
軟件工程源自軟件危機。所謂軟件危機是泛指在計算機軟件的開發和維護過程中所遇到的一系列嚴重問題。
軟件工程的主要思想是將工程化原則運用到軟件開發過程,它包括3個要素:方法、工具和過程。方法是完成軟件工程項目的技術手段;工具是支持軟件的開發、管理、文檔生成;過程支持軟件開發的各個環節的控制、管理。
軟件工程過程是把輸入轉化為輸出的一組彼此相關的資源和活動。
3、軟件生命周期
軟件生命周期:軟件產品從提出、實現、使用維護到停止使用退役的過程。
軟件生命周期分為軟件定義、軟件開發及軟件運行維護三個階段:
1)軟件定義階段:包括制定計劃和需求分析。
制定計劃:確定總目標;可行性研究;探討解決方案;制定開發計劃。
需求分析:對待開發軟件提出的需求進行分析并給出詳細的定義。
2)軟件開發階段:
軟件設計:分為概要設計和詳細設計兩個部分。
軟件實現:把軟件設計轉換成計算機可以接受的程序代碼。
軟件測試:在設計測試用例的基礎上檢驗軟件的各個組成部分。
3)軟件運行維護階段:軟件投入運行,并在使用中不斷地維護,進行必要的擴充和刪改。4、軟件工程的目標和與原則
(1)軟件工程目標:在給定成本、進度的前提下,開發出具有有效性、可靠性、可理解性、
可維護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產品。
(2)軟件工程需要達到的基本目標應是:付出較低的開發成本;達到要求的軟件功能;取得較好的軟件性能;開發的軟件易于移植;需要較低的維護費用;能按時完成開發,及時交付使用。
(3)軟件工程原則:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。
1)抽象:
2)信息隱蔽:
3)模塊化:
4)局部化:
5)確定性:
6)一致性:
7)完備性:
8)可驗證性:
3.2 結構化分析方法
1、需求分析
需求分析方法有:1)結構化需求分析方法;2)面向對象的分析方法。
2、結構化分析方法
結構化分析方法是結構化程序設計理論在軟件需求分析階段的應用。
結構化分析方法的實質:著眼于數據流,自頂向下,逐層分解,建立系統的處理流程,以數據流圖和數據字典為主要工具,建立系統的邏輯模型。
結構化分析的常用工具:1)數據流圖(DFD);2)數據字典(DD);3)判定樹;4)判定表。
數據流圖的基本圖形元素:
加工(轉換):輸入數據經加工變換產生輸出。
數據流:沿箭頭方向傳送數據的通道,一般在旁邊標注數據流名。
存儲文件(數據源):表示處理過程中存放各種數據的文件。
源,潭:表示系統和環境的接口,屬系統之外的實體。
3.3 結構化設計方法
1、軟件設計的基礎
從技術觀點來看,軟件設計包括軟件結構設計、數據設計、接口設計、過程設計。
從工程角度來看,軟件設計分兩步完成,即概要設計和詳細設計。
概要設計:又稱結構設計,將軟件需求轉化為軟件體系結構,確定系統級接口、全局數據結構或數據庫模式。
詳細設計:確定每個模塊的實現算法和局部數據結構,用適當方法表示算法和數據結構的細節。
軟件設計的基本原理包括:抽象、模塊化、信息隱蔽和模塊獨立性。
1)抽象。抽象是一種思維工具,就是把事物本質的共同特性提取出來而不考慮其他細節。
2)模塊化。解決一個復雜問題時自頂向下逐步把軟件系統劃分成一個個較小的、相對獨立但又不相互關聯的模塊的過程。
3)信息隱蔽。每個模塊的實施細節對于其他模塊來說是隱蔽的。
4)模塊獨立性。軟件系統中每個模塊只涉及軟件要求的具體的子功能,而和軟件系統中其他的模塊的接口是簡單的。
*:模塊分解的主要指導思想是信息隱蔽和模塊獨立性。
模塊的耦合性和內聚性是衡量軟件的模塊獨立性的兩個定性指標。
內聚性:是一個模塊內部各個元素間彼此結合的緊密程度的度量。
*:按內聚性由弱到強排列,內聚可以分為以下幾種:偶然內聚、邏輯內聚、時間內聚、過程內聚、通信內聚、順序內聚及功能內聚。
耦合性:是模塊間互相連接的緊密程度的度量。
*:按耦合性由高到低排列,耦合可以分為以下幾種:內容耦合、公共耦合、外部耦合、控制耦合、標記耦合、數據耦合以及非直接耦合。
一個設計良好的軟件系統應具有高內聚、低耦合的特征。
在結構化程序設計中,模塊劃分的原則是:模塊內具有高內聚度,模塊間具有低耦合度。
2、總體設計(概要設計)和詳細設計
(1)總體設計(概要設計)
軟件概要設計的基本任務是:1)設計軟件系統結構;2)數據結構及數據庫設計;3)編寫概要設計文檔;4)概要設計文檔評審。
常用的軟件結構設計工具是結構圖,也稱程序結構圖。程序結構圖的基本圖符:
模塊用一個矩形表示,箭頭表示模塊間的調用關系。在結構圖中還可以用帶注釋的箭頭表示模塊調用過程中來回傳遞的信息。還可用帶實心圓的箭頭表示傳遞的是控制信息,空心圓箭心表示傳遞的是數據信息。
(2)詳細設計
詳細設計是為軟件結構圖中的每一個模塊確定實現算法和局部數據結構,用某種選定的表達工具表示算法和數據結構的細節。
常用的過程設計(即詳細設計)工具有以下幾種:
圖形工具:程序流程圖、N-S(方盒圖)、PAD(問題分析圖)和HIPO(層次圖+輸入/處理/輸出圖)。
表格工具:判定表。
語言工具:PDL(偽碼)
3.4 軟件測試
1、軟件測試定義:使用人工或自動手段來運行或測定某個系統的過程,其目的在于檢驗它是否滿足規定的需求或是弄清預期結果與實際結果之間的差別。
軟件測試的目的:盡可能地多發現程序中的錯誤,不能也不可能證明程序沒有錯誤。軟件測試的關鍵是設計測試用例,一個好的測試用例能找到迄今為止尚未發現的錯誤。
2、軟件測試方法:靜態測試和動態測試。
靜態測試:包括代碼檢查、靜態結構分析、代碼質量度量。不實際運行軟件,主要通過人工進行。
動態測試:是基于計算機的測試,主要包括白盒測試方法和黑盒測試方法。
(1)白盒測試
白盒測試方法也稱為結構測試或邏輯驅動測試。它是根據軟件產品的內部工作過程,檢查內部成分,以確認每種內部操作符合設計規格要求。
白盒測試的基本原則:保證所測模塊中每一獨立路徑至少執行一次;保證所測模塊所有判斷的每一分支至少執行一次;保證所測模塊每一循環都在邊界條件和一般條件下至少各執行一次;驗證所有內部數據結構的有效性。
*:白盒測試法的測試用例是根據程序的內部邏輯來設計的,主要用軟件的單元測試,主要方法有邏輯覆蓋、基本路徑測試等。
A、邏輯覆蓋。邏輯覆蓋泛指一系列以程序內部的邏輯結構為基礎的測試用例設計技術。通常程序中的邏輯表示有判斷、分支、條件等幾種表示方法。
語句覆蓋:選擇足夠的測試用例,使得程序中每一個語句至少都能被執行一次。
路徑覆蓋:執行足夠的測試用例,使程序中所有的可能的路徑都至少經歷一次。
判定覆蓋:使設計的測試用例保證程序中每個判斷的每個取值分支(T或F)至少經歷一次。
條件覆蓋:設計的測試用例保證程序中每個判斷的每個條件的可能取值至少執行一次。
判斷-條件覆蓋:設計足夠的測試用例,使判斷中每個條件的所有可能取值至少執行一次,同時每個判斷的所有可能取值分支至少執行一次。
*:邏輯覆蓋的強度依次是:語句覆蓋<路徑覆蓋<判定覆蓋<條件覆蓋<判斷-條件覆蓋。
B、基本路徑測試。其思想和步驟是,根據軟件過程性描述中的控制流程確定程序的環路復雜性度量,用此度量定義基本路徑集合,并由此導出一組測試用例,對每一條獨立執行路徑進行測試。
(2)黑盒測試
黑盒測試方法也稱為功能測試或數據驅動測試。黑盒測試是對軟件已經實現的功能是否滿足需求進行測試和驗證。
黑盒測試主要診斷功能不對或遺漏、接口錯誤、數據結構或外部數據庫訪問錯誤、性能錯誤、初始化和終止條件錯誤。
黑盒測試不關心程序內部的邏輯,只是根據程序的功能說明來設計測試用例,主要方法有等價類劃分法、邊界值分析法、錯誤推測法等,主要用軟件的確認測試。
3、軟件測試過程一般按4個步驟進行:單元測試、集成測試、確認測試和系統測試。
3.5 程序的調試
程序調試的任務是診斷和改正程序中的錯誤,主要在開發階段進行,調試程序應該由編制源程序的程序員來完成。
程序調試的基本步驟:(1)錯誤定位;(2)糾正錯誤;(3)回歸測試。
軟件的調試后要進行回歸測試,防止引進新的錯誤。
軟件調試可分為靜態調試和動態調試。靜態調試主要是指通過人的思維來分析源程序代碼和排錯,是主要的調試手段,而動態調試是輔助靜態調試。
對軟件主要的調試方法可以采用:
(1)強行排錯法。
(2)回溯法。
(3)原因排除法。
4.1 數據庫系統的基本概念
1、數據、數據庫、數據管理系統
(1)數據
(2)數據庫(DB)
(3)數據庫管理系統(DBMS):一種系統軟件,負責數據庫中的數據組織、數據操縱、數據維護、控制及保護和數據服務等,是數據庫的核心。
數據庫管理系統功能:
1)數據模式定義
2)數據存取的物理構建
3)數據操縱
4)數據的完整性、安生性定義與檢查
5)數據庫的并發控制與故障恢復
6)數據的服務
數據庫技術的根本目標是解決數據的共享問題。
2、數據庫系統的發展
數據庫管理發展至今已經歷了三個階段:人工管理階段、文件系統階段和數據庫系統階段。
3、數據庫系統的基本特點
(1)數據的高集成性。
(2)數據的高共享性與低冗余性。
(3)數據獨立性:
數據獨立性一般分為物理獨立性與邏輯獨立性兩級。
物理獨立性:物理獨立性即是數據的物理結構(包括存儲結構,存取方式等)的改變,如存儲設備的更換、物理存儲的更換、存取方式改變等都不影響數據庫的邏輯結構,從而不致引起應用程序的變化。
邏輯獨立性:數據庫總體邏輯結構的改變,如修改數據模式、增加新的數據類型、改變數據間聯系等,不需要相應修改應用程序,這就是數據的邏輯獨立性。
(4)數據統一管理與控制。
4、數據庫系統的內部結構體系
(1)數據庫系統的三級模式:
1)概念模式:數據庫系統中全局數據邏輯結構的描述,是全體用戶(應用)公共數據視圖。
2)外模式:也稱子模式或用戶模式,它是用戶的數據視圖,也就是用戶所見到的數據模式,它由概念模式推導而出。
3)內模式:又稱物理模式,它給出了數據庫物理存儲結構與物理存取方法。內模式的物理性主要體現在操作系統及文件級上,它還未深入到設備級上(如磁盤及磁盤操作)。內模式對一般用戶是透明的,但它的設計直接影響數據庫的性能。
(2)數據庫系統的兩級映射:
1)概念模式/內模式的映射:實現了概念模式到內模式之間的相互轉換。當數據庫的存儲結構發生變化時,通過修改相應的概念模式/內模式的映射,使得數據庫的邏輯模式不變,其外模式不變,應用程序不用修改,從而保證數據具有很高的物理獨立性。
2)外模式/概念模式的映射:實現了外模式到概念模式之間的相互轉換。當邏輯模式發生變化時,通過修改相應的外模式/邏輯模式映射,使得用戶所使用的那部分外模式不變,從而應用程序不必修改,保證數據具有較高的邏輯獨立性。
4.2 數據模型
1、數據模型
2、實體聯系模型及E-R圖
E-R模型的圖示法:
1)實體集:用矩形表示。
2)屬性:用橢圓形表示。
3)聯系:用菱形表示。
4)實體集與屬性間的聯接關系:用無向線段表示。
5)實體集與聯系間的聯接關系:用無向線段表示。
3、數據庫管理系統常見的數據模型有層次模型、網狀模型和關系模型三種。
4.3 關系代數
1、關系的數據結構
關系是由若干個不同的元組所組成,因此關系可視為元組的集合。n元關系是一個n元有序組的集合。
關系模型的基本運算:1)插入;2)刪除;3)修改;4)查詢(包括投影、選擇、笛卡爾積運算)。
2、關系操縱
關系模型的數據操縱即是建立在關系上的數據操縱,一般有查詢、增加、刪除和修改四種操作。
3、集合運算及選擇、投影、連接運算
(1)并(∪):關系R和S具有相同的關系模式,R和S的并是由屬于R或屬于S的元組構成的集合。
(2)差(-):關系R和S具有相同的關系模式,R和S的差是由屬于R但不屬于S的元組構成的集合。
(3)交(∩):關系R和S具有相同的關系模式,R和S的交是由屬于R且屬于S的元組構成的集合。
(4)廣義笛卡爾積(×):設關系R和S的屬性個數分別為n、m,則R和S的廣義笛卡爾
積是一個有(n+m)列的元組的集合。每個元組的前n列來自R的一個元組,后m列來自S的一個元組,記為R×S。
*:根據笛卡爾積的定義:有n元關系R及m元關系S,它們分別有p、q個元組,則關系R與S經笛卡爾積記為R×S,該關系是一個n+m元關系,元組個數是p×q,由R與S的有序組組合而成。
例:有兩個關系R和S,分別進行并、差、交和廣義笛卡爾積運算。
(5)在關系型數據庫管理系統中,基本的關系運算有選擇、投影與聯接三種操作:
1)選擇:選擇指的是從二維關系表的全部記錄中,把那些符合指定條件的記錄挑出來。
2)投影:投影是從所有字段中選取一部分字段及其值進行操作,它是一種縱向操作。
3)聯接:聯接將兩個關系模式拼接成一個更寬的關系模式,生成的新關系中包含滿足聯接條件的元組。
4.4 數據庫設計方法和步驟
(1)數據庫設計階段包括:需求分析、概念分析、邏輯設計、物理設計。
(2)數據庫設計的每個階段都有各自的任務:
1)需求分析階段:這是數據庫設計的第*個階段,任務主要是收集和分析數據,這一階段收集到的基礎數據和數據流圖是下一步設計概念結構的基礎。
2)概念設計階段:分析數據間內在語義關聯,在此基礎上建立一個數據的抽象模型,即形成E-R圖。
3)邏輯設計階段:將E-R圖轉換成指定RDBMS中的關系模式。
4)物理設計階段:對數據庫內部物理結構作調整并選擇合理的存取路徑,以提高數據庫訪問速度及有效利用存儲空間。