日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【超详细!】【超全面!】计算机二级公共基础知识考点整理

發布時間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【超详细!】【超全面!】计算机二级公共基础知识考点整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

第一章 數據結構與算法

1.1算法

考點1? 算法的基本概念

考點2? 算法復雜度

1.2數據結構的基本概念

考點3? 數據結構的定義

考點4? 線性結構與非線性結構

1.3棧及線性鏈表

考點5? 棧及其基本運算

考點6? 線性鏈表的基本概念

1.4樹與二叉樹

考點7? 樹與二叉樹及其基本性質

考點8? 二叉樹的遍歷

1.5查找技術

考點9? 順序查找

考點10? 二分法查找

1.6排序技術

考點11? 交換類排序法

1.7 例題詳解

第二章 程序設計基礎

2.1結構化程序設計

考點1? 結構化程序設計的原則

2.2面向對象的程序設計

考點2? 面向對象方法的基本概念

2.3 例題詳解

第三章 軟件工程基礎

3.1軟件工程基本概念

考點1? 軟件定義與軟件特點

考點2? 軟件工程過程與軟件生命周期

3.2結構化設計方法

考點3? 軟件設計的基本概念

考點4? 詳細設計

3.3軟件測試

考點5? 軟件測試的目的

考點6? 軟件測試的實施

3.4軟件的調試

考點7? 軟件調試的基本概念

3.5 例題詳解

第四章 數據庫設計基礎

4.1數據庫系統的基本概念

考點1? 數據、數據庫、數據庫管理系統

考點2? 數據庫系統的發展

考點3? 數據庫系統的基本特點

考點4? 數據庫系統的內部結構體系

4.2數據模型

考點5? 數據模型的基本概念

考點6? E-R模型

考點7? 層次模型

考點8? 關系模型

4.3關系代數

考點9? 關系代數

4.4數據庫設計與管理

考點10? 數據庫設計概述

4.5例題詳解


第一章 數據結構與算法

經過對部分考生的調查以及對近年真題的總結分析,筆試部分經常考查的是算法復雜度、數據結構的概念、棧、二叉樹的遍歷、二分法查找,讀者應對此部分進行重點學習。

詳細重點學習知識點:

1.算法的概念、算法時間復雜度及空間復雜度的概念

2.數據結構的定義、數據邏輯結構及物理結構的定義

3.棧的定義及其運算、線性鏈表的存儲方式

4.樹與二叉樹的概念、二叉樹的基本性質、完全二叉樹的概念、二叉樹的遍歷

5.二分查找法

6.冒泡排序法

1.1算法

考點1? 算法的基本概念

>>>考試鏈接:

考點1在筆試考試中考核的幾率為30%,主要是以填空題的形式出現,分值為2分,此考點為識記內容,讀者還應該了解算法中對數據的基本運算。

計算機解題的過程實際上是在實施某種算法,這種算法稱為計算機算法。

1.算法的基本特征:可行性、確定性、有窮性、擁有足夠的情報。

2.算法的基本要素:

(1)算法中對數據的運算和操作

一個算法由兩種基本要素組成:一是對數據對象的運算和操作;二是算法的控制結構。

在一般的計算機系統中,基本的運算和操作有以下4類:算術運算、邏輯運算、關系運算和數據傳輸。

(2)算法的控制結構:算法中各操作之間的執行順序稱為算法的控制結構。

描述算法的工具通常有傳統流程圖、N-S結構化流程圖、算法描述語言等。一個算法一般都可以用順序、選擇、循環3種基本控制結構組合而成。

考點2? 算法復雜度

>>>考試鏈接:

考點2在筆試考試中,是一個經常考查的內容,在筆試考試中出現的幾率為70%,主要是以選擇的形式出現,分值為2分,此考點為重點識記內容,讀者還應該識記算法時間復雜度及空間復雜度的概念。

1.算法的時間復雜度

算法的時間復雜度是指執行算法所需要的計算工作量。

同一個算法用不同的語言實現,或者用不同的編譯程序進行編譯,或者在不同的計算機上運行,效率均不同。這表明使用絕對的時間單位衡量算法的效率是不合適的。撇開這些與計算機硬件、軟件有關的因素,可以認為一個特定算法"運行工作量"的大小,只依賴于問題的規模(通常用整數n表示),它是問題規模的函數。即

算法的工作量=f(n)

2.算法的空間復雜度

算法的空間復雜度是指執行這個算法所需要的內存空間。

一個算法所占用的存儲空間包括算法程序所占的空間、輸入的初始數據所占的存儲空間以及算法執行過程中所需要的額外空間。其中額外空間包括算法程序執行過程中的工作單元以及某種數據結構所需要的附加存儲空間。如果額外空間量相對于問題規模來說是常數,則稱該算法是原地工作的。在許多實際問題中,為了減少算法所占的存儲空間,通常采用壓縮存儲技術,以便盡量減少不必要的額外空間。

疑難解答:算法的工作量用什么來計算?

答:算法的工作量用算法所執行的基本運算次數來計算,而算法所執行的基本運算次數是問題規模的函數,即算法的工作量=f(n),其中n是問題的規模。

1.2數據結構的基本概念

考點3? 數據結構的定義

>>>考試鏈接:

考點3在筆試考試中,是一個經常考查的內容,在筆試考試中出現的幾率為70%,主要是以選擇的形式出現,分值為2分,此考點為識記內容,讀者還應該識記數據的邏輯結構和存儲結構的概念。

數據結構作為計算機的一門學科,主要研究和討論以下三個方面:

(1)數據集合中個數據元素之間所固有的邏輯關系,即數據的邏輯結構;

(2)在對數據元素進行處理時,各數據元素在計算機中的存儲關系,即數據的存儲結構;

(3)對各種數據結構進行的運算。

數據:是對客觀事物的符號表示,在計算機科學中是指所有能輸入到計算機中并被計算機程序處理的符號的總稱。

數據元素:是數據的基本單位,在計算機程序中通常作為一個整體進行考慮和處理。

數據對象:是性質相同的數據元素的集合,是數據的一個子集。

數據的邏輯結構是對數據元素之間的邏輯關系的描述,它可以用一個數據元素的集合和定義在此集合中的若干關系來表示。數據的邏輯結構有兩個要素:一是數據元素的集合,通常記為D;二是D上的關系,它反映了數據元素之間的前后件關系,通常記為R。一個數據結構可以表示成

B=(D,R)

其中B表示數據結構。為了反映D中各數據元素之間的前后件關系,一般用二元組來表示。

數據的邏輯結構在計算機存儲空間中的存放形式稱為數據的存儲結構(也稱數據的物理結構)。

由于數據元素在計算機存儲空間中的位置關系可能與邏輯關系不同,因此,為了表示存放在計算機存儲空間中的各數據元素之間的邏輯關系(即前后件關系),在數據的存儲結構中,不僅要存放各數據元素的信息,還需要存放各數據元素之間的前后件關系的信息。

一種數據的邏輯結構根據需要可以表示成多種存儲結構,常用的存儲結構有順序、鏈接、索引等存儲結構。而采用不同的存儲結構,其數據處理的效率是不同的。因此,在進行數據處理時,選擇合適的存儲結構是很重要的。

考點4? 線性結構與非線性結構

>>>考試鏈接:

考點4在筆試考試中,雖然說不是考試經常考查的內容,但讀者還是對此考點有所了解,在筆試考試中出現的幾率為30%,主要是以填空題出現的形式出現,分值為2分,此考點為識記內容。

根據數據結構中各數據元素之間前后件關系的復雜程度,一般將數據結構分為兩大類型:線性結構與非線性結構。如果一個非空的數據結構滿足下列兩個條件:

(1)有且只有一個根結點;

(2)每一個結點最多有一個前件,也最多有一個后件。

則稱該數據結構為線性結構。線性結構又稱線性表。在一個線性結構中插入或刪除任何一個結點后還應是線性結構。如果一個數據結構不是線性結構,則稱之為非線性結構。

疑難解答:空的數據結構是線性結構還是非線性結構?

答:一個空的數據結構究竟是屬于線性結構還是屬于非線性結構,這要根據具體情況來確定。如果對該數據結構的算法是按線性結構的規則來處理的,則屬于線性結構;否則屬于非線性結構。

1.3棧及線性鏈表

考點5? 棧及其基本運算

>>>考試鏈接:

考點5在筆試考試中,是一個必考的內容,在筆試考試中出現的幾率為100%,主要是以選擇的形式出現,分值為2分,此考點為重點掌握內容,讀者應該掌握棧的運算 。

1.棧的基本概念

