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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

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

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

目錄

第一章 數(shù)據(jù)結構與算法

1.1算法

考點1? 算法的基本概念

考點2? 算法復雜度

1.2數(shù)據(jù)結構的基本概念

考點3? 數(shù)據(jù)結構的定義

考點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 例題詳解

第四章 數(shù)據(jù)庫設計基礎

4.1數(shù)據(jù)庫系統(tǒng)的基本概念

考點1? 數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)

考點2? 數(shù)據(jù)庫系統(tǒng)的發(fā)展

考點3? 數(shù)據(jù)庫系統(tǒng)的基本特點

考點4? 數(shù)據(jù)庫系統(tǒng)的內部結構體系

4.2數(shù)據(jù)模型

考點5? 數(shù)據(jù)模型的基本概念

考點6? E-R模型

考點7? 層次模型

考點8? 關系模型

4.3關系代數(shù)

考點9? 關系代數(shù)

4.4數(shù)據(jù)庫設計與管理

考點10? 數(shù)據(jù)庫設計概述

4.5例題詳解


第一章 數(shù)據(jù)結構與算法

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

詳細重點學習知識點:

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

2.數(shù)據(jù)結構的定義、數(shù)據(jù)邏輯結構及物理結構的定義

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

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

5.二分查找法

6.冒泡排序法

1.1算法

考點1? 算法的基本概念

>>>考試鏈接:

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

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

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

2.算法的基本要素:

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

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

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

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

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

考點2? 算法復雜度

>>>考試鏈接:

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

1.算法的時間復雜度

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

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

算法的工作量=f(n)

2.算法的空間復雜度

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

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

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

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

1.2數(shù)據(jù)結構的基本概念

考點3? 數(shù)據(jù)結構的定義

>>>考試鏈接:

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

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

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

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

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

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

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

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

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

B=(D,R)

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

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

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

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

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

>>>考試鏈接:

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

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

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

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

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

疑難解答:空的數(shù)據(jù)結構是線性結構還是非線性結構?

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

1.3棧及線性鏈表

考點5? 棧及其基本運算

>>>考試鏈接:

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

1.棧的基本概念

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

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

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

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

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

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

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

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

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

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

>>>考試鏈接:

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

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

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

(1)線性鏈表

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

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

(2)帶鏈的棧

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

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

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

1.4樹與二叉樹

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

>>>考試鏈接:

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

誤區(qū)警示:

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

1、樹的基本概念

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

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

2、二叉樹及其基本性質

(1)二叉樹的定義

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

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

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

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

(2)二叉樹的基本性質

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

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

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

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

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

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

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

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

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

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

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

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

性質6:設完全二叉樹共有n個結點。如果從根結點開始,按層次(每一層從左到右)用自然數(shù)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分,讀者應該熟練掌握各種遍歷的具體算法,能由兩種遍歷的結果推導另一種遍歷的結果。

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

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

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

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

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

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

1.5查找技術

考點9? 順序查找

>>>考試鏈接:

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

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

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

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

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

考點10? 二分法查找

>>>考試鏈接:

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

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

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

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

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

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

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

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

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

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

1.6排序技術

考點11? 交換類排序法

>>>考試鏈接:

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

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

(1)冒泡排序法

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

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

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

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

(2)快速排序法

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

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

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

1.7 例題詳解

一、選擇題

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

A)問題的規(guī)模?????????????? B)待處理的數(shù)據(jù)的初態(tài)

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

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

答案:D

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

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

C)緊湊結構和非緊湊結構???????? D)動態(tài)結構和靜態(tài)結構

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

答案:B

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

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

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

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

答案:D

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

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

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

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

答案:A

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

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

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

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

答案:D

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

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

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

答案:B

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

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

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

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

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

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

答案:B

二、填空題

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

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

答案:算法

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

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

答案:線性結構

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

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

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

答案:8

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

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

答案:順序存儲結構

?

第二章 程序設計基礎

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

詳細重點學習知識點:

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

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

2.1結構化程序設計

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

>>>考試鏈接:

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

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

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

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

2.2面向對象的程序設計

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

>>>考試鏈接:

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

誤區(qū)警示:

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

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

