二級練習(xí)提綱.doc_第1頁
二級練習(xí)提綱.doc_第2頁
二級練習(xí)提綱.doc_第3頁
二級練習(xí)提綱.doc_第4頁
二級練習(xí)提綱.doc_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

二級公共基礎(chǔ)知識考點分析 第1章 數(shù)據(jù)結(jié)構(gòu)與算法1.1 算法和數(shù)據(jù)結(jié)構(gòu)的基本概念 1.算法 (1)算法的基本概念 算法是指解題方案的準(zhǔn)確而完整的描述。 A.算法的基本特征:可行性;確定性;有窮性;擁有足夠的情報。 B.算法的基本要素:算法中對數(shù)據(jù)的運算和操作:基本的運算和操作包括算術(shù)運算、邏輯運算、關(guān)系運算和數(shù)據(jù)傳輸;算法的控制結(jié)構(gòu):基本的控制結(jié)構(gòu)包括順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。 C.算法設(shè)計的基本方法:列舉法;歸納法;遞推;遞歸;減半遞推技術(shù);回溯法。 (2)算法的復(fù)雜度 算法的復(fù)雜度主要包括時間復(fù)雜度和空間復(fù)雜度。 A.算法的時間復(fù)雜度:是指執(zhí)行算法所需要的計算工作量。算法的工作量用算法所執(zhí)行的基本運算次數(shù)來度量,而算法所執(zhí)行的基本運算次數(shù)是問題規(guī)模的函數(shù)。即:算法的工作量=f(n)其中n是問題的規(guī)模。 B.算法的空間復(fù)雜度:一般是指執(zhí)行這個算法所需要的內(nèi)存空間。一個算法所占用的存儲空間包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占用的存儲空間以及算法執(zhí)行過程中所需要的額外空間。 2.數(shù)據(jù)結(jié)構(gòu)的基本概念 數(shù)據(jù)結(jié)構(gòu)作為計算機的一門學(xué)科,主要研究和討論以下三個方面的問題: 數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu); 在對數(shù)據(jù)進行處理時,各數(shù)據(jù)元素在計算機中的存儲關(guān)系,即數(shù)據(jù)的存儲結(jié)構(gòu); 對各種數(shù)據(jù)結(jié)構(gòu)進行的運算。 (1)數(shù)據(jù)結(jié)構(gòu)的定義 數(shù)據(jù)結(jié)構(gòu)是指相互有關(guān)聯(lián)的數(shù)據(jù)元素的集合。 數(shù)據(jù)處理是指對數(shù)據(jù)集合中的各元素以各種方式進行運算,包括插入、刪除、查找、更改等運算,也包括對數(shù)據(jù)元素進行分析。 數(shù)據(jù)的邏輯結(jié)構(gòu)是指反映數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。 數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。常用的存儲結(jié)構(gòu)有順序、鏈接、索引等存儲結(jié)構(gòu)。 (2)數(shù)據(jù)結(jié)構(gòu)的圖形表示 在數(shù)據(jù)結(jié)構(gòu)的圖形表示中,對于數(shù)據(jù)集合D中的每一個數(shù)據(jù)元素用中間標(biāo)有元素值的方框表示,一般稱之為數(shù)據(jù)結(jié)點,簡稱結(jié)點;為了進一步表示各數(shù)據(jù)元素之間的前后件關(guān)系,對于關(guān)系R中的每一個二元組,用一條有向線段從前件結(jié)點指向后件結(jié)點。 (3)線性結(jié)構(gòu)與非線性結(jié)構(gòu) 如果一個非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個條件: 有且只有一個根結(jié)點; 每一個結(jié)點最多有一個前件,也最多有一個后件。 則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu)。如果一個數(shù)據(jù)結(jié)構(gòu)不是線性結(jié)構(gòu),則稱為非線性結(jié)構(gòu)。 1.2 線性表和線性鏈表 1.線性表 (1)線性表的基本概念 線性表(Linear List)是最簡單、最常用的一種數(shù)據(jù)結(jié)構(gòu)。 線性表是由n(n0)個數(shù)據(jù)元素組成的一個有限序列,表中的每一個數(shù)據(jù)元素,除了第一個外,有且只有一個前件,除了最后一個外,有且只有一個后件。 (2)線性表的順序存儲結(jié)構(gòu) 線性表的順序存儲結(jié)構(gòu)具有以下兩個基本特點: 線性表中所有元素所占的存儲空間是連續(xù)的; 線性表中各數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的。 (3)順序表的插入運算 在線性表采用順序存儲結(jié)構(gòu)時,如果插入運算在線性表的末尾進行,即在第n個元素之后(可以認(rèn)為是在第n+1個元素之前)插入新元素,則只要在表的末尾增加一個元素即可,不需要移動表中的元素;如果要在線性表的第1個元素之前插入一個新元素,則需要移動表中所有的元素。 (4)順序表的刪除運算 在線性表采用順序存儲結(jié)構(gòu)時,如果刪除運算在線性表的末尾進行,即刪除第n個元素,則不需要移動表中的元素;如果要刪除線性表中的第1個元素,則需要移動表中所有的元素。 2.線性鏈表 (1)線性鏈表的基本概念 在線性鏈表中,各數(shù)據(jù)元素之間的前后件關(guān)系是由各結(jié)點的指針域來指示的,指向線性表中第一個結(jié)點的指針HEAD稱為頭指針,當(dāng)HEAD=NULL(或0)時稱為空表。 (2)線性鏈表的基本運算 線性鏈表的運算主要有:線性鏈表的插入、刪除、查找、合并、分解、逆轉(zhuǎn)、復(fù)制、排序等。 在線性鏈表中查找指定元素 在非空線性鏈表中尋找包含指定元素值x的前一個結(jié)點p的基本方法如下:從頭指針指向的結(jié)點開始往后沿指針進行掃描,直到后面已沒有結(jié)點或下一個結(jié)點的數(shù)據(jù)域為x為止。當(dāng)線性鏈表中不存在包含元素x的結(jié)點時,則找到的p為線性鏈表中的最后一個結(jié)點號。 線性鏈表的插入 為了在線性鏈表中插入一個新元素,首先要給該元素分配一個新結(jié)點,它可以從可利用棧中取得。然后將存放新元素值的結(jié)點鏈接到線性鏈表中指定的位置。 線性鏈表的刪除 為了在線性鏈表中刪除包含指定元素的結(jié)點,首先要在線性鏈表中找到這個結(jié)點,然后將要刪除結(jié)點放回到可利用棧。 (3)循環(huán)鏈表及其基本運算 在循環(huán)鏈表中增加了一個表頭結(jié)點,其數(shù)據(jù)域為任意或者根據(jù)需要來設(shè)置,指針域指向線性表的第一個元素的結(jié)點。循環(huán)鏈表的頭指針指向表頭結(jié)點。 循環(huán)鏈表中最后一個結(jié)點的指針域不是空,而是指向表頭結(jié)點。 1.3 棧和隊列 1.棧及其基本運算 棧是一種特殊的線性表,在這種線性表的結(jié)構(gòu)中,一端是封閉的,不允許進行插入與刪除元素;另一端是開口的,允許插入與刪除元素。在順序存儲結(jié)構(gòu)下,對這種類型線性表的插入與刪除運算是不需要移動表中其他數(shù)據(jù)元素的。 在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧是按照“先進后出”(FILOFirst In Last Out)或“后進先出”(LIFOLast In First Out)的原則組織數(shù)據(jù)的。棧的基本運算有三種:入棧、退棧與讀棧頂元素。 2.隊列及其基本運算 (1)隊列(queue)是指允許在一端進行插入、而在另一端進行刪除的線性表。隊列又稱為“先進先出”(FIFOFirst In First Out)或“后進后出”(LILOLast In Last Out)的線性表。 (2)循環(huán)隊列及其運算 在實際應(yīng)用中,隊列的順序存儲結(jié)構(gòu)一般采用循環(huán)隊列的形式。所謂循環(huán)隊列,就是將隊列存儲空間的最后一個位置繞到第一個位置,形成邏輯上的環(huán)狀空間,供隊列循環(huán)使用。循環(huán)隊列主要有兩種基本運算:入隊運算與退隊運算。 1.4 樹與二叉樹 1.樹的基本概念 樹(tree)是一種簡單的非線性結(jié)構(gòu)。在樹這種數(shù)據(jù)結(jié)構(gòu)中,所有數(shù)據(jù)元素之間的關(guān)系具有明顯的層次特性。 2.二叉樹的定義及其存儲結(jié)構(gòu) (1)二叉樹的定義 二叉樹具有以下兩個特點: 非空二叉樹只有一個根結(jié)點; 每一個結(jié)點最多有兩棵子樹,且分別稱為該結(jié)點的左子樹與右子樹。 (2)二叉樹的存儲結(jié)構(gòu) 在計算機中,二叉樹通常采用鏈?zhǔn)酱鎯Y(jié)構(gòu)。在二叉樹中,由于每一個元素可以有兩個后件(即兩個子結(jié)點),因此,用于存儲二叉樹的存儲結(jié)點的指針域有兩個:一個用于指向該結(jié)點的左子結(jié)點的存儲地址,稱為左指針域;另一個用于指向該結(jié)點的右子結(jié)點的存儲地址,稱為右指針域。 3.二叉樹的遍歷 二叉樹的遍歷是指不重復(fù)地訪問二叉樹中的所有結(jié)點。二叉樹的遍歷可以分為: 前序遍歷(DLR) 首先訪問根結(jié)點,然后遍歷左子樹,最后遍歷右子樹;并且,在遍歷左、右子樹時,仍然先訪問根結(jié)點,然后遍歷左子樹,最后遍歷右子樹。 中序遍歷(LDR) 首先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹;并且,在遍歷左、右子樹時,仍然先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹。 后序遍歷(LRD) 首先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點,并且,在遍歷左、右子樹時,仍然先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點。 1.5 查找技術(shù)和排序技術(shù) 1.查找技術(shù) 查找是數(shù)據(jù)處理領(lǐng)域中的一個重要內(nèi)容,查找的效率將直接影響到數(shù)據(jù)處理的效率。 (1)順序查找 在進行順序查找過程中,如果線性表中的第一個元素就是被查找元素,則只需做一次比較就查找成功,查找效率最高;但如果被查的元素是線性表中的最后一個元素,或者被查元素根本不在線性表中,則為了查找這個元素需要與線性表中所有的元素進行比較,這是順序查找的最壞情況。在平均情況下,利用順序查找法在線性表中查找一個元素,大約要與線性表中一半的元素進行比較。 (2)二分法查找 二分法查找只適用于順序存儲的有序表。在此所說的有序表是指線性表中的元素按值非遞減排列。對于長度為n的有序線性表,在最壞情況下,二分查找只需要比較次,而順序查找需要比較n次。 2.排序技術(shù) (1)交換類排序法 交換類排序法是指借助數(shù)據(jù)元素之間的互相交換進行排序的一種方法。冒泡排序法與快速排序法都屬于交換類的排序方法。假設(shè)線性表的長度為n,則在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2。在快速排序過程中,隨著對各子表不斷地進行分割,劃分出的子表會越來越多,但一次又只能對一個子表進行再分割處理,需要將暫時不分割的子表記憶起來,這就要用一個棧來實現(xiàn)。 (2)插入類排序法 插入排序是指將無序序列中的各元素依次插入到已經(jīng)有序的線性表中。在簡單插入排序法中,每一次比較后最多移掉一個逆序,因此,這種排序方法的效率與冒泡排序法相同。在最壞情況下,簡單插入排序需要n(n-1)/2次比較。 (3)選擇類排序法 選擇排序法的基本思想是掃描整個線性表,從中選出最小的元素,將它交換到表的最前面(這是它應(yīng)有的位置);然后對剩下的子表采用同樣的方法,直到子表空為止。簡單選擇排序法在最壞情況下需要比較n(n-1)/2次。第2章 程序設(shè)計基礎(chǔ)2.1 程序設(shè)計方法與風(fēng)格 程序設(shè)計是一門技術(shù),需要相應(yīng)的.理論、技術(shù)、方法和工具來支持。就程序設(shè)計方法和技術(shù)的發(fā)展而言,主要經(jīng)過了結(jié)構(gòu)化程序設(shè)計和面向?qū)ο蟮某绦蛟O(shè)計階段。程序設(shè)計風(fēng)格是指編寫程序時所表現(xiàn)出的特點、習(xí)慣和邏輯思路。著名的“清晰第一,效率第二”的論點已成為當(dāng)今主導(dǎo)的程序設(shè)計風(fēng)格。要形成良好的程序設(shè)計風(fēng)格,應(yīng)注重和考慮這些因素:源程序文檔化;數(shù)據(jù)說明的方法;語句的結(jié)構(gòu);輸入和輸出。 2.2 結(jié)構(gòu)化程序設(shè)計 1.結(jié)構(gòu)化程序設(shè)計的原則 結(jié)構(gòu)化程序設(shè)計方法的主要原則可以概括為自頂向下,逐步求精,模塊化,限制使用goto語句。 2.結(jié)構(gòu)化程序設(shè)計的基本結(jié)構(gòu)與方法的應(yīng)用 結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu)分別是:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。 在結(jié)構(gòu)化程序設(shè)計的具體實施中,要注意把握如下要素:使用程序設(shè)計語言中的順序、選擇、循環(huán)等有限的控制結(jié)構(gòu)表示 程序的控制邏輯;選用的控制結(jié)構(gòu)只準(zhǔn)許有一個入口和一個出口;程序語句組成容易識別的塊,每塊只有一個入口和一個出口;復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進行組合嵌套來實現(xiàn);語言中所沒有的控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來模擬;嚴(yán)格控制goto語句的使用。 2.3 面向?qū)ο蟮某绦蛟O(shè)計 1.關(guān)于面向?qū)ο蠓椒?面向?qū)ο蠓椒ǖ膬?yōu)點:與人類習(xí)慣的思維方法一致;穩(wěn)定性好;可重用性好;易于開發(fā)大型軟件產(chǎn)品;可維護性好。 2.面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蟮某绦蛟O(shè)計方法中涉及的對象是系統(tǒng)中用來描述客觀事物的一個實體,是構(gòu)成系統(tǒng)的一個基本單位,它由一組表示其靜態(tài)特征的屬性和它可執(zhí)行的一組操作組成。通常把對象的操作稱為方法或服務(wù)。屬性即對象所包含的信息,它在設(shè)計對象時確定,一般只能通過執(zhí)行對象的操作來改變。對象的基本特征有:a.標(biāo)識惟一性;b.分類性;c.多態(tài)性;d.封裝性;e.模塊獨立性好。繼承是使用已有的類定義作為基礎(chǔ)建立新類的定義技術(shù)。廣義地說,繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義它們。 繼承分為單繼承與多重繼承。多態(tài)性是指子類對象可以像父類對象那樣使用,同樣的消息既可以發(fā)送給父類對象也可以發(fā)送給子類對象。第3章 軟件工程基礎(chǔ)3.1 軟件工程基本概念 1.軟件定義與軟件危機 (1)軟件的定義:軟件是與計算機操作相關(guān)的計算機程序、規(guī)程、規(guī)則,以及可能有的文件、文檔及數(shù)據(jù)。軟件的三個要素:程序、數(shù)據(jù)和文檔。 (2)軟件分類:軟件按功能可分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)三大類。 (3)軟件危機的定義:軟件危機是泛指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴(yán)重問題。 2.軟件工程定義與軟件生命周期 (1)軟件工程 定義:軟件工程是應(yīng)用于計算機軟件的定義、開發(fā)和維護的一整套方法、工具、文檔、實踐標(biāo)準(zhǔn)和工序。軟件工程的三個要素:方法、工具和過程。 (2)軟件生命周期 定義:軟件生命周期就是軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的全過程。 軟件生命周期包括軟件定義、軟件開發(fā)及軟件維護三個階段。軟件定義階段的任務(wù)包括可行性研究與計劃制定、需求分析;軟件開發(fā)階段的任務(wù)包括概要設(shè)計、詳細(xì)設(shè)計、軟件實現(xiàn)、軟件測試;軟件維護的任務(wù)包括軟件的運行、維護和退役。 3.軟件開發(fā)工具與軟件開發(fā)環(huán)境 (1)軟件開發(fā)工具:軟件開發(fā)工具的發(fā)展是從單項工具的開發(fā)逐步向集成工具發(fā)展的,軟件開發(fā)工具為軟件工程方法提供了自動的或半自動的軟件支撐環(huán)境。 (2)軟件開發(fā)環(huán)境:軟件開發(fā)環(huán)境或稱軟件工程環(huán)境是全面支持軟件開發(fā)全過程的軟件工具集合。這些軟件工具按照一定的方法或模式組合起來,支持軟件生命周期內(nèi)的各個階段和各項任務(wù)的完成。 3.2 結(jié)構(gòu)化分析和設(shè)計方法 1.結(jié)構(gòu)化分析方法 (1)關(guān)于結(jié)構(gòu)化分析方法 結(jié)構(gòu)化分析方法是結(jié)構(gòu)化程序設(shè)計理論在軟件需求分析階段的運用。結(jié)構(gòu)化分析的常用工具有數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定樹和判定表。其中最重要的工具是數(shù)據(jù)流圖。 (2)結(jié)構(gòu)化分析的常用工具 數(shù)據(jù)流圖是描述數(shù)據(jù)處理過程的工具,是通過對需求的理解構(gòu)造出邏輯模型的圖形表示,它直接支持系統(tǒng)的功能建模。 數(shù)據(jù)字典是結(jié)構(gòu)化分析方法的核心。數(shù)據(jù)字典是對所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個有組織的列表,以及精確的、嚴(yán)格的定義,使得用戶和系統(tǒng)分析員對于輸入、輸出、存儲成分和中間計算結(jié)果有共同的理解。 (3)軟件需求規(guī)格說明書 軟件需求規(guī)格說明書(SRS)是需求分析階段的最后結(jié)果,是軟件開發(fā)中的重要文檔之一。 軟件需求規(guī)格說明書有以下幾個作用:1)便于用戶、開發(fā)人員進行理解和交流;2)反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù);3)作為確認(rèn)測試和驗收的依據(jù)。 軟件需求規(guī)格說明書的內(nèi)容:包括概述、數(shù)據(jù)描述、功能描述、性能描述、參考文獻目錄和附錄。 軟件需求規(guī)格說明書的特點:軟件需求規(guī)格說明書具有正確性、無歧義性、完整性、可驗證性、一致性、可理解性、可修改性和可追蹤性等特點。 2.結(jié)構(gòu)化設(shè)計方法 (1)軟件設(shè)計的基本概念 軟件設(shè)計的基礎(chǔ) 軟件設(shè)計是軟件工程的重要階段,是一個把軟件需求轉(zhuǎn)換為軟件表示的過程。軟件設(shè)計的基礎(chǔ)目標(biāo)是用比較抽象概括的方式確定目標(biāo)系統(tǒng)如何完成預(yù)定的任務(wù),即軟件設(shè)計是確定系統(tǒng)的物理模型。 軟件設(shè)計的內(nèi)容:從技術(shù)觀點看,軟件設(shè)計包括結(jié)構(gòu)設(shè)計、數(shù)據(jù)設(shè)計、接口設(shè)計和過程設(shè)計。其中結(jié)構(gòu)設(shè)計是定義軟件系統(tǒng)各主要部件之間的關(guān)系。數(shù)據(jù)設(shè)計是將分析時創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義。接口設(shè)計是描述軟件內(nèi)部、軟件和協(xié)作系統(tǒng)之間以及軟件與人之間如何通信。過程設(shè)計是把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程性描述。 軟件設(shè)計的一般過程是:軟件設(shè)計是一個迭代的過程;先進行高層次的結(jié)構(gòu)設(shè)計;后進行低層次的過程設(shè)計;穿插進行數(shù)據(jù)設(shè)計和接口設(shè)計。 軟件設(shè)計的基本原理 軟件設(shè)計遵循軟件工程的基本目標(biāo)和原則。 結(jié)構(gòu)化設(shè)計方法的基本思想:將軟件設(shè)計成由相對獨立、單一功能的模塊組成的結(jié)構(gòu)。為了提高模塊的獨立性,應(yīng)該盡量提高模塊的內(nèi)聚性,降低模塊間的耦合性。 (2)概要設(shè)計 概要設(shè)計的任務(wù) 概要設(shè)計的基本任務(wù):設(shè)計軟件系統(tǒng)結(jié)構(gòu)、確定數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計、編寫概要設(shè)計文檔、進行概要設(shè)計文檔評審。軟件結(jié)構(gòu)設(shè)計 工具結(jié)構(gòu)圖(SC),也稱為程序結(jié)構(gòu)圖。結(jié)構(gòu)圖是描述軟件結(jié)構(gòu)的圖形工具。 軟件設(shè)計的準(zhǔn)則:a.提高模塊獨立性;b.模塊規(guī)模適中;c.深度、寬度、扇出和扇入適當(dāng);d.使模塊的作用域在該模塊的控制域內(nèi);e.應(yīng)減少模塊的接口和界面的復(fù)雜性;f.設(shè)計成單入口、單出口的模塊;g.設(shè)計功能可預(yù)測的模塊。 詳細(xì)設(shè)計 詳細(xì)設(shè)計的任務(wù):為軟件結(jié)構(gòu)圖中的每一個模塊確定實現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。 過程設(shè)計的任務(wù):對每個模塊規(guī)定的功能以及算法的設(shè)計,給出適當(dāng)?shù)乃惴枋觥?常見的過程設(shè)計工具有: 圖形工具:程序流程圖,NS,PAD,HIPO。 表格工具:判定表。 語言工具:PDL(偽碼)。 3.3 軟件測試及程序的調(diào)試 1.軟件測試 軟件測試是保證軟件質(zhì)量的重要手段,其主要過程涵蓋了整個軟件生命期的過程,包括需求定義階段的需求測試、編碼階段的單元測試、集成測試以及后期的確認(rèn)測試、系統(tǒng)測試、驗證軟件是否合格、能否交付用戶使用等。 (1)軟件測試的目的 軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程: 一個好的測試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯誤的用例; 一個成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試。 (2)軟件測試的準(zhǔn)則 軟件測試過程中應(yīng)遵循以下準(zhǔn)則:所有測試都應(yīng)追溯到需求;嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性;充分注意測試中的群集現(xiàn)象;程序員應(yīng)避免檢查自己的程序;窮舉測試不可能;妥善保存測試計劃、測試用例、出錯統(tǒng)計和最終分析報告。 (3)軟件測試技術(shù)與方法綜述 軟件測試從是否要執(zhí)行被測試軟件的角度可以分為靜態(tài)測試和動態(tài)測試。 軟件測試按照功能劃分可分為白盒測試和黑盒測試方法。 白盒測試:白盒測試又稱結(jié)構(gòu)測試或邏輯驅(qū)動測試,是根據(jù)軟件產(chǎn)品的內(nèi)部工作過程,檢查內(nèi)部成分,以確認(rèn)每種內(nèi)部操作符合設(shè)計規(guī)范要求。 白盒測試的基本原則:1)保證所測模塊中每一獨立路徑至少執(zhí)行一次;2)保證所測模塊所有判斷的每一分支至少執(zhí)行一次;3)保證所測模塊每一循環(huán)都在邊界條件和一般條件下至少各執(zhí)行一次;4)驗證所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。 白盒測試的主要方法:1)邏輯覆蓋測試方法:邏輯覆蓋是泛指一系列以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的測試用例設(shè)計技術(shù)。邏輯覆蓋測試方法有語句覆蓋、路徑覆蓋、判定覆蓋、條件覆蓋以及判斷-條件覆蓋。2)基本路徑測試:基本路徑測試的思想和步驟是,根據(jù)軟件過程性描述中的控制流程確定程序的環(huán)路復(fù)雜性度量,用此度量定義基本路徑集合,并由此導(dǎo)出一組測試用例對每一條獨立執(zhí)行路徑進行測試。 黑盒測試:黑盒測試也稱功能測試或數(shù)據(jù)驅(qū)動測試,是對軟件已經(jīng)實現(xiàn)的功能是否滿足需求進行測試和驗證。 黑盒測試的方法:1)等價類劃分法:將程序的所有可能的輸入數(shù)據(jù)劃分成若干部分(即若干等價類),然后從每個等價類中選取數(shù)據(jù)作為測試用例。2)邊界值分析法:邊界分析法是對各種輸入、輸出范圍的邊界情況設(shè)計測試用例的方法。3)錯誤推測法:靠經(jīng)驗和直覺推測程序中可能存在的各種錯誤,從而有針對性地編寫檢查這些錯誤的例子的方法。 (4)軟件測試的實施 軟件測試過程一般按4個步驟進行,即單元測試、集成測試、驗收測試(確認(rèn)測試)和系統(tǒng)測試。 單元測試:單元測試是對軟件設(shè)計的最小單位模塊進行正確性檢驗的測試。主要目的是發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種錯誤。 集成測試:集成測試是把模塊在按照設(shè)計要求組裝起來的同時進行測試,主要目的是發(fā)現(xiàn)與接口有關(guān)的錯誤。 確認(rèn)測試:確認(rèn)測試的任務(wù)是驗證軟件的功能和性能及其他特性是否滿足了需求規(guī)格說明中確定的各種需求,以及軟件配置是否完全、正確。 系統(tǒng)測試:系統(tǒng)測試是將通過測試確認(rèn)的軟件,作為整個基于計算機系統(tǒng)的一個元素,與計算機硬件、外設(shè)、支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素組合在一起,在實際運行環(huán)境下對計算機系統(tǒng)進行一系列的集成測試和確認(rèn)測試。 2.程序的調(diào)試 程序調(diào)試的任務(wù)是診斷和改正程序中的錯誤,它與軟件測試不同,軟件測試是盡可能多地發(fā)現(xiàn)軟件中的錯誤。軟件測試貫穿整個軟件生命期,調(diào)試主要在開發(fā)階段。 (1)基本概念 程序調(diào)試的基本步驟:第1步:錯誤定位;第2步:修改設(shè)計和代碼,以排除錯誤;第3步:進行回歸測試,防止引進新的錯誤。 程序調(diào)試的原則 確定錯誤的性質(zhì)和位置時應(yīng)該注意的事項有:分析思考與錯誤征兆相關(guān)的信息;避開死胡同;只把調(diào)試工具當(dāng)作輔助手段來用;避免用試探法,最多只能把它當(dāng)作最后手段。 修改錯誤時應(yīng)遵循如下原則:在出現(xiàn)錯誤的地方,還可能有別的錯誤;不應(yīng)只修改了錯誤的征兆或表現(xiàn)而沒有修改錯誤本身;注意修正一個錯誤的同時有可能會引入新的錯誤;修改錯誤的過程將迫使人們暫時回到程序設(shè)計階段;修改源代碼程序,不要改變目標(biāo)代碼。 (2)軟件調(diào)試方法 主要的軟件調(diào)試方法有強行排錯法、回溯法和原因排除法。其中強行排錯法是傳統(tǒng)的調(diào)試方法,回溯法適合于小規(guī)模程序的排錯,原因排除法是通過演繹和歸納,以及二分法來實現(xiàn)的。 第4章 數(shù)據(jù)庫設(shè)計基礎(chǔ)4.1 數(shù)據(jù)庫系統(tǒng)的基本概念 1.數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)管理系統(tǒng) (1)數(shù)據(jù)(Data):數(shù)據(jù)實際上就是描述事物的符號記錄。數(shù)據(jù)分為臨時性數(shù)據(jù)和永久性數(shù)據(jù)。 (2)數(shù)據(jù)庫(DB):數(shù)據(jù)庫是數(shù)據(jù)的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,并可以被各個應(yīng)用程序所共享。 (3)數(shù)據(jù)庫管理系統(tǒng)(DBMS):數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫的機構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護、控制及保護和數(shù)據(jù)服務(wù)等。數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心。 (4)數(shù)據(jù)庫管理員(DBA):對數(shù)據(jù)庫進行規(guī)劃、維護、監(jiān)視等的專業(yè)人員。主要工作:數(shù)據(jù)庫設(shè)計、數(shù)據(jù)庫維護和改善系統(tǒng)性能,提高系統(tǒng)效率。 (5)數(shù)據(jù)庫系統(tǒng)(DBS):由數(shù)據(jù)庫(數(shù)據(jù))、數(shù)據(jù)庫管理系統(tǒng)(軟件)、數(shù)據(jù)庫管理員(人員)、系統(tǒng)平臺之一(硬件平臺)和系統(tǒng)平臺之二(軟件平臺)組成。 (6)數(shù)據(jù)庫應(yīng)用系統(tǒng)(DBAS):數(shù)據(jù)庫應(yīng)用系統(tǒng)是數(shù)據(jù)庫系統(tǒng)再加上應(yīng)用軟件及應(yīng)用界面這三者所組成。 2.數(shù)據(jù)庫系統(tǒng)的發(fā)展 數(shù)據(jù)管理發(fā)展至今經(jīng)歷了三個階段:人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。 3.數(shù)據(jù)庫系統(tǒng)的基本特點 (1)數(shù)據(jù)的集成性。(2)數(shù)據(jù)的高共享性與低冗余性。(3)數(shù)據(jù)獨立性。(4)數(shù)據(jù)統(tǒng)一管理與控制。 4.數(shù)據(jù)庫系統(tǒng)的內(nèi)部結(jié)構(gòu)體系 數(shù)據(jù)庫系統(tǒng)在其內(nèi)部具有三級模式及二級映射,三級模式分別是概念級模式、內(nèi)部級模式與外部級模式,二級映射則分別是概念級到內(nèi)部級的映射以及外部級到概念級的映射。這種三級模式與二級映射構(gòu)成了數(shù)據(jù)庫系統(tǒng)內(nèi)部的抽象結(jié)構(gòu)體系。 (1)數(shù)據(jù)庫系統(tǒng)的三級模式:數(shù)據(jù)庫系統(tǒng)提供概念模式、外模式和內(nèi)模式三級數(shù)據(jù)模式。 (2)數(shù)據(jù)庫的兩級映射:數(shù)據(jù)庫的兩級映射是指概念模式到內(nèi)模式的映射和外模式到概念模式的映射。 4.2 數(shù)據(jù)模型、關(guān)系代數(shù)及數(shù)據(jù)庫設(shè)計與管理 1.數(shù)據(jù)模型 (1)數(shù)據(jù)模型的基本概念 數(shù)據(jù)模型是數(shù)據(jù)特征的抽象,它從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束條件,為數(shù)據(jù)庫系統(tǒng)的信息表示與操作提供了一個抽象的框架。數(shù)據(jù)模型所描述的內(nèi)容有三個部分:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)約束。數(shù)據(jù)模型按不同的應(yīng)用層次分為:概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型三種。 (2)E-R模型 E-R模型的3個基本概念 實體:現(xiàn)實世界中的事物可以抽象為實體,實體是概念世界中的基本單位,它們是客觀存在的且又能夠相互區(qū)分的事物。將具有共性的實體組織成一個集合,稱之為實體集。 屬性:現(xiàn)實世界中的事物均有一些特性,這些特性可以用屬性來表示。 聯(lián)系:現(xiàn)實世界中事物間的關(guān)聯(lián)稱為聯(lián)系。 E-R模型由實體、聯(lián)系、屬性三者組成。 實體與實體之間的聯(lián)系:一對一(11)、一對多(1m)和多對多(mn)三種。 E-R模型三個基本概念之間的聯(lián)接關(guān)系 實體集(聯(lián)系)與屬性間的聯(lián)接關(guān)系:實體以及它的所有屬性構(gòu)成了實體的一個完整描述。實體和隸屬于它的屬性之間可以建立這么一層聯(lián)接關(guān)系。實體有型和值之別,一個實體的所有屬性構(gòu)成了這個實體的型,實體中屬性值的集合(即元組)則構(gòu)成了這個實體的值。相同型的實體構(gòu)成實體集。 實體(集)與聯(lián)系間的聯(lián)接關(guān)系:實體集間可以通過聯(lián)系建立聯(lián)接關(guān)系。 E-R模型的圖示法 E-R模型中用矩形表示實體集,用橢圓表示屬性,用菱形表示聯(lián)系,用無向線段表示實體集(聯(lián)系)與屬性、實體集與聯(lián)系間的聯(lián)接關(guān)系。 (3)基本的數(shù)據(jù)模型 數(shù)據(jù)發(fā)展過程中產(chǎn)生過三種基本的數(shù)據(jù)模型:層次模型、網(wǎng)狀模型和關(guān)系模型。其中層次模型的基本結(jié)構(gòu)是樹形結(jié)構(gòu)。網(wǎng)狀模型的基本結(jié)構(gòu)是一個不加任何限制條件的無向圖。關(guān)系模型的基本結(jié)構(gòu)是一張二維表。 (4)關(guān)系模型 關(guān)系的數(shù)據(jù)結(jié)構(gòu) 關(guān)系模型采用二維表來表示。二維表由表框架和表的元組組成。表框架由多個命名的表屬性組成。每個屬性有一個取值范圍稱為值域。二維表中的每一行數(shù)據(jù)稱為元組。 鍵(或碼):在二維表中能唯一標(biāo)識元組的最小屬性集。 候選鍵(或候選碼):一個二維表中所有的鍵(或碼)。 主鍵(或主碼):從二維表的所有候選鍵中選取一個作為用戶使用的鍵。主鍵簡稱鍵。 外鍵(或外碼):表A的某屬性集是表B的鍵,則稱該屬性集為A的外鍵。 關(guān)系操縱 關(guān)系模型的數(shù)據(jù)操縱是建立在關(guān)系上的數(shù)據(jù)操縱,一般有數(shù)據(jù)查詢(基本單位是元組分量)、數(shù)據(jù)刪除(基本單位是元組)、數(shù)據(jù)插入(基本單位是元組)和數(shù)據(jù)修改(基本單位是元組分量)四種操作。 關(guān)系中的數(shù)據(jù)約束 關(guān)系模型中提供實體完整性約束、參照完整性約束和用戶完整性約束三種數(shù)據(jù)約束。 2.關(guān)系代數(shù) (1)關(guān)系模型的基本操作 關(guān)系是由若干個不同的元組所組成,因此關(guān)系可視為元組的集合。N元關(guān)系是一個n元有序組的集合。關(guān)系模型有插入、刪除、修改和查詢4種操作。 (2)關(guān)系模型的基本運算 由于操作是對關(guān)系的運算,而關(guān)系是有序組的集合,因此可以將操作看成是集合的運算。 插入:設(shè)需在關(guān)系R中插入若干個元組,待插入的元組組成關(guān)系R,則插入操作可用集合“并”運算表示為:RR。 刪除:設(shè)需在關(guān)系R中刪除若干個元組,待刪除的元組組成關(guān)系R,則刪除操作可用集合“差”運算表示為:R-R。 修改:修改關(guān)系R內(nèi)的元組內(nèi)容可用下面的方法實現(xiàn):a.設(shè)待修改的元組構(gòu)成關(guān)系R,則先做刪除操作,得R-R;b.設(shè)修改后的元組構(gòu)成關(guān)系R,此時將其插入即得到結(jié)果(R-R)R 查詢:用于查詢的3個操作無法用傳統(tǒng)的集合運算表示,需引入一些新的運算。 A.投影(Projection)運算:對于關(guān)系內(nèi)的域指定可引入新的運算叫投影運算。投影運算是一個一元運算,一個關(guān)系通過投影運算后仍為一個關(guān)系R。 B.選擇(Selection)運算:選擇運算也是一個一元運算,關(guān)系R通過選擇運算(并由該運算給出所選擇的邏輯條件)后仍為一個關(guān)系。這個關(guān)系是由R中那些滿足邏輯條件的元組所組成。設(shè)關(guān)系的邏輯條件為F,則R滿足F的選擇運算可寫為:F(R)。 邏輯條件F是一個邏輯表達(dá)式,它由下面的規(guī)則組成: 它可以具有的形式,其中,是域(變量)或常量,但,又不能同為常量,是比較符,它可以是,及。叫基本邏輯條件。由若干個基本邏輯條件經(jīng)邏輯運算得到,邏輯運算為(并且)、(或者)及(否)構(gòu)成,稱為復(fù)合邏輯條件。 C.笛卡爾積(Cartesian Product)運算:對于兩個關(guān)系的合并操作可以用笛卡爾積表示。設(shè)有n元關(guān)系R及m元關(guān)系S,它們分別有p、q個元組,則關(guān)系R與S經(jīng)笛卡爾積記為RS,該關(guān)系是一個n+m元關(guān)系,元組個數(shù)是pq,由R與S的有序組組合而成。 (3)關(guān)系代數(shù)中的擴充運算 交運算:關(guān)系R和S經(jīng)交運算后所得到的關(guān)系是由那些既在R內(nèi)、又在S內(nèi)的有序組所組成,記為:RS。 除運算:如果將笛卡爾積運算看作是乘運算,那么除運算就是它的逆運算。當(dāng)關(guān)系T=RS時,則可將除運算寫為:TR=S或T/R=S其中,S稱為T除以R的商。 連接運算:連接運算又可稱為-連接運算,這是一種二元運算,通過它可以將兩個關(guān)系合并成一個關(guān)系。 3.數(shù)據(jù)庫設(shè)計與管理 (1)數(shù)據(jù)庫設(shè)計概述 數(shù)據(jù)庫設(shè)計的基本任務(wù)是根據(jù)用戶對象的信息需求、處理需求和數(shù)據(jù)庫的支持環(huán)境設(shè)計出數(shù)據(jù)模式。在數(shù)據(jù)庫設(shè)計中有兩種方法:一種是以信息需求為主,兼顧處理需求的面向數(shù)據(jù)的方法;另一種是以處理需求為主,兼顧信息需求的面向過程的方法。數(shù)據(jù)庫設(shè)計目前一般采用生命周期法,將數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)分解為需求分析階段、概念設(shè)計階段、邏輯設(shè)計階段、物理設(shè)計階段、編碼階段、測試階段、運行階段和進一步修改階段來完成。在數(shù)據(jù)庫設(shè)計中主要采用需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計四個階段。 (2)數(shù)據(jù)庫設(shè)計的需求分析 需求分析階段的任務(wù)是通過詳細(xì)調(diào)查現(xiàn)實世界要處理的對象,充分了解原系統(tǒng)的工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。需求分析調(diào)查的是用戶對數(shù)據(jù)庫的如下要求:信息要求:指用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì);處理要求:指用戶要完成什么處理功能,對處理的響應(yīng)時間有何要求,處理的方式是批處理還是聯(lián)機處理;安全性和完整性的要求。 在實際開展需求分析階段工作時,有兩點需要特別注意: 第一在需求分析階段,一個重要而困難的任務(wù)就是收集將來應(yīng)用所涉及的數(shù)據(jù)。 第二必須強調(diào)用戶的參與,這是數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計的特點。 (3)數(shù)據(jù)庫概念設(shè)計 數(shù)據(jù)庫概念設(shè)計概述 數(shù)據(jù)庫概念設(shè)計的方法有以下兩種:a.集中式模式設(shè)計法:集中式模式設(shè)計法是一種統(tǒng)一的模式設(shè)計方法,它根據(jù)需求由一個統(tǒng)一機構(gòu)或人員設(shè)計一個綜合的全局模式;b.視圖集成設(shè)計法:這種方法是將一個單位分解成若干個部分,先對每個部分作局部模式設(shè)計,建立各個部分的視圖,然后以各個視圖為基礎(chǔ)進行集成。 數(shù)據(jù)庫概念設(shè)計的過程 數(shù)據(jù)庫概念設(shè)計的過程分為以下三個步驟: 第1步:選擇局部應(yīng)用; 第2步:視圖設(shè)計:一般有三種設(shè)計順序:自頂向下(從一般到具體)、自底向上(從具體到一般)、由內(nèi)向外(從最基本和最明顯的對象擴充到非一般、不明顯的其他對象); 第3步:視圖集成:將所有的局部視圖統(tǒng)一與合并成一個完整的數(shù)據(jù)模式。 (4)數(shù)據(jù)庫的邏輯設(shè)計 從E-R圖向關(guān)系模式轉(zhuǎn)換數(shù)據(jù)庫邏輯設(shè)計的主要工作是將E-R圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式。實體集也可以轉(zhuǎn)換關(guān)系。 由E-R圖轉(zhuǎn)換成關(guān)系模型時會遇到以下一些問題:a.命名與屬性域的處理;b.非原子屬性的處理;c.聯(lián)系的轉(zhuǎn)換。 邏輯模式規(guī)范化及調(diào)整、實現(xiàn) a.規(guī)范化:在邏輯設(shè)計中還需對關(guān)系做規(guī)范化驗證; b.RDBMS:對邏輯模式進行調(diào)整以滿足RDBMS的性能、存儲空間等要求,同時對模式做滿足RDBMS限制條件的修改,它們包括如下內(nèi)容:調(diào)整性能以減少連接運算;調(diào)整關(guān)系大小,使每個關(guān)系數(shù)量保持在合理水平,從而提高存取效率;盡量采用快照,若在應(yīng)用中僅需某固定時刻的值,此時可用快照將某時刻值固定,并定期更新,此種方法可以顯著提高查詢速度。 關(guān)系視圖設(shè)計 關(guān)系視圖能提供數(shù)據(jù)邏輯獨立性,適應(yīng)用戶對數(shù)據(jù)的不同需求并且具有一定的數(shù)據(jù)保密功能。 (5)數(shù)據(jù)庫的物理設(shè)計 數(shù)據(jù)庫物理設(shè)計的主要目標(biāo)是對數(shù)據(jù)庫內(nèi)部物理結(jié)構(gòu)作調(diào)整并選擇合理的存取路徑,以提高數(shù)據(jù)庫訪問速度及有效利用存儲空間。 (6)數(shù)據(jù)庫管理 數(shù)據(jù)庫的建立。包括兩部分的內(nèi)容:數(shù)據(jù)模式的建立和數(shù)據(jù)加載。 數(shù)據(jù)庫的調(diào)整。在數(shù)據(jù)庫建立并經(jīng)一段時間運行后往往會產(chǎn)生一些不適應(yīng)的情況,此時需要對其作出調(diào)整。 數(shù)據(jù)庫的重組。數(shù)據(jù)庫在經(jīng)過一定的時間運行后,其性能會逐步下降,下降的原因主要是由于不斷的修改、刪除和插入所造成的,這時需要對數(shù)據(jù)庫進行重新整理,重新調(diào)整存儲空間,這種工作叫數(shù)據(jù)庫的重組。 數(shù)據(jù)庫安全性控制與完整性控制。數(shù)據(jù)庫安全性控制和完整性控制的目的是保證數(shù)據(jù)庫數(shù)據(jù)的正確性、一致性,不被沒有授權(quán)的用戶訪問和修改。 數(shù)據(jù)庫的故障恢復(fù)。一旦數(shù)據(jù)庫中的數(shù)據(jù)遭到破壞,需要及時進行恢復(fù)。 數(shù)據(jù)庫監(jiān)控。DBA需隨時觀察數(shù)據(jù)庫的動態(tài)變化,并在發(fā)生錯誤、故障或產(chǎn)生不適應(yīng)情況時隨時采取措施;同時還需要監(jiān)視數(shù)據(jù)庫的性能變化,在必要時對數(shù)據(jù)庫進行調(diào)整。 二級Access數(shù)據(jù)庫程序設(shè)計考點分析 第1章 數(shù)據(jù)庫設(shè)計基礎(chǔ)1.1 數(shù)據(jù)庫基礎(chǔ)知識 1.數(shù)據(jù)與數(shù)據(jù)處理 (1)數(shù)據(jù) 數(shù)據(jù)是指存儲在某種介質(zhì)上能夠識別的物理符號。 (2)數(shù)據(jù)處理 數(shù)據(jù)處理是指將數(shù)據(jù)轉(zhuǎn)換成信息的過程。 2.計算機數(shù)據(jù)管理 數(shù)據(jù)處理的中心問題是數(shù)據(jù)管理。 3.數(shù)據(jù)庫的概念和特點 (1)數(shù)據(jù)庫 數(shù)據(jù)庫是存儲在計算機存儲設(shè)備中的、結(jié)構(gòu)化的相關(guān)數(shù)據(jù)的集合。它不僅包括描述事物的數(shù)據(jù)本身,而且包括相關(guān)事物之間的關(guān)系。 (2)數(shù)據(jù)庫應(yīng)用系統(tǒng) 數(shù)據(jù)庫應(yīng)用系統(tǒng)是指系統(tǒng)開發(fā)人員利用數(shù)據(jù)庫系統(tǒng)資源開發(fā)的面向某一類實際應(yīng)用的軟件系統(tǒng)。 (3)數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)庫管理系統(tǒng)是指位于用戶與操作系統(tǒng)之間的數(shù)據(jù)管理軟件。數(shù)據(jù)庫管理系統(tǒng)是為數(shù)據(jù)庫的建立、使用和維護而配置的軟件。 (4)數(shù)據(jù)庫系統(tǒng) 數(shù)據(jù)庫系統(tǒng)是指引進數(shù)據(jù)庫技術(shù)后的計算機系統(tǒng),能實現(xiàn)有組織地、動態(tài)地存儲大量相關(guān)數(shù)據(jù),提供數(shù)據(jù)處理和信息資源共享的便利手段。 (5)數(shù)據(jù)庫系統(tǒng)的特點 數(shù)據(jù)庫系統(tǒng)的主要特點有:實現(xiàn)數(shù)據(jù)共享,減少數(shù)據(jù)冗余;采用特定的數(shù)據(jù)模型;具有較高的數(shù)據(jù)獨立性;有統(tǒng)一的數(shù)據(jù)控制功能。 4.數(shù)據(jù)庫管理系統(tǒng)(DBMS) (1)數(shù)據(jù)庫管理系統(tǒng)的功能 數(shù)據(jù)定義;數(shù)據(jù)操縱;數(shù)據(jù)庫運行管理;數(shù)據(jù)組織、存儲和管理;數(shù)據(jù)庫的建立和維護;數(shù)據(jù)通信接口。 (2)數(shù)據(jù)庫管理系統(tǒng)的組成 DBMS通常由以下4部分組成:數(shù)據(jù)定義語言及其翻譯處理程序;數(shù)據(jù)操作語言及其編譯(或解釋)程序;數(shù)據(jù)庫運行控制程序;實用程序。 5.數(shù)據(jù)模型 數(shù)據(jù)模型就是從現(xiàn)實世界到機器世界的一個中間層次。 (1)實體 客觀存在并相互區(qū)別的事物稱為實體。 (2)實體間的聯(lián)系和種類 一對一聯(lián)系 一對多聯(lián)系 多對多聯(lián)系 1.2 關(guān)系數(shù)據(jù)庫 1.關(guān)系數(shù)據(jù)模型 這種用二維表的形式表示實體和實體間聯(lián)系的數(shù)據(jù)模型稱為關(guān)系數(shù)據(jù)模型。 (1)關(guān)系術(shù)語 關(guān)系 元組 屬性 域 關(guān)鍵字 外部關(guān)鍵字 (2)關(guān)系的特點 關(guān)系必須規(guī)范化。 在同一個關(guān)系中不能出現(xiàn)相同的屬性名。 關(guān)系中不允許有完全相同的元組,即不應(yīng)出現(xiàn)冗余。 在一個關(guān)系中元組的次序無關(guān)緊要。 在一個關(guān)系中列的次序無關(guān)緊要。 2.關(guān)系運算 關(guān)系數(shù)據(jù)庫進行查詢時,需要找到相關(guān)的數(shù)據(jù),這就需要對關(guān)系進行一定的關(guān)系運算。關(guān)系的基本運算有兩類:一類是傳統(tǒng)的集合運算(并、差、交等),另一類是專門的關(guān)系運算(選擇、投影、聯(lián)接)。1.3 數(shù)據(jù)庫設(shè)計基礎(chǔ) 1.數(shù)據(jù)庫設(shè)計原則 (1)關(guān)系數(shù)據(jù)庫的設(shè)計應(yīng)遵循概念單一化“一事一地”的原則。 (2)避免在表之間出現(xiàn)重復(fù)字段。 (3)表中的字段必須是原始數(shù)據(jù)和基本數(shù)據(jù)元素。 (4)用外部關(guān)鍵字保證有關(guān)聯(lián)的表之間的聯(lián)系。 2.數(shù)據(jù)庫設(shè)計步驟 (1)需求分析 (2)確定需要的表 (3)確定每個表所需的字段 (4)確定表之間的聯(lián)系 (5)設(shè)計求精1.4 Access簡介 1.Access的發(fā)展簡介 Access是一種關(guān)系型的桌面數(shù)據(jù)庫管理系統(tǒng),是Microsoft Office套件產(chǎn)品之一。從20世紀(jì)90年代初期Access 1.0的誕生到目前Access 2003都得到了廣泛使用,1996年被評為全美最流行的黃金軟件。 2.Access數(shù)據(jù)庫的系統(tǒng)結(jié)構(gòu) Access數(shù)據(jù)庫由數(shù)據(jù)庫對象和組兩部分組成,其中對象又分為7種。這些數(shù)據(jù)庫對象包括: 表:數(shù)據(jù)庫中用來存儲數(shù)據(jù)的對象,是整個數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)。 查詢:它是數(shù)據(jù)庫設(shè)計目的的體現(xiàn),建完數(shù)據(jù)庫以后,數(shù)據(jù)只有被使用者查詢才能真正體現(xiàn)它的價值。 窗體:Access數(shù)據(jù)庫對象中最具靈活性的一個對象,其數(shù)據(jù)源可以是表或查詢。 報表:一種數(shù)據(jù)庫應(yīng)用程序進行打印輸出的方式。 數(shù)據(jù)庫訪問頁:一種特殊類型的Web頁,用戶可以在此Web頁中與Access數(shù)據(jù)庫中的數(shù)據(jù)進行聯(lián)接,查看、修改Access數(shù)據(jù)庫中的數(shù)據(jù),為通過網(wǎng)絡(luò)進行數(shù)據(jù)發(fā)布提供了方便。 宏:它實際上是一系列操作的集合,其中每個操作都能實現(xiàn)特定的功能。 模塊:將Visual Basic for Application聲明和過程作為一個單元進行保存的集合,是應(yīng)用程序開發(fā)人員的工作環(huán)境。 第2章 數(shù)據(jù)庫和表2.1 創(chuàng)建數(shù)據(jù)庫和表 1.創(chuàng)建數(shù)據(jù)庫 (1)創(chuàng)建空數(shù)據(jù)庫 創(chuàng)建空數(shù)據(jù)庫有兩個途徑:啟動Access時創(chuàng)建和在Access程序窗口中使用“新建”命令創(chuàng)建。在建立空數(shù)據(jù)庫的基礎(chǔ)上,再按用戶需求向其中添加表、查詢、窗體和報表等對象以擴展數(shù)據(jù)庫。 (2)使用“向?qū)А眲?chuàng)建數(shù)據(jù)庫 “數(shù)據(jù)庫向?qū)А敝刑峁┝艘恍┗镜臄?shù)據(jù)庫模板,利用這些模板可以方便、快速地創(chuàng)建數(shù)據(jù)庫。 2.數(shù)據(jù)庫的簡單操作 (1)打開數(shù)據(jù)庫 打開數(shù)據(jù)庫的方法有兩種:一是通過“開始工作”任務(wù)窗格打開;二是通過“打開”命令打開。 (2)關(guān)閉數(shù)據(jù)庫 當(dāng)完成了數(shù)據(jù)庫的操作后,需要將它關(guān)閉。關(guān)閉數(shù)據(jù)庫的方法有如下幾種:單擊“數(shù)據(jù)庫”窗口右上角的“關(guān)閉”按鈕。 雙擊“數(shù)據(jù)庫”窗口左上角的“控制”菜單圖標(biāo)。單擊“數(shù)據(jù)庫”窗口左上角的“控制”菜單圖標(biāo),從彈出的菜單中選擇“關(guān)閉”命令。 3.表的組成與結(jié)構(gòu) 表是Access數(shù)據(jù)庫的基礎(chǔ),是存儲和管理數(shù)據(jù)的對象,也是數(shù)據(jù)庫其他對象的操作依據(jù)。 Access表由表結(jié)構(gòu)和表內(nèi)容(記錄)兩部分構(gòu)成。 4.數(shù)據(jù)類型 (1)文本數(shù)據(jù)類型 文本數(shù)據(jù)類型所使用的對象為文本或文本與數(shù)字的組合。 (2)備注數(shù)據(jù)類型 與文本數(shù)據(jù)類型一樣,備注數(shù)據(jù)類型也是字符和數(shù)字相結(jié)合,它允許存儲的內(nèi)容長達(dá)64 000個字符。 (3)數(shù)字?jǐn)?shù)據(jù)類型 數(shù)字?jǐn)?shù)據(jù)類型可以用來存儲進行算術(shù)運算的數(shù)字?jǐn)?shù)據(jù)。數(shù)字?jǐn)?shù)據(jù)類型包括字節(jié)型、整型、長整型、單精度型和雙精度型。 (4)日期/時間數(shù)據(jù)類型 日期/時間數(shù)據(jù)類型是用來存儲日期、時間或日期時間組合的。每個日期/時間字段需要8個字節(jié)的存儲空間。 (5)貨幣數(shù)據(jù)類型 貨幣數(shù)據(jù)類型是數(shù)字?jǐn)?shù)據(jù)類型的特殊類型,等價于具有雙精度屬性的數(shù)字?jǐn)?shù)據(jù)類型。 (6)自動編號數(shù)據(jù)類型 (7)是/否數(shù)據(jù)類型 (8)OLE對象數(shù)據(jù)類型 OLE對象數(shù)據(jù)類型是指字段允許單獨地“鏈接”或“嵌入”O(jiān)LE對象。 (9)超級鏈接數(shù)據(jù)類型 (10)查閱向?qū)?shù)據(jù)類型 5.建立表結(jié)構(gòu) 表結(jié)構(gòu)包括表中的字段名稱、數(shù)據(jù)類型、字段說明和字段屬性等,建立表結(jié)構(gòu)有以下3種方法: (1)使用“數(shù)據(jù)表”視圖 (2)使用“設(shè)計”視圖 (3)使用“表向?qū)А?6.設(shè)置字段屬性 字段的屬性表示字段所具有的特性,不同的字段類型有不同的屬性。當(dāng)選擇某一字段時,“設(shè)計”視圖下部的“字段屬性”區(qū)就會依次顯示出該字段的相應(yīng)屬性。 7.建立表之間的關(guān)系 (1)表間關(guān)系的概念 A

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論