棧是限定只在一端進行插入與刪除的線性表,通常稱插入、刪除的這一端為棧頂,另一端為棧底。當表中沒有元素時稱為空棧。棧頂元素總是后被插入的元素,從而也是最先被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。棧是按照"先進后出"或"后進先出"的原則組織數據的。

2.棧的順序存儲及其運算

用一維數組S(1∶m)作為棧的順序存儲空間,其中m為最大容量。

在棧的順序存儲空間S(1∶m)中,S(bottom)為棧底元素,S(top)為棧頂元素。top=0表示棧空;top=m表示棧滿。

棧的基本運算有三種:入棧、退棧與讀棧頂元素。

(1)入棧運算:入棧運算是指在棧頂位置插入一個新元素。首先將棧頂指針加一(即top加1),然后將新元素插入到棧頂指針指向的位置。當棧頂指針已經指向存儲空間的最后一個位置時,說明棧空間已滿,不可能再進行入棧操作。這種情況稱為棧"上溢"錯誤。

(2)退棧運算:退棧是指取出棧頂元素并賦給一個指定的變量。首先將棧頂元素(棧頂指針指向的元素)賦給一個指定的變量,然后將棧頂指針減一(即top減1)。當棧頂指針為0時,說明棧空,不可進行退棧操作。這種情況稱為棧的"下溢"錯誤。

(3)讀棧頂元素:讀棧頂元素是指將棧頂元素賦給一個指定的變量。這個運算不刪除棧頂元素,只是將它賦給一個變量,因此棧頂指針不會改變。當棧頂指針為0時,說明棧空,讀不到棧頂元素。

小技巧:棧是按照"先進后出"或"后進先出"的原則組織數據,但是出棧方式有多種選擇,在考題中經常考查各種不同的出棧方式。

考點6? 線性鏈表的基本概念

>>>考試鏈接:

考點6在筆試考試中出現的幾率為30%,主要是以選擇的形式出現,分值為2分,此考點為識記內容。重點識記結點的組成。

在鏈式存儲方式中,要求每個結點由兩部分組成:一部分用于存放數據元素值,稱為數據域,另一部分用于存放指針,稱為指針域。其中指針用于指向該結點的前一個或后一個結點(即前件或后件)。

鏈式存儲方式既可用于表示線性結構,也可用于表示非線性結構。

(1)線性鏈表

線性表的鏈式存儲結構稱為線性鏈表。

在某些應用中,對線性鏈表中的每個結點設置兩個指針,一個稱為左指針,用以指向其前件結點;另一個稱為右指針,用以指向其后件結點。這樣的表稱為雙向鏈表。

(2)帶鏈的棧

棧也是線性表,也可以采用鏈式存儲結構。帶鏈的棧可以用來收集計算機存儲空間中所有空閑的存儲結點,這種帶鏈的棧稱為可利用棧。

疑難解答:在鏈式結構中,存儲空間位置關系與邏輯關系是什么?

答:在鏈式存儲結構中,存儲數據結構的存儲空間可以不連續,各數據結點的存儲順序與數據元素之間的邏輯關系可以不一致,而數據元素之間的邏輯關系是由指針域來確定的。

1.4樹與二叉樹

考點7? 樹與二叉樹及其基本性質

>>>考試鏈接:

考點7在筆試考試中,是一個必考的內容,在筆試考試中出現的幾率為100%,主要是以選擇的形式出現,有時也有出現在填空題中,分值為2分,此考點為重點掌握內容。重點識記樹及二叉樹的性質。

誤區警示:

滿二叉樹也是完全二叉樹,而完全二叉樹一般不是滿二叉樹。應該注意二者的區別。

1、樹的基本概念

樹(tree)是一種簡單的非線性結構。在樹結構中,每一個結點只有一個前件,稱為父結點,沒有前件的結點只有一個,稱為樹的根結點。每一個結點可以有多個后件,它們稱為該結點的子結點。沒有后件的結點稱為葉子結點。

在樹結構中,一個結點所擁有的后件個數稱為該結點的度。葉子結點的度為0。在樹中,所有結點中的最大的度稱為樹的度。

2、二叉樹及其基本性質

(1)二叉樹的定義

二叉樹是一種很有用的非線性結構,具有以下兩個特點:

①非空二叉樹只有一個根結點;

②每一個結點最多有兩棵子樹,且分別稱為該結點的左子樹和右子樹。

由以上特點可以看出,在二叉樹中,每一個結點的度最大為2,即所有子樹(左子樹或右子樹)也均為二叉樹,而樹結構中的每一個結點的度可以是任意的。另外,二叉樹中的每個結點的子樹被明顯地分為左子樹和右子樹。在二叉樹中,一個結點可以只有左子樹而沒有右子樹,也可以只有右子樹而沒有左子樹。當一個結點既沒有左子樹也沒有右子樹時,該結點即為葉子結點。

(2)二叉樹的基本性質

二叉樹具有以下幾個性質:

性質1:在二叉樹的第k層上,最多有2k-1(k≥1)個結點;

性質2:深度為m的二叉樹最多有2m-1個結點;

性質3:在任意一棵二叉樹中,度為0的結點(即葉子結點)總是比度為2的結點多一個。

性質4:具有n個結點的二叉樹,其深度至少為[log2n]+1,其中[log2n]表示取log2n的整數部分。

小技巧:在二叉樹的遍歷中,無論是前序遍歷,中序遍歷還是后序遍歷,二叉樹的葉子結點的先后順序都是不變的。

3、滿二叉樹與完全二叉樹

滿二叉樹是指這樣的一種二叉樹:除最后一層外,每一層上的所有結點都有兩個子結點。在滿二叉樹中,每一層上的結點數都達到最大值,即在滿二叉樹的第k層上有2k-1個結點,且深度為m的滿二叉樹有2m-1個結點。

完全二叉樹是指這樣的二叉樹:除最后一層外,每一層上的結點數均達到最大值;在最后一層上只缺少右邊的若干結點。

對于完全二叉樹來說,葉子結點只可能在層次最大的兩層上出現:對于任何一個結點,若其右分支下的子孫結點的最大層次為p,則其左分支下的子孫結點的最大層次或為p,或為p+1。

完全二叉樹具有以下兩個性質:

性質5:具有n個結點的完全二叉樹的深度為[log2n]+1。

性質6:設完全二叉樹共有n個結點。如果從根結點開始,按層次(每一層從左到右)用自然數1,2,……,n給結點進行編號,則對于編號為k(k=1,2,……,n)的結點有以下結論:

①若k=1,則該結點為根結點,它沒有父結點;若k>1,則該結點的父結點編號為INT(k/2)。

②若2k≤n,則編號為k的結點的左子結點編號為2k;否則該結點無左子結點(顯然也沒有右子結點)。

③若2k+1≤n,則編號為k的結點的右子結點編號為2k+1;否則該結點無右子結點。

考點8? 二叉樹的遍歷

>>>考試鏈接:

考點8在筆試考試中考核幾率為30%,分值為2分,讀者應該熟練掌握各種遍歷的具體算法,能由兩種遍歷的結果推導另一種遍歷的結果。

在遍歷二叉樹的過程中,一般先遍歷左子樹,再遍歷右子樹。在先左后右的原則下,根據訪問根結點的次序,二叉樹的遍歷分為三類:前序遍歷、中序遍歷和后序遍歷。

(1)前序遍歷:先訪問根結點、然后遍歷左子樹,最后遍歷右子樹;并且,在遍歷左、右子樹時,仍然先訪問根結點,然后遍歷左子樹,最后遍歷右子樹。

(2)中序遍歷:先遍歷左子樹、然后訪問根結點,最后遍歷右子樹;并且,在遍歷左、右子樹時,仍然先遍歷左子樹,然后訪問根結點,最后遍歷右子樹。

(3)后序遍歷:先遍歷左子樹、然后遍歷右子樹,最后訪問根結點;并且,在遍歷左、右子樹時,仍然先遍歷左子樹,然后遍歷右子樹,最后訪問根結點。

疑難解答:樹與二叉樹的不同之處是什么?

答:在二叉樹中,每一個結點的度最大為2,即所有子樹(左子樹或右子樹)也均為二叉樹,而樹結構中的每一個結點的度可以是任意的。

1.5查找技術

考點9? 順序查找

>>>考試鏈接:

考點9在筆試考試中考核幾率在30%,一般出現選擇題中,分值為2分,讀者應該具體掌握順序查找的算法。

查找是指在一個給定的數據結構中查找某個指定的元素。從線性表的第一個元素開始,依次將線性表中的元素與被查找的元素相比較,若相等則表示查找成功;若線性表中所有的元素都與被查找元素進行了比較但都不相等,則表示查找失敗。