(1)對象

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

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

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

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

(2)類和實例

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

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

(3)消息

消息是實例之間傳遞的信息,它請求對象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。

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

(4)繼承

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

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

(5)多態(tài)性

對象根據(jù)所接收的消息而做出動作,同樣的消息被不同的對象接收時可導致完全不同的行動,該現(xiàn)象稱為多態(tài)性。

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

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

2.3 例題詳解

一、選擇題

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

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

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

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

答案:C

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

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

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

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

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

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

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

4)限制使用goto語句。

答案:A

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

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

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

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

答案:A

二、填空題

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

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

答案:繼承

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

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

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

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

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

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

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

答案:標識惟一性

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

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

答案:多態(tài)性

?

第三章 軟件工程基礎

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

詳細重點學習知識點:

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

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

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

4.軟件調試的任務

?

3.1軟件工程基本概念

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

>>>考試鏈接:

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

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

(1)機器可執(zhí)行的程序和數(shù)據(jù);

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

軟件的特點:

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

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

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

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

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

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

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

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

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

>>>考試鏈接:

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

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

圖3-1軟件生命周期

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

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

3.2結構化設計方法

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

>>>考試鏈接:

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

誤區(qū)警示:

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

1.軟件設計的基礎

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

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

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

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

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

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

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

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

2.軟件設計的基本原理

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

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

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

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

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

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

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

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

考點4? 詳細設計

>>>考試鏈接:

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

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

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

(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在筆試考試中,是一個經(jīng)常考查的內容,在筆試考試中出現(xiàn)的幾率為70%,主要是以選擇題的形式出現(xiàn),分值為2分,此考點為理解內容,讀者應該理解測試是為了發(fā)現(xiàn)錯誤。

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

(1)軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;

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

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

考點6? 軟件測試的實施

>>>考試鏈接:

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

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

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

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

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

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

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

3.4軟件的調試

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

>>>考試鏈接:

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

誤區(qū)警示:

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

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

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

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

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

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

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

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

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

(2)修改錯誤原則

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

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

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

3.5 例題詳解

一、選擇題

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

A)軟件是一種物理實體

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

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

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

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

答案:B

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

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

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

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

答案:A

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

A)結構設計、數(shù)據(jù)設計、接口設計、程序設計

B)結構設計、數(shù)據(jù)設計、接口設計、過程設計

C)結構設計、數(shù)據(jù)設計、文檔設計、過程設計

D)結構設計、數(shù)據(jù)設計、文檔設計、程序設計

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

答案:B

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

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

C)發(fā)現(xiàn)程序中的錯誤???????????? D)改正程序中的錯誤

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

答案:C

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

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

C)驗收測試???????????????? D)系統(tǒng)測試

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

答案:B

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

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

C)發(fā)現(xiàn)錯誤???????????????? D)以上都不是

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

答案:B

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

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

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

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

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

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

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

答案:A

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

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

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

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

D)以上3個都是

解析:修改錯誤原則:

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

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

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

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

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

答案:D

二、填空題

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

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

答案:軟件表示

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

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

答案:模塊化

?

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

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

答案:數(shù)據(jù)存儲

?

第四章 數(shù)據(jù)庫設計基礎

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

詳細重點學習知識點:

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

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

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

4.數(shù)據(jù)庫設計生命周期法的4個階段

?

4.1數(shù)據(jù)庫系統(tǒng)的基本概念

考點1? 數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)

>>>考試鏈接:

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

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

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

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

為完成數(shù)據(jù)庫管理系統(tǒng)的功能,數(shù)據(jù)庫管理系統(tǒng)提供相應的數(shù)據(jù)語言:數(shù)據(jù)定義語言、數(shù)據(jù)操縱語言、數(shù)據(jù)控制語言。

數(shù)據(jù)庫管理員的主要工作如下:數(shù)據(jù)庫設計、數(shù)據(jù)庫維護、改善系統(tǒng)性能,提高系統(tǒng)效率。

考點2? 數(shù)據(jù)庫系統(tǒng)的發(fā)展

>>>考試鏈接:

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

數(shù)據(jù)管理技術的發(fā)展經(jīng)歷了3個階段,見表4-1:

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