在下列兩種情況下也只能采用順序查找:

(1)如果線性表為無序表,則不管是順序存儲結構還是鏈式存儲結構,只能用順序查找。

(2)即使是有序線性表,如果采用鏈式存儲結構,也只能用順序查找。

考點10? 二分法查找

>>>考試鏈接:

考點10在筆試考試中考核幾率為30%,一般出現填空題中,分值為2分,考核比較多查找的比較次數,讀者應該具體掌握二分查找法的算法。

二分法只適用于順序存儲的,按非遞減排列的有序表,其方法如下:

設有序線性表的長度為n,被查找的元素為i,

(1)將i與線性表的中間項進行比較;

(2)若i與中間項的值相等,則查找成功;

(3)若i小于中間項,則在線性表的前半部分以相同的方法查找;

(4)若i大于中間項,則在線性表的后半部分以相同的方法查找。

疑難解答:二分查找法適用于哪種情況?

答:二分查找法只適用于順序存儲的有序表。在此所說的有序表是指線性表中的元素按值非遞減排列(即從小到大,但允許相鄰元素值相等)。

這個過程一直進行到查找成功或子表長度為0為止。對于長度為n的有序線性表,在最壞情況下,二分查找只需要比較log2n次。

1.6排序技術

考點11? 交換類排序法

>>>考試鏈接:

考點11屬于比較難的內容,一般以選擇題的形式考查,考核幾率為30%,分值約為2分,讀者應該熟練掌握幾種排序算法的基本過程。

冒泡排序法和快速排序法都屬于交換類排序法。

(1)冒泡排序法

首先,從表頭開始往后掃描線性表,逐次比較相鄰兩個元素的大小,若前面的元素大于后面的元素,則將它們互換,不斷地將兩個相鄰元素中的大者往后移動,最后最大者到了線性表的最后。

然后,從后到前掃描剩下的線性表,逐次比較相鄰兩個元素的大小,若后面的元素小于前面的元素,則將它們互換,不斷地將兩個相鄰元素中的小者往前移動,最后最小者到了線性表的最前面。

對剩下的線性表重復上述過程,直到剩下的線性表變空為止,此時已經排好序。

在最壞的情況下,冒泡排序需要比較次數為n(n-1)/2。

(2)快速排序法

它的基本思想是:任取待排序序列中的某個元素作為基準(一般取第一個元素),通過一趟排序,將待排元素分為左右兩個子序列,左子序列元素的排序碼均小于或等于基準元素的排序碼,右子序列的排序碼則大于基準元素的排序碼,然后分別對兩個子序列繼續進行排序,直至整個序列有序。

疑難解答:冒泡排序和快速排序的平均執行時間分別是多少?

答:冒泡排序法的平均執行時間是O(n2),而快速排序法的平均執行時間是O(nlog2n)。

1.7 例題詳解

一、選擇題

【例1】算法的時間復雜度取決于_______。(考點2

A)問題的規模?????????????? B)待處理的數據的初態

C)問題的難度?????????????? DA)和B

解析:算法的時間復雜度不僅與問題的規模有關,在同一個問題規模下,而且與輸入數據有關。即與輸入數據所有的可能取值范圍、輸入各種數據或數據集的概率有關。

答案:D

【例2】在數據結構中,從邏輯上可以把數據結構分成_______。(考點3

A)內部結構和外部結構?????????? B)線性結構和非線性結構

C)緊湊結構和非緊湊結構???????? D)動態結構和靜態結構

解析:邏輯結構反映數據元素之間的邏輯關系,線性結構表示數據元素之間為一對一的關系,非線性結構表示數據元素之間為一對多或者多對一的關系,所以答案為B)。

答案:B

【例3】以下_______不是棧的基本運算。(考點5

A)判斷棧是否為素空???????????? B)將棧置為空棧

C)刪除棧頂元素???????????????? D)刪除棧底元素

解析:棧的基本運算有:入棧,出棧(刪除棧頂元素),初始化、置空、判斷棧是否為空或滿、提取棧頂元素等,對棧的操作都是在棧頂進行的。

答案:D

【例4】鏈表不具備的特點是_______。(考點6

A)可隨機訪問任意一個結點?????????? B)插入和刪除不需要移動任何元素

C)不必事先估計存儲空間???????????? D)所需空間與其長度成正比

解析:順序表可以隨機訪問任意一個結點,而鏈表必須從第一個數據結點出發,逐一查找每個結點。所以答案為A)。

答案:A

【例5】已知某二叉樹的后序遍歷序列是DACBE,中序遍歷序列是DEBAC,則它的前序遍歷序列是_______。(考點8

AACBED??????????????????????????? BDEABC

CDECAB??????????????????????????? DEDBAC

解析:后序遍歷的順序是"左子樹-右子樹-根結點";中序遍歷順序是"左子樹-根結點-右子樹";前序遍歷順序是"根結點-左子樹-右子樹"。根據各種遍歷算法,不難得出前序遍歷序列是EDBAC。所以答案為D)。

答案:D

【例6】設有一個已按各元素的值排好序的線性表(長度大于2),對給定的值k,分別用順序查找法和二分查找法查找一個與k相等的元素,比較的次數分別是sb,在查找不成功的情況下,sb的關系是_______。(考點9

As=b?????????????????? Bs>b?????????????????? Cs<b?? ??????????????? Dsb

解析:對于順序查找,查找不成功時和給定關鍵字比較的次數為n+1。二分查找查找不成功的關鍵字比較次數為[log2n+1。當n2時,顯然n+1>log2n+1

答案:B

【例7】在快速排序過程中,每次劃分,將被劃分的表(或子表)分成左、右兩個子表,考慮這兩個子表,下列結論一定正確的是_______。(考點11

A)左、右兩個子表都已各自排好序

B)左邊子表中的元素都不大于右邊子表中的元素

C)左邊子表的長度小于右邊子表的長度

D)左、右兩個子表中元素的平均值相等

解析:快速排序基本思想是:任取待排序表中的某個元素作為基準(一般取第一個元素),通過一趟排序,將待排元素分為左右兩個子表,左子表元素的排序碼均小于或等于基準元素的排序碼,右子表的排序碼則大于基準元素的排序碼,然后分別對兩個子表繼續進行排序,直至整個表有序。

答案:B

二、填空題

【例1問題處理方案的正確而完整的描述稱為_______。(考點1

解析:計算機解題的過程實際上是在實施某種算法,這種算法稱為計算機算法。

答案:算法

【例2】一個空的數據結構是按線性結構處理的,則屬于_______。(考點4

解析:一個空的數據結構是線性結構或是非線性結構,要根據具體情況而定。如果對數據結構的運算是按線性結構來處理的,則屬于線性結構,否則屬于非線性結構。

答案:線性結構

【例3】設樹T的度為4,其中度為1、2、3和4的結點的個數分別為4、2、1、1,則T中葉子結點的個數為_______。(考點7

解析:根據樹的性質:樹的結點數等于所有結點的度與對應的結點個數乘積之和加1。

因此樹的結點數為1×4+2×2+3×1+4×1+1=16。葉子結點數目等于樹結點總數減去度不為0的結點數之和,即16-(4+2+1+1)=8。

答案:8

【例4】二分法查找的存儲結構僅限于_______且是有序的。(考點10

解析:二分查找,也稱折半查找,它是一種高效率的查找方法。但二分查找有條件限制:要求表必須用順序存儲結構,且表中元素必須按關鍵字有序(升序或降序均可)。

答案:順序存儲結構

?

第二章 程序設計基礎

經過對部分考生的調查以及對近年真題的總結分析,筆試部分經常考查的是結構化程序設計的原則、面向對象方法的基本概念,讀者應對此部分進行重點學習。

詳細重點學習知識點:

1.結構化程序設計方法的四個原則

2.對象、類、消息、繼承的概念、類與實例的區別

2.1結構化程序設計

考點1? 結構化程序設計的原則

>>>考試鏈接:

考點1在筆試考試中出現的幾率為30%,主要是以選擇題的形式出現,分值為2分,此考點為識記內容,讀者應該識記結構化程序設計方法的四個主要原則。

20世紀70年代提出了"結構化程序設計"的思想和方法。結構化程序設計方法引入了工程化思想和結構化思想,使大型軟件的開發和編程得到了極大的改善。結構化程序設計方法的主要原則為:自頂向下、逐步求精、模塊化和限制使用goto語句。

疑難解答:如何進行自頂向下設計方法?

答:程序設計時,應先考慮總體,后考慮細節;先考慮全局目標,后考慮局部目標;不要一開始就過多追求眾多的細節,先從最上層總目標開始設計,逐步使問題具體化。

2.2面向對象的程序設計

考點2? 面向對象方法的基本概念

>>>考試鏈接:

考點2在筆試考試中,是一個經常考查的內容,在筆試考試中出現的幾率為70%,主要是以填空題的形式出現,分值為2分,此考點為重點識記內容,讀者應該識記幾個基本要素的定義、對象的特征以及消息、繼承、類的定義。

誤區警示:

當使用"對象"這個術語時,既可以指一個具體的對象,也可以泛指一般的對象,但是當使用"實例"這個術語時,必須是指一個具體的對象。

面向對象方法涵蓋對象及對象屬性與方法、類、繼承、多態性幾個基本要素。

(1)對象

通常把對對象的操作也稱為方法或服務。

屬性即對象所包含的信息,它在設計對象時確定,一般只能通過執行對象的操作來改變。屬性值應該指的是純粹的數據值,而不能指對象。

操作描述了對象執行的功能,若通過信息的傳遞,還可以為其他對象使用。

對象具有如下特征:標識惟一性、分類性、多態性、封裝性、模塊獨立性。

(2)類和實例

類是具有共同屬性、共同方法的對象的集合。它描述了屬于該對象類型的所有對象的性質,而一個對象則是其對應類的一個實例。

類是關于對象性質的描述,它同對象一樣,包括一組數據屬性和在數據上的一組合法操作。

(3)消息

消息是實例之間傳遞的信息,它請求對象執行某一處理或回答某一要求的信息,它統一了數據流和控制流。

一個消息由三部分組成:接收消息的對象的名稱、消息標識符(消息名)和零個或多個參數。

(4)繼承

廣義地說,繼承是指能夠直接獲得已有的性質和特征,而不必重復定義它們。

繼承分為單繼承與多重繼承。單繼承是指,一個類只允許有一個父類,即類等級為樹形結構。多重繼承是指,一個類允許有多個父類。

(5)多態性

對象根據所接收的消息而做出動作,同樣的消息被不同的對象接收時可導致完全不同的行動,該現象稱為多態性。

疑難解答:能舉一下現實中的對象及其屬性和操作嗎?

答:一輛汽車是一個對象,它包含了汽車的屬性(如顏色、型號等)及其操作(如啟動、剎車等)。一個窗口是對象,它包含了窗口的屬性(如大小、顏色等)及其操作(如打開、關閉等)。

2.3 例題詳解

一、選擇題

【例1】結構化程序設計方法提出于_______。(考點1

A20世紀50年代???????? B20世紀60年代

C20世紀70年代???????? D20世紀80年代

解析:20世紀70年代提出了"結構化程序設計(structured programming)"的思想和方法。結構化程序設計方法引入了工程化思想和結構化思想,使大型軟件的開發和編程得到了極大的改善。

答案:C

【例2】結構化程序設計方法的主要原則有下列4項,不正確的是_______。(考點1

A)自下向上???????????? B)逐步求精

C)模塊化?????????????? D)限制使用goto語句

解析:結構化程序設計方法的主要原則為:

1)自頂向下:即先考慮總體,后考慮細節;先考慮全局目標,后考慮局部目標。

2)逐步求精:對復雜問題,應設計一些子目標作過渡,逐步細化。

3)模塊化:把程序要解決的總目標分解為分目標,再進一步分解為具體的小目標,把每個小目標稱為一個模塊。

4)限制使用goto語句。

答案:A

【例3】面向對象的開發方法中,類與對象的關系是_______。(考點2

A)抽象與具體?????????????? B)具體與抽象

C)部分與整體?????????????? D)整體與部分

解析:現實世界中的很多事物都具有相似的性質,把具有相似的屬性和操作的對象歸為類,也就是說類是具有共同屬性、共同方法的對象的集合,是對對象的抽象。它描述了該對象類型的所有對象的性質,而一個對象則是對應類的一個具體實例。所以本題正確答案為A)項。

答案:A

二、填空題

【例1】在面向對象方法中,使用已經存在的類定義作為基礎建立新的類定義,這樣的技術叫做_______。(考點2

解析:繼承是面向對象方法的一個主要特征。繼承是使用已有的類定義作為基礎建立新類的定義技術。已有的類可當作基類來引用,則新類相應地可當作派生類來引用。

答案:繼承

【例2】對象的基本特點包括_______、分類性、多態性、封裝性和模塊獨立性好等5個特點。(考點2

解析:對象具有如下的基本特點:

1)標識惟一性。對象是可區分的,并且由對象的內在本質來區分;

2)分類性。可以將具有相同屬性和操作的對象抽象成類;

3)多態性。同一個操作可以是不同對象的行為;

4)封裝性。只能看到對象的外部特征,無需知道數據的具體結構以及實現操作的算法;

5)模塊獨立性。面向對象是由數據及可以對這些數據施加的操作所組成的統一體。

答案:標識惟一性