考點3? 數(shù)據(jù)庫系統(tǒng)的基本特點

>>>考試鏈接:

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

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

數(shù)據(jù)的獨立性一般分為物理獨立性與邏輯獨立性兩種。

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

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

數(shù)據(jù)統(tǒng)一管理與控制主要包括以下3個方面:數(shù)據(jù)的完整性檢查、數(shù)據(jù)的安全性保護和并發(fā)控制。

考點4? 數(shù)據(jù)庫系統(tǒng)的內部結構體系

>>>考試鏈接:

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

誤區(qū)警示:

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

1.數(shù)據(jù)統(tǒng)系統(tǒng)的3級模式

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

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

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

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

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

2.數(shù)據(jù)庫系統(tǒng)的兩級映射

兩級映射保證了數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的獨立性。

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

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

疑難解答:數(shù)據(jù)庫應用系統(tǒng)的結構是什么樣的?

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

4.2數(shù)據(jù)模型

考點5? 數(shù)據(jù)模型的基本概念

>>>考試鏈接:

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

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

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

考點6? E-R模型

>>>考試鏈接:

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

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

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

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

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

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

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

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

2.E-R模型的圖示法

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

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

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

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

考點7? 層次模型

>>>考試鏈接:

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

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

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

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

考點8? 關系模型

>>>考試鏈接:

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

誤區(qū)警示:

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

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

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

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

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

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

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

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

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

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

關系操縱:數(shù)據(jù)查詢、數(shù)據(jù)刪除、數(shù)據(jù)插入、數(shù)據(jù)修改。

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

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

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

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

4.3關系代數(shù)

考點9? 關系代數(shù)

>>>考試鏈接:

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

誤區(qū)警示:

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

1.關系模型的基本操作

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

其中查詢包含如下運算:

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

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

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

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

2.關系代數(shù)中的擴充運算

(1)交運算:關系R與S經(jīng)交運算后所得到的關系是由那些既在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數(shù)據(jù)庫設計與管理

考點10? 數(shù)據(jù)庫設計概述

>>>考試鏈接:

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

數(shù)據(jù)庫設計中有兩種方法,面向數(shù)據(jù)的方法和面向過程的方法:

面向數(shù)據(jù)的方法是以信息需求為主,兼顧處理需求;面向過程的方法是以處理需求為主,兼顧信息需求。由于數(shù)據(jù)在系統(tǒng)中穩(wěn)定性高,數(shù)據(jù)已成為系統(tǒng)的核心,因此面向數(shù)據(jù)的設計方法已成為主流。

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

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

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

4.5例題詳解

一、選擇題

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

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

C)數(shù)據(jù)庫管理員???????????? D)數(shù)據(jù)庫管理系統(tǒng)的軟件設計員

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

答案:C)

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

A)數(shù)據(jù)庫系統(tǒng)?????????????? B)文件系統(tǒng)

C)人工管理???????????????? D)數(shù)據(jù)項管理

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

答案:A)

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

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

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

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

答案:D)

【例4】數(shù)據(jù)庫系統(tǒng)依靠_______支持數(shù)據(jù)的獨立性。(考點4)

A)具有封裝機制

B)定義完整性約束條件

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

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

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

答案:C)

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

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

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

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

答案:B)

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

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

C)網(wǎng)狀模型???????????? D)數(shù)據(jù)模型

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

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

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

層次模型的特點:

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

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

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

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

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

答案:B)

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

A 數(shù)據(jù)定義功能??????????????? B 數(shù)據(jù)操縱功能

C 數(shù)據(jù)維護功能??????????????? D 數(shù)據(jù)控制功能

解析:數(shù)據(jù)庫管理系統(tǒng)包括如下功能:

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

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

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

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

答案:B)

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

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

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

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

答案:A)

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

A) 數(shù)據(jù)庫管理系統(tǒng)????????????? B) 數(shù)據(jù)庫概念結構

C) 數(shù)據(jù)庫邏輯結構????????????? D) 數(shù)據(jù)庫物理結構

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

答案:A)

二、填空題

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

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

答案:數(shù)據(jù)結構

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

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

答案:元組

?

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

?

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

總結

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

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