【例3】對象根據所接收的消息而做出動作,同樣的消息被不同的對象所接收時可能導致完全不同的行為,這種現象稱為_______。(考點2

解析:對象根據所接收的消息而做出動作,同樣的消息被不同的對象接收時可導致完全不同的行為,該現象稱為多態性。

答案:多態性

?

第三章 軟件工程基礎

經過對部分考生的調查以及對近年真題的總結分析,筆試部分經常考查的是軟件生命周期、軟件設計的基本原理,軟件測試的目的、軟件調試的基本概念,讀者應對此部分進行重點學習。

詳細重點學習知識點:

1.軟件的概念、軟件生命周期的概念及各階段所包含的活動

2.概要設計與詳細設計的概念、模塊獨立性及其度量的標準、詳細設計常用的工具

3.軟件測試的目的、軟件測試的4個步驟、

4.軟件調試的任務

?

3.1軟件工程基本概念

考點1? 軟件定義與軟件特點

>>>考試鏈接:

考點1在筆試考試中,是一個經常考查的內容,考核的幾率為70%,主要是以選擇題的形式出現,分值為2分,此考點為識記內容,讀者應該識記軟件的定義,特點及其分類。

軟件指的是計算機系統中與硬件相互依存的另一部分,包括程序、數據和相關文檔的完整集合。程序是軟件開發人員根據用戶需求開發的、用程序設計語言描述的、適合計算機執行的指令序列。數據是使程序能正常操縱信息的數據結構。文檔是與程序的開發、維護和使用有關的圖文資料。可見,軟件由兩部分組成:

(1)機器可執行的程序和數據;

(2)機器不可執行的,與軟件開發、運行、維護、使用等有關的文檔。

軟件的特點:

(1)軟件是邏輯實體,而不是物理實體,具有抽象性;

(2)沒有明顯的制作過程,可進行大量的復制;

(3)使用期間不存在磨損、老化問題;

(4)軟件的開發、運行對計算機系統具有依賴性;

(5)軟件復雜性高,成本昂貴;

(6)軟件開發涉及諸多社會因素。

根據應用目標的不同,軟件可分應用軟件、系統軟件和支撐軟件(或工具軟件)。

小提示:應用軟件是為解決特定領域的應用而開發的軟件;系統軟件是計算機管理自身資源,提高計算機使用效率并為計算機用戶提供各種服務的軟件;支撐軟件是介于兩者之間,協助用戶開發軟件的工具性軟件。

考點2? 軟件工程過程與軟件生命周期

>>>考試鏈接:

考點2在筆試考試中,在筆試考試中出現的幾率為30%,主要是以選擇題的形式出現,分值為2分,此考點為識記內容,讀者應該識記軟件生命周期 的定義,主要活動階段及其任務。

軟件產品從提出、實現、使用維護到停止使用退役的過程稱為軟件生命周期。一般包括可行性分析研究與需求分析、設計、實現、測試、交付使用以及維護等活動,如圖3-1所示

圖3-1軟件生命周期

還可以將軟件生命周期分為如上圖所示的軟件定義、軟件開發和軟件運行維護3個階段。

生命周期的主要活動階段是:可行性研究與計劃制定、需求分析、軟件設計、軟件實施、軟件測試及運行與維護。

3.2結構化設計方法

考點3? 軟件設計的基本概念

>>>考試鏈接:

考點3在筆試考試中,是一個經常考查的內容,考核中幾率為70%,主要是以選擇題的形式出現,分值為2分,此考點為重點掌握內容,讀者應該識記模塊獨立性中的耦合性和內聚性。

誤區警示:

在程序結構中,各模塊的內聚性越強,則耦合性越弱。軟件設計應盡量做到高內聚,低耦合,即減弱模塊之間的耦合性和提高模塊內的內聚性,有利于提高模塊的獨立性。

1.軟件設計的基礎

從技術觀點上看,軟件設計包括軟件結構設計、數據設計、接口設計、過程設計。

(1)結構設計定義軟件系統各主要部件之間的關系;

(2)數據設計將分析時創建的模型轉化為數據結構的定義;

(3)接口設計是描述軟件內部、軟件和協作系統之間以及軟件與人之間如何通信;

(4)過程設計則是把系統結構部件轉換為軟件的過程性描述。

從工程管理角度來看,軟件設計分兩步完成:概要設計和詳細設計。

(1)概要設計將軟件需求轉化為軟件體系結構、確定系統級接口、全局數據結構或數據庫模式;

(2)詳細設計確立每個模塊的實現算法和局部數據結構,用適當方法表示算法和數據結構的細節。

2.軟件設計的基本原理

(1)抽象:軟件設計中考慮模塊化解決方案時,可以定出多個抽象級別。抽象的層次從概要設計到詳細設計逐步降低。

(2)模塊化:模塊是指把一個待開發的軟件分解成若干小的簡單的部分。模塊化是指解決一個復雜問題時自頂向下逐層把軟件系統劃分成若干模塊的過程。

(3)信息隱蔽:信息隱蔽是指在一個模塊內包含的信息(過程或數據),對于不需要這些信息的其他模塊來說是不能訪問的。

(4)模塊獨立性:模塊獨立性是指每個模塊只完成系統要求的獨立的子功能,并且與其他模塊的聯系最少且接口簡單。模塊的獨立程度是評價設計好壞的重要度量標準。衡量軟件的模塊獨立性使用耦合性和內聚性兩個定性的度量標準。內聚性是信息隱蔽和局部化概念的自然擴展。一個模塊的內聚性越強則該模塊的模塊獨立性越強。一個模塊與其他模塊的耦合性越強則該模塊的模塊獨立性越弱。

內聚性是度量一個模塊功能強度的一個相對指標。內聚是從功能角度來衡量模塊的聯系,它描述的是模塊內的功能聯系。內聚有如下種類,它們之間的內聚度由弱到強排列:偶然內聚、邏輯內聚、時間內聚、過程內聚、通信內聚、順序內聚、功能內聚。

耦合性是模塊之間互相連接的緊密程度的度量。耦合性取決于各個模塊之間接口的復雜度、調用方式以及哪些信息通過接口。耦合可以分為下列幾種,它們之間的耦合度由高到低排列:內容耦合、公共耦合、外部耦合、控制耦合、標記耦合、數據耦合、非直接耦合。

在程序結構中,各模塊的內聚性越強,則耦合性越弱。一般較優秀的軟件設計,應盡量做到高內聚,低耦合,即減弱模塊之間的耦合性和提高模塊內的內聚性,有利于提高模塊的獨立性。

小提示:上面僅是對耦合機制進行的一個分類。可見一個模塊與其他模塊的耦合性越強則該模塊獨立性越弱。原則上講,模塊化設計總是希望模塊之間的耦合表現為非直接耦合方式。但是,由于問題所固有的復雜性和結構化設計的原則,非直接耦合是不存在的。

考點4? 詳細設計

>>>考試鏈接:

考點4在筆試考試中,在筆試考試中出現的幾率為30%,主要是以選擇題的形式出現,分值為2分,此考點為識記內容,讀者應該識記過程設計包括哪些常用工具。

詳細設計的任務是為軟件結構圖中的每個模塊確定實現算法和局部數據結構,用某種選定的表達表示工具算法和數據結構的細節。

詳細過程設計的常用工具有:

(1)圖形工具:程序流程圖,N-S,PAD,HIPO。

(2)表格工具:判定表。

(3)語言工具:PDL(偽碼)。

程序流程圖的5種控制結構:順序型、選擇型、先判斷重復型、后判斷重復型和多分支選擇型。

方框圖中僅含5種基本的控制結構,即順序型、選擇型、多分支選擇型、WHILE重復型和UNTIL重復型。

PAD圖表示5種基本控制結構,即順序型、選擇型、多分支選擇型、WHILE重復型和UNTIL重復型。

過程設計語言(PDL)也稱為結構化的語言和偽碼,它是一種混合語言,采用英語的詞匯和結構化程序設計語言,類似編程語言。

PDL可以由編程語言轉換得到,也可以是專門為過程描述而設計的。

疑難解答:程序流程圖,N-S圖,PAD圖的控制結構的異同點是什么?

答:相同點是三種圖都有順序結構,選擇結構和多分支選擇,并且N-S圖和PAD圖還有相同的WHILE重復型、UNTIL重復型;不同點是程序流程圖沒有WHILE重復型、UNTIL重復型而有后判斷重復型和先判斷重復型。

3.3軟件測試

考點5? 軟件測試的目的

>>>考試鏈接:

考點5在筆試考試中,是一個經常考查的內容,在筆試考試中出現的幾率為70%,主要是以選擇題的形式出現,分值為2分,此考點為理解內容,讀者應該理解測試是為了發現錯誤。

軟件測試是在軟件投入運行前對軟件需求、設計、編碼的最后審核。其工作量、成本占總工作量、總成本的40%以上,而且具有較高的組織管理和技術難度。

(1)軟件測試是為了發現錯誤而執行程序的過程;

(2)一個好的測試用例是能夠發現至今尚未發現的錯誤的用例;

(3)一個成功的測試是發現了至今尚未發現的錯誤的測試。

考點6? 軟件測試的實施

>>>考試鏈接:

考點6在筆試考試中出現的幾率為30%,主要是以選擇題的形式出現,分值為2分,此考點為識記內容,讀者應該識記軟件測試過程的4個步驟,單元測試的兩種測試方式。

軟件測試過程分4個步驟,即單元測試、集成測試、驗收測試和系統測試。

單元測試是對軟件設計的最小單位--模塊(程序單元)進行正確性檢驗測試。單元測試的技術可以采用靜態分析和動態測試。

集成測試是測試和組裝軟件的過程,主要目的是發現與接口有關的錯誤,主要依據是概要設計說明書。集成測試所設計的內容包括:軟件單元的接口測試、全局數據結構測試、邊界條件和非法輸入的測試等。集成測試時將模塊組裝成程序,通常采用兩種方式:非增量方式組裝和增量方式組裝。

確認測試的任務是驗證軟件的功能和性能,以及其他特性是否滿足了需求規格說明中確定的各種需求,包括軟件配置是否完全、正確。確認測試的實施首先運用黑盒測試方法,對軟件進行有效性測試,即驗證被測軟件是否滿足需求規格說明確認的標準。

系統測試是通過測試確認軟件,作為整個基于計算機系統的一個元素,與計算機硬件、外設、支撐軟件、數據和人員等其他系統元素組合在一起,在實際運行(使用)環境下對計算機系統進行一系列的集成測試和確認測試。

系統測試的具體實施一般包括:功能測試、性能測試、操作測試、配置測試、外部接口測試、安全性測試等。

3.4軟件的調試

考點7? 軟件調試的基本概念

>>>考試鏈接:

考點7在筆試考試中,是一個經常考查的內容,在筆試考試中出現的幾率為70%,主要是以選擇題的形式出現,分值為2分,此考點為重點識記內容,讀者應該識記軟件調試的概念。

誤區警示:

程序經調試改錯后還應進行再測試,因為經調試后有可能產生新的錯誤,而且測試是貫穿生命周期的整個過程。

在對程序進行了成功的測試之后將進入程序調試(通常稱Debug,即排錯)。程序的調試任務是診斷和改正程序中的錯誤。調試主要在開發階段進行。

程序調試活動由兩部分組成,一是根據錯誤的跡象確定程序中錯誤的確切性質、原因和位置;二是對程序進行修改,排除這個錯誤。程序調試的基本步驟:

(1)錯誤定位。從錯誤的外部表現形式入手,研究有關部分的程序,確定程序中出錯位置,找出錯誤的內在原因;

(2)修改設計和代碼,以排除錯誤;

(3)進行回歸測試,防止引進新的錯誤。

調試原則可以從以下兩個方面考慮:

(1)確定錯誤的性質和位置時的注意事項

分析思考與錯誤征兆有關的信息;避開死胡同;只把調試工具當作輔助手段來使用;避免用試探法,最多只能把它當作最后手段。

(2)修改錯誤原則

在出現錯誤的地方,很可能有別的錯誤;修改錯誤的一個常見失誤是只修改了這個錯誤的征兆或這個錯誤的表現,而沒有修改錯誤本身;注意修正一個錯誤的同時有可能會引入新的錯誤;修改錯誤的過程將迫使人們暫時回到程序設計階段;修改源代碼程序,不要改變目標代碼。

疑難解答:軟件測試與軟件調試有何不同?

答:軟件測試是盡可能多地發現軟件中的錯誤,而軟件調試的任務是診斷和改正程序中的錯誤。軟件測試貫穿整個軟件生命周期,調試主要在開發階段。

3.5 例題詳解

一、選擇題

【例1】對軟件的特點,下面描述正確的是_______。(考點1

A)軟件是一種物理實體

B)軟件在運行使用期間不存在老化問題

C)軟件開發、運行對計算機沒有依賴性,不受計算機系統的限制

D)軟件的生產有一個明顯的制作過程

解析:軟件在運行期間不會因為介質的磨損而老化,只可能因為適應硬件環境以及需求變化進行修改而引入錯誤,導致失效率升高從而軟件退化,所以本題正確答案為B)。

答案:B

【例2】以下哪項是軟件生命周期的主要活動階段?_______(考點2

A)需求分析???????????????? B)軟件開發

C)軟件確認???????????????? D)軟件演進

解析:B)、C)、D)項都是軟件工程過程的基本活動,還有一個是軟件規格說明。

答案:A

【例3】從技術觀點看,軟件設計包括_______。(考點3

A)結構設計、數據設計、接口設計、程序設計

B)結構設計、數據設計、接口設計、過程設計

C)結構設計、數據設計、文檔設計、過程設計

D)結構設計、數據設計、文檔設計、程序設計

解析:技術角度,要進行結構、接口、數據、過程的設計。結構設計是定義系統各部件關系,數據設計是根據分析模型轉化數據結構,接口設計是描述如何通信,過程設計是把系統結構部件轉化為軟件的過程性描述。

答案:B

【例4】以下哪個是軟件測試的目的?_______(考點5

A)證明程序沒有錯誤???????????? B)演示程序的正確性

C)發現程序中的錯誤???????????? D)改正程序中的錯誤

解析:關于測試目的的基本知識,IEEE的定義是:使用人工或自動手段來運行或測定某個系統的過程,其目的在于檢驗它是否滿足規定的需求,或是弄清預期結果與實際結果之間的差別,所以正確答案是C)。

答案:C

【例5】以下哪個測試要對接口測試?_______。(考點6

A)單元測試???????????????? B)集成測試

C)驗收測試???????????????? D)系統測試

解析:檢查對測試實施各階段的了解,集成測試時要進行接口測試、全局數據結構測試、邊界條件測試和非法輸入的測試等,所以正確答案是B)。

答案:B

【例6】程序調試的主要任務是_______。(考點7

A)檢查錯誤???????????????? B)改正錯誤

C)發現錯誤???????????????? D)以上都不是

解析:程序的調試任務是診斷和改正程序中的錯誤。調試主要在開發階段進行。

答案:B

【例7】以下哪些不是程序調試的基本步驟?_______(考點7

A)分析錯誤原因???????????????? B)錯誤定位

C)修改設計代碼以排除錯誤?????? D)回歸測試,防止引入新錯誤

解析:程序調試的基本步驟:

1)錯誤定位。從錯誤的外部表現形式入手,研究有關部分的程序,確定程序中出錯位置,找出錯誤的內在原因。

2)修改設計和代碼,以排除錯誤。

3)進行回歸測試,防止引進新的錯誤。

答案:A

【例8】在修改錯誤時應遵循的原則有_______。(考點7

A)注意修改錯誤本身而不僅僅是錯誤的征兆和表現

B)修改錯誤的是源代碼而不是目標代碼

C)遵循在程序設計過程中的各種方法和原則

D)以上3個都是

解析:修改錯誤原則:

(1)在出現錯誤的地方,很可能有別的錯誤;

(2)修改錯誤的一個常見失誤是只修改了這個錯誤的征兆或這個錯誤的表現,而沒有修改錯誤本身;

(3)注意修正一個錯誤的同時有可能會引入新的錯誤;

(4)修改錯誤的過程將迫使人們暫時回到程序設計階段;

(5)修改源代碼程序,不要改變目標代碼。

答案:D

二、填空題

【例1】軟件設計是軟件工程的重要階段,是一個把軟件需求轉換為_______的過程。(考點3

解析:軟件設計是軟件工程的重要階段,是一個把軟件需求轉換為軟件表示的過程。其基本目標是用比較抽象概括的方式確定目標系統如何完成預定的任務,即軟件設計是確定系統的物理模型。

答案:軟件表示

【例2_______是指把一個待開發的軟件分解成若干小的簡單的部分。(考點3

解析:模塊化是指把一個待開發的軟件分解成若干小的簡單的部分。如高級語言中的過程、函數、子程序等。每個模塊可以完成一個特定的子功能,各個模塊可以按一定的方法組裝起來成為一個整體,從而實現整個系統的功能。

答案:模塊化

?

【例3】數據流圖采用4種符號表示_______、數據源點和終點、數據流向和數據加工。(考點4

解析:數據流圖可以表達軟件系統的數據存儲、數據源點和終點、數據流向和數據加工。其中,用箭頭表示數據流向,用圓或者橢圓表示數據加工,用雙杠表示數據存儲,用方框來表示數據源點和終點。

答案:數據存儲

?

第四章 數據庫設計基礎

經過對部分考生的調查以及對近年真題的總結分析,筆試部分經常考查的是數據庫管理系統,數據庫基本特點,數據庫系統的三級模式及二級映射,E-R模型,關系模型和關系代數,讀者應對此部分進行重點學習。

詳細重點學習知識點:

1.數據的概念、數據庫管理系統提供的數據語言、數據管理員的主要工作、數據庫系統階段的特點、數據的物理獨立性及邏輯獨立性、數據統一管理與控制、三級模式及兩級映射的概念

2.數據模型3個描述內容、E-R模型的概念及其E-R圖表示法、關系操縱、關系模型三類數據約束

3.關系模型的基本操作、關系代數中的擴充運算

4.數據庫設計生命周期法的4個階段

?

4.1數據庫系統的基本概念

考點1? 數據、數據庫、數據庫管理系統

>>>考試鏈接:

考點1在筆試考試中,是一個經常考查的內容,在筆試考試中出現的機率為70%,主要是以選擇題的形式出現,分值為2分,此考點為重點識記內容,讀者還應該識記數據語言所包括的數據定義語言、數據操縱語言和數據控制語言。

數據是數據庫中存儲的基本對象,描述事物的符號記錄。

數據庫是長期儲存在計算機內、有組織的、可共享的大量數據的集合,它具有統一的結構形式并存放于統一的存儲介質內,是多種應用數據的集成,并可被各個應用程序所共享。

數據庫管理系統(DBMS,Database Management System)是數據庫的機構,它是一種系統軟件,負責數據庫中的數據組織、數據操作、數據維護、控制及保護和數據服務等。數據庫管理系統是數據系統的核心,主要有如下功能:數據模式定義、數據存取的物理構建、數據操縱、數據的完整性、安全性定義和檢查、數據庫的并發控制與故障恢復、數據的服務。

為完成數據庫管理系統的功能,數據庫管理系統提供相應的數據語言:數據定義語言、數據操縱語言、數據控制語言。

數據庫管理員的主要工作如下:數據庫設計、數據庫維護、改善系統性能,提高系統效率。

考點2? 數據庫系統的發展

>>>考試鏈接:

考點2在筆試考試中出現的機率為30%,主要是以選擇題的形式出現,分值為2分,此考點為識記內容,讀者還應該注意各個階段的特點。

數據管理技術的發展經歷了3個階段,見表4-1:

表4-1? 各階段特點的詳細說明

考點3? 數據庫系統的基本特點

>>>考試鏈接:

考點3在筆試考試中出現的機率為30%,主要是以填空題的形式出現,分值為2分,此考點為識記內容,讀者還應該理解物理獨立性和邏輯獨立性的定義。

數據獨立性是數據與程序間的互不依賴性,即數據庫中的數據獨立于應用程序而不依賴于應用程序。

數據的獨立性一般分為物理獨立性與邏輯獨立性兩種。

(1)物理獨立性:指用戶的應用程序與存儲在磁盤上的數據庫中數據是相互獨立的。當數據的物理結構(包括存儲結構、存取方式等)改變時,如存儲設備的更換、物理存儲的更換、存取方式改變等,應用程序都不用改變。

(2)邏輯獨立性:指用戶的應用程序與數據庫的邏輯結構是相互獨立的。數據的邏輯結構改變了,如修改數據模式、增加新的數據類型、改變數據間聯系等,用戶程序都可以不變。

數據統一管理與控制主要包括以下3個方面:數據的完整性檢查、數據的安全性保護和并發控制。

考點4? 數據庫系統的內部結構體系

>>>考試鏈接:

考點4在筆試考試中出現的機率為30%,主要是以選擇題的形式出現,分值為2分,此考點為識記內容,讀者還應該理解三級模式及兩級映射的定義。

誤區警示:

一個數據庫只有一個概念模式。一個概念模式可以有若干個外模式。三級模式都有幾種名稱,讀者應該熟記每個模式的另一些名稱。

1.數據統系統的3級模式

(1)概念模式,也稱邏輯模式,是對數據庫系統中全局數據邏輯結構的描述,是全體用戶(應用)公共數據視圖。一個數據庫只有一個概念模式。

(2)外模式,外模式也稱子模式,它是數據庫用戶能夠看見和使用的局部數據的邏輯結構和特征的描述,它是由概念模式推導而出來的,是數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示。一個概念模式可以有若干個外模式。

(3)內模式,內模式又稱物理模式,它給出了數據庫物理存儲結構與物理存取方法。

內模式處于最底層,它反映了數據在計算機物理結構中的實際存儲形式,概念模式處于中間層,它反映了設計者的數據全局邏輯要求,而外模式處于最外層,它反映了用戶對數據的要求。

?小提示:內模式處于最底層,它反映了數據在計算機物理結構中的實際存儲形式,概念模式處于中間層,它反映了設計者的數據全局邏輯要求,而外模式處于最外層,它反映了用戶對數據的要求。

2.數據庫系統的兩級映射

兩級映射保證了數據庫系統中數據的獨立性。

(1)概念模式到內模式的映射。該映射給出了概念模式中數據的全局邏輯結構到數據的物理存儲結構間的對應關系;

(2)外模式到概念模式的映射。概念模式是一個全局模式而外模式是用戶的局部模式。一個概念模式中可以定義多個外模式,而每個外模式是概念模式的一個基本視圖。

疑難解答:數據庫應用系統的結構是什么樣的?

答:數據庫應用系統的7個部分以一定的邏輯層次結構方式組成一個有機的整體,它們的結構關系是:應用系統工、應用開發工具軟件、數據庫管理系統、操作系統、硬件。

4.2數據模型

考點5? 數據模型的基本概念

>>>考試鏈接:

考點5在筆試考試中是一個經常考查的內容,出現的機率為70%,主要是以填空形式出現,分值為2分,此考點為重點識記內容,讀者應該識記數據模型的3個部分。

數據模型用來抽象、表示和處理現實世界中的數據和信息。分為兩個階段:把現實世界中的客觀對象抽象為概念模型;把概念模型轉換為某一DBMS支持的數據模型。

數據模型所描述的內容有3個部分,它們是數據結構、數據操作與數據約束。

考點6? E-R模型

>>>考試鏈接:

考點6在筆試考試中出現的機率為30%,主要是以選擇題的形式出現,分值為4分,此考點為理解內容,讀者應該理解實體間三種函數關系,識記實體、屬性、聯系各用什么圖形來表示。

1.E-R模型的基本概念

(1)實體:現實世界中的事物可以抽象成為實體,實體是概念世界中的基本單位,它們是客觀存在的且又能相互區別的事物。

(2)屬性:現實世界中事物均有一些特性,這些特性可以用屬性來表示。

(3)碼:唯一標識實體的屬性集稱為碼。

(4)域:屬性的取值范圍稱為該屬性的域。

(5)聯系:在現實世界中事物間的關聯稱為聯系。

兩個實體集間的聯系實際上是實體集間的函數關系,這種函數關系可以有下面幾種:一對一的聯系、一對多或多對一聯系、多對多。

2.E-R模型的圖示法

E-R模型用E-R圖來表示。

(1)實體表示法:在E-R圖中用矩形表示實體集,在矩形內寫上該實體集的名字。

(2)屬性表示法:在E-R圖中用橢圓形表示屬性,在橢圓形內寫上該屬性的名稱。

(3)聯系表示法:在E-R圖中用菱形表示聯系,菱形內寫上聯系名。

考點7? 層次模型

>>>考試鏈接:

考點7在筆試考試中出現的機率為30%,主要是以選擇題的形式出現,分值為2分,此考點為識記內容,讀者應該理解層次模型的定義。它的基本結構是樹形結構。

滿足下面兩個條件的基本層次聯系的集合為層次模型。

(1)有且只有一個結點沒有雙親結點,這個結點稱為根結點;

(2)除根結點以外的其他結點有且僅有一個雙親結點。

考點8? 關系模型

>>>考試鏈接:

考點8筆試考試中,是一個經常考查的內容,在筆試考試中出現的機率為70%,主要是以選擇題的形式出現,分值為2分,此考點重點掌握為理解內容,讀者應該理解二維表的7個性質,識記三類數據約束。

誤區警示:

當對關系模型進行查詢運算,涉及到多種運算時,應當注意它們之間的先后順序,因為有可能進行投影運算時,把符合條件的記錄過濾,產生錯誤的結果。

關系模型采用二維表來表示,二維表一般滿足下面7個性質:

(1)二維表中元組個數是有限的--元組個數有限性;

(2)二維表中元組均不相同--元組的唯一性;

(3)二維表中元組的次序可以任意交換--元組的次序無關性;

(4)二維表中元組的分量是不可分割的基本數據項--元組分量的原子性;

(5)二維表中屬性名各不相同--屬性名唯一性;

(6)二維表中屬性與次序無關,可任意交換--屬性的次序無關性;

(7)二維表屬性的分量具有與該屬性相同的值域--分量值域的統一性。

在二維表中惟一標識元組的最小屬性值稱為該表的鍵或碼。二維表中可能有若干個健,它們稱為表的侯選碼或侯選健。從二維表的所有侯選鍵選取一個作為用戶使用的鍵稱為主鍵或主碼。表A中的某屬性集是某表B的鍵,則稱該屬性值為A的外鍵或外碼。

關系操縱:數據查詢、數據刪除、數據插入、數據修改。

關系模型允許定義三類數據約束,它們是實體完整性約束、參照完整性約束以及用戶定義的完整性約束。

小提示:關系模式采用二維表來表示,一個關系對應一張二維表。可以這么說,一個關系就是一個二維表,但是一個二維表不一定是一個關系。

疑難解答:E-R圖是如何向關系模式轉換的?

答:從E-R圖到關系模式的轉換是比較直接的,實體與聯系都可以表示成關系,E-R圖中屬性也可以轉換成關系的屬性。實體集也可以轉換成關系。

4.3關系代數

考點9? 關系代數

>>>考試鏈接:

考點9在筆試考試中出現的機率為30%,主要是以選擇題的形式出現,分值為2分,此考點重點掌握理解內容,讀者應該理解關系模型的基本操作以及關系代數的幾種運算。

誤區警示:

當對關系模型進行查詢運算,涉及到多種運算時,應當注意它們之間的先后順序,因為有可能進行投影運算時,把符合條件的記錄過濾,產生錯誤的結果。

1.關系模型的基本操作

關系模型的基本操作:插入、刪除、修改和查詢。

其中查詢包含如下運算:

①投影運算。從R中選擇出若干屬性列組成新的關系。

②選擇運算。選擇運算是一個一元運算,關系R通過選擇運算(并由該運算給出所選擇的邏輯條件)后仍為一個關系。設關系的邏輯條件為F,則R滿足F的選擇運算可寫成:σF(R)

③笛卡爾積運算。設有n元關系R及m元關系S,它們分別有p、q個元組,則關系R與S經笛卡爾積記為R×S,該關系是一個n+m元關系,元組個數是p×q,由R與S的有序組組合而成。

小提示:當關系模式進行笛卡爾積運算時,讀者應該注意運算后的結果是n+m元關系,元組個數是p×q,這是經常混淆的。

2.關系代數中的擴充運算

(1)交運算:關系R與S經交運算后所得到的關系是由那些既在R內又在S內的有序組所組成,記為R∩S。

(2)除運算

如果將笛卡爾積運算看作乘運算的話,除運算就是它的逆運算。當關系T=R×S時,則可將除運算寫成:T÷R=S或T/R=S

S稱為T除以R的商。除法運算不是基本運算,它可以由基本運算推導而出。

(3)連接與自然連接運算

連接運算又可稱為θ運算,這是一種二元運算,通過它可以將兩個關系合并成一個大關系。設有關系R、S以及比較式iθj,其中i為R中的域,j為S中的域,θ含義同前。則可以將R、S在域i,j上的θ連接記為:

R |×| S

iθj

在θ連接中如果θ為"=",就稱此連接為等值連接,否則稱為不等值連接;如θ為"<"時稱為小于連接;如θ為">"時稱為大于連接。

自然連接(natural join)是一種特殊的等值連接,它滿足下面的條件:

①兩關系間有公共域;

②通過公共域的等值進行連接。

設有關系R、S,R有域A1,A2,…,An,S有域B1,B2,…,Bm,并且,Ai1,Ai2,…,Aij,與B1,B2,…,Bj分別為相同域,此時它們自然連接可記為:

R|×|S

自然連接的含義可用下式表示:

R|×|S=πA1,A2,……An,Bj+1,……Bm(σAi1=B1^Ai2=B2^…^Aij=,Bj (R×S))

疑難解答:連接與自然連接的不同之處在什么?

答:一般的連接操作是從行的角度進行運算,但自然連接還需要取消重復列,所以是同時從行和列的角度進行運算。

4.4數據庫設計與管理

考點10? 數據庫設計概述

>>>考試鏈接:

考點10在筆試考試中出現的機率為30%,主要是以選擇題的形式出現,分值為2分,此考點為識記內容,讀者還應識記數據庫設計的前4個階段以及它們相應的任務。

數據庫設計中有兩種方法,面向數據的方法和面向過程的方法:

面向數據的方法是以信息需求為主,兼顧處理需求;面向過程的方法是以處理需求為主,兼顧信息需求。由于數據在系統中穩定性高,數據已成為系統的核心,因此面向數據的設計方法已成為主流。

數據庫設計目前一般采用生命周期法,即將整個數據庫應用系統的開發分解成目標獨立的若干階段。它們是:需求分析階段、概念設計階段、邏輯設計階段、物理設計階段、編碼階段、測試階段、運行階段和進一步修改階段。在數據庫設計中采用前4個階段。

疑難解答:數據庫設計的前4個階段的成果分別是什么?

答:數據庫設計中一般采用前4個階段,它們的成果分別是需求說明書、概念數據模型、邏輯數據模型和數據庫內模式。

4.5例題詳解

一、選擇題

【例1】對于數據庫系統,負責定義數據庫內容,決定存儲結構和存取策略及安全授權等工作的是_______。(考點1)

A)應用程序員?????????????? B)用戶

C)數據庫管理員???????????? D)數據庫管理系統的軟件設計員

解析:數據庫管理員(簡稱DBA),具有如下的職能:設計、定義數據庫系統;幫助用戶使用數據庫系統;監督與控制數據庫系統的使用和運行;改進和重組數據庫系統;轉儲和恢復數據庫;重構數據庫。所以,定義數據庫內容,決定存儲結構和存取策略及安全授權等是數據庫管理員(DBA)的職責。

答案:C)

【例2】在數據庫管理技術的發展過程中,經歷了人工管理階段、文件系統階段和數據庫系統階段。在這幾個階段中,數據獨立性最高的是_______。(考點2)

A)數據庫系統?????????????? B)文件系統

C)人工管理???????????????? D)數據項管理

解析:在人工管理階段,數據無法共享,冗余度大,不獨立,完全依賴于程序。在文件系統階段,數據共享性差,冗余度大,獨立性也較差。所以B)選項和C)選項均是錯誤的。

答案:A)

【例3】在數據庫系統中,當總體邏輯結構改變時,通過改變_______,使局部邏輯結構不變,從而使建立在局部邏輯結構之上的應用程序也保持不變,稱之為數據和程序的邏輯獨立性。(考點3)

A)應用程序???????????? B)邏輯結構和物理結構之間的映射

C)存儲結構???????????? D)局部邏輯結構到總體邏輯結構的映射

解析:模式描述的是數據的全局邏輯結構,外模式描述的是數據的局部邏輯結構。當模式改變時,由數據庫管理員對外模式/模式映射做相應改變,可以使外模式保持不變。應用程序是依據數據的外模式編寫的,從而應用程序也不必改變。保證了數據與程序的邏輯獨立性,即數據的邏輯獨立性。

答案:D)

【例4】數據庫系統依靠_______支持數據的獨立性。(考點4)

A)具有封裝機制

B)定義完整性約束條件

C)模式分級,各級模式之間的映射

D)DDL語言和DML語言互相獨立

解析:。數據庫的三級模式結構指數據庫系統由外模式、模式和內模式3級構成。數據庫管理系統在這3級模式之間提供了兩層映射:外模式/模式映射,模式/內模式映射。這兩層映射保證了數據庫系統中的數據能夠具有較高的邏輯獨立性和物理獨立性。

答案:C)

【例5】將E-R圖轉換到關系模式時,實體與聯系都可以表示成_______。(考點6)

A) 屬性??????????????? B) 關系

C) 鍵????????????????? D) 域

解析:E-R圖由實體、實體的屬性和實體之間的聯系3個要素組成,關系模型的邏輯結構是一組關系模式的集合,將E-R圖轉換為關系模型:將實體、實體的屬性和實體之間的聯系轉化為關系模式。

答案:B)

【例6用樹形結構來表示實體之間聯系的模型稱為_______。(考點7)

A)關系模型???????????? B)層次模型

C)網狀模型???????????? D)數據模型

解析:滿足下面兩個條件的基本層次聯系的集合為層次模型:

(1)有且只有一個結點沒有雙親結點,這個結點稱為根結點;

(2)根以外的其它結點有且僅有一個雙親結點。

層次模型的特點:

(1)結點的雙親是惟一的;

(2)只能直接處理一對多的實體聯系;

(3)每個記錄類型定義一個排序字段,也稱為碼字段;

(4)任何記錄值只有按其路徑查看時,才能顯出它的全部意義;

(5)沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在。

答案:B)

【例7】對數據庫中的數據可以進行查詢、插入、刪除、修改(更新),這是因為數據庫管理系統提供了_______。(考點8

A 數據定義功能??????????????? B 數據操縱功能

C 數據維護功能??????????????? D 數據控制功能

解析:數據庫管理系統包括如下功能:

(1)數據定義功能:DBMS提供數據定義語言(DDL),用戶可以通過它方便地對數據庫中的數據對象進行定義;

(2)數據操縱功能:DBMS還提供數據操作語言(DML),用戶可以通過它操縱數據,實現對數據庫的基本操作,如查詢、插入、刪除和修改;

(3)數據庫的運行管理:數據庫在建立、運用和維護時由數據庫管理系統統一管理,統一控制以保證數據的安全性、完整性、多用戶對數據的并發使用及發生故障后的系統恢復;

(4)數據庫的建立和維護功能:它包括數據庫初始數據的輸入、轉換功能,數據庫的轉儲、恢復功能,數據庫的重組、功能和性能監視等等。

答案:B)

【例8】設關系R和關系S的屬性元數分別是3和4,關系T是R與S的笛卡兒積,即T=R×S,則關系T的屬性元數是_______(考點9)

A) 7???????????????????????????? B) 9

C) 12?????????????????????????? D) 16

解析:笛卡兒積的定義是設關系R和S的元數分別是r和s,R和S的笛卡兒積是一個(r+s)元屬性的集合,每一個元組的前r個分量來自R的一個元組,后s個分量來自s的一個元組。所以關系T的屬性元數是3+4=7。

答案:A)

【例9】下述_______不屬于數據庫設計的內容。(考點10)

A) 數據庫管理系統????????????? B) 數據庫概念結構

C) 數據庫邏輯結構????????????? D) 數據庫物理結構

解析:數據庫設計是確定系統所需要的數據庫結構。數據庫設計包括概念設計、邏輯設計和建立數據庫(又稱物理設計)。

答案:A)

二、填空題

【例1】一個數據庫的數據模型至少應該包括以下3個組成部分,_______、數據操作和數據的完整性約束條件。(考點5)

解析:數據模型是嚴格定義的一組概念的集合。這些概念精確地描述了系統的靜態特性、動態特性和完整性約束條件。因此,數據模型通常由數據結構、數據操作和完整性約束3部分組成。其中,數據結構是對系統靜態特性的描述,數據操作是對系統動態特性的描述,數據的完整性約束用以限定符合數據模型的數據庫狀態以及狀態的變化,以保證數據的正確性、有效性和相容性。

答案:數據結構

【例2】在關系數據模型中,二維表的列稱為屬性,二維表的行稱為_____。(考點8)

解析:一個關系是一張二維表。表中的行稱為元組,一行對應一個元組,一個元組對應存儲在文件中的一個記錄值。

答案:元組

?

另有本人整理的【真題21套】計算機二級公共基礎知識選擇題真題【含解析】來幫助大家提高自己,最后祝大家都取得好成績?~

?

資料整理不易,覺得有用的話請一鍵三連~?~建議收藏啊~

總結

以上是生活随笔為你收集整理的【超详细!】【超全面!】计算机二级公共基础知识考点整理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。