計算機(jī)二級公共基礎(chǔ)知識_第1頁
計算機(jī)二級公共基礎(chǔ)知識_第2頁
計算機(jī)二級公共基礎(chǔ)知識_第3頁
計算機(jī)二級公共基礎(chǔ)知識_第4頁
計算機(jī)二級公共基礎(chǔ)知識_第5頁
已閱讀5頁,還剩115頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計算機(jī)等級考試公共基礎(chǔ)知識考試說明考試大綱第一頁,共一百二十頁。數(shù)據(jù)結(jié)構(gòu)與算法數(shù)據(jù)庫設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)軟件工程基礎(chǔ)公共基礎(chǔ)知識第二頁,共一百二十頁。第一章數(shù)據(jù)結(jié)構(gòu)與算法1.1算法算法:是指解題方案的準(zhǔn)確而完整的描述。算法不等于程序,也不等計算機(jī)方法,程序的編制不可能優(yōu)于算法的設(shè)計。算法的基本特征:是一組嚴(yán)謹(jǐn)?shù)囟x運(yùn)算順序的規(guī)則,每一個規(guī)則都是有效的,是明確的,此順序?qū)⒃谟邢薜拇螖?shù)下終止。特征包括:(1)可行性;(2)確定性,算法中每一步驟都必須有明確定義,不充許有模棱兩可的解釋,不允許有多義性;(3)有窮性,算法必須能在有限的時間內(nèi)做完,即能在執(zhí)行有限個步驟后終止,包括合理的執(zhí)行時間的含義;(4)輸入:一個算法有0個或多個輸入,以刻畫運(yùn)算對象的初始情況;(5)輸出:一個算法有一個或多個輸出,以反映對輸入數(shù)據(jù)加工后的結(jié)果。第三頁,共一百二十頁。1.1算法算法的基本要素:一是對數(shù)據(jù)對象的運(yùn)算和操作;二是算法的控制結(jié)構(gòu)。指令系統(tǒng):一個計算機(jī)系統(tǒng)能執(zhí)行的所有指令的集合?;具\(yùn)算和操作包括:算術(shù)運(yùn)算、邏輯運(yùn)算、關(guān)系運(yùn)算、數(shù)據(jù)傳輸。算法的控制結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。算法基本設(shè)計方法:列舉法、歸納法、遞推、遞歸、減斗遞推技術(shù)、回溯法。算法復(fù)雜度:算法時間復(fù)雜度和算法空間復(fù)雜度。算法時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量。算法空間復(fù)雜度是指執(zhí)行這個算法所需要的內(nèi)存空間。第四頁,共一百二十頁。1.2數(shù)據(jù)結(jié)構(gòu)的基本基本概念數(shù)據(jù)結(jié)構(gòu)研究的三個方面:(1)數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu);(2)在對數(shù)據(jù)進(jìn)行處理時,各數(shù)據(jù)元素在計算機(jī)中的存儲關(guān)系,即數(shù)據(jù)的存儲結(jié)構(gòu);(3)對各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算。數(shù)據(jù)結(jié)構(gòu)是指相互有關(guān)聯(lián)的數(shù)據(jù)元素的集合。第五頁,共一百二十頁。1.2數(shù)據(jù)結(jié)構(gòu)的基本基本概念數(shù)據(jù)的邏輯結(jié)構(gòu)包含: (1)表示數(shù)據(jù)元素的信息;(2)表示各數(shù)據(jù)元素之間的前后件關(guān)系。數(shù)據(jù)的存儲結(jié)構(gòu)有順序、鏈接、索引等。線性結(jié)構(gòu)條件:(1)有且只有一個根結(jié)點(diǎn);(2)每一個結(jié)點(diǎn)最多有一個前件,也最多有一個后件。非線性結(jié)構(gòu):不滿足線性結(jié)構(gòu)條件的數(shù)據(jù)結(jié)構(gòu)。第六頁,共一百二十頁。兩種最基本的存儲結(jié)構(gòu)順序存儲(數(shù)組)第七頁,共一百二十頁。兩種最基本的存儲結(jié)構(gòu)鏈表不是順序存儲,用指針聯(lián)系單向鏈表,雙向鏈表效率高單向鏈表雙向鏈表

第八頁,共一百二十頁。棧與隊列棧與隊列相同點(diǎn):都是線性結(jié)構(gòu)不同點(diǎn):先進(jìn)先出,后進(jìn)先出棧隊列

第九頁,共一百二十頁。循環(huán)隊列為什么需要循環(huán)隊列?計算循環(huán)隊列長度用一個固定大小為m的數(shù)組來實現(xiàn),

那么隊列中元素個數(shù)=(rear-front+m)%m第十頁,共一百二十頁。棧典型應(yīng)用逆序輸出10進(jìn)制轉(zhuǎn)換2進(jìn)制第十一頁,共一百二十頁。用戶名:jsj密碼:無第十二頁,共一百二十頁。非線性結(jié)構(gòu)根結(jié)點(diǎn),葉子結(jié)點(diǎn)度、深度、結(jié)點(diǎn)數(shù)滿二叉樹,完全二叉樹

第十三頁,共一百二十頁。樹在樹結(jié)構(gòu)中,一個結(jié)點(diǎn)所擁有的后件的個數(shù)稱為該結(jié)點(diǎn)的度所有結(jié)點(diǎn)中最大的度稱為樹的度。樹的最大層次稱為樹的深度。第十四頁,共一百二十頁。非線性結(jié)構(gòu)

樹 二叉樹

第十五頁,共一百二十頁。二叉樹定義:二叉樹是另一種樹形結(jié)構(gòu)。它與樹形結(jié)構(gòu)的區(qū)別是:(1)每個結(jié)點(diǎn)最多有兩棵子樹;(2)子樹有左右之分。

第十六頁,共一百二十頁。二叉樹的5種形態(tài):?圖5-7(a)(b)(c)(d)(e)第十七頁,共一百二十頁。完全二叉樹與滿二叉樹完全二叉樹是指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值,在最后一層上只缺少右邊的若干結(jié)點(diǎn)。在最后一層上與滿二叉樹相應(yīng)層次編號為一一對應(yīng),則稱這棵二叉樹為完全二叉樹。第十八頁,共一百二十頁。樹的形態(tài)(a)(g)(h)(f)(e)(d)(c)(b)AABABABBACBEDABCABCFigure7-6Acollectionofbinarytrees第十九頁,共一百二十頁。二叉樹的基本性質(zhì):(1)在二叉樹的第k層上,最多有2k-1(k≥1)個結(jié)點(diǎn);(2)深度為m的二叉樹最多有2m-1個結(jié)點(diǎn);(3)度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個;(4)具有n個結(jié)點(diǎn)的二叉樹,其深度至少為[log2n]+1,其中[log2n]表示取log2n的整數(shù)部分;(5)具有n個結(jié)點(diǎn)的完全二叉樹的深度為[log2n]+1;第二十頁,共一百二十頁。二叉樹的基本性質(zhì):(6)設(shè)完全二叉樹共有n個結(jié)點(diǎn)。如果從根結(jié)點(diǎn)開始,按層序(每一層從左到右)用自然數(shù)1,2,….n給結(jié)點(diǎn)進(jìn)行編號(k=1,2….n),有以下結(jié)論:①若k=1,則該結(jié)點(diǎn)為根結(jié)點(diǎn),它沒有父結(jié)點(diǎn);若k>1,則該結(jié)點(diǎn)的父結(jié)點(diǎn)編號為INT(k/2);②若2k≤n,則編號為k的結(jié)點(diǎn)的左子結(jié)點(diǎn)編號為2k;否則該結(jié)點(diǎn)無左子結(jié)點(diǎn)(也無右子結(jié)點(diǎn));③若2k+1≤n,則編號為k的結(jié)點(diǎn)的右子結(jié)點(diǎn)編號為2k+1;否則該結(jié)點(diǎn)無右子結(jié)點(diǎn)。滿二叉樹是指除最后一層外,每一層上的所有結(jié)點(diǎn)有兩個子結(jié)點(diǎn),則k層上有2k-1個結(jié)點(diǎn)深度為m的滿二叉樹有2m-1個結(jié)點(diǎn)。第二十一頁,共一百二十頁。樹的遍歷123123123LeftsubtreeRightsubtree(a)先序遍歷(b)中序遍歷(c)后序遍歷第二十二頁,共一百二十頁。二叉樹的遍歷:(1)前序遍歷(DLR),首先訪問根結(jié)點(diǎn),然后前序遍歷左子樹,最后前序遍歷右子樹;(2)中序遍歷(LDR),首先中序遍歷左子樹,然后訪問根結(jié)點(diǎn),最后中序遍歷右子樹;(3)后序遍歷(LRD)首先后序遍歷左子樹,然后后序遍歷右子樹,最后訪問根結(jié)點(diǎn)。第二十三頁,共一百二十頁。G

HD

E

FB

CA先序序列: ABDGCEFH 中序序列: DGBAECHF 后序序列: GDBEHFCA

第二十四頁,共一百二十頁。1.7查找技術(shù)順序查找的使用情況:(1)線性表為無序表;(2)表采用鏈?zhǔn)酱鎯Y(jié)構(gòu)。二分法查找只適用于順序存儲的有序表,對于長度為n的有序線性表,最壞情況只需比較log2n次。第二十五頁,共一百二十頁。1.8排序技術(shù)排序是指將一個無序序列整理成按值非遞減順序排列的有序序列。交換類排序法:(1)冒泡排序法,需要比較的次數(shù)為n(n-1)/2;(2)快速排序法需要比較的次數(shù)為n(n-1)/2。插入類排序法:(1)簡單插入排序法,最壞情況需要n(n-1)/2次比較;(2)希爾排序法,最壞情況需要O(n^1.5)次比較。選擇類排序法:(1)簡單選擇排序法,

最壞情況需要n(n-1)/2次比較;(2)堆排序法,最壞情況需要O(nlog2n)次比較。第二十六頁,共一百二十頁。排序平均情況下,快速排序速度是最快的最壞情況下堆排序法,需要O(nlog2n)次比較幾種簡單排序法,

最壞情況需要n(n-1)/2次比較;如簡單選擇,冒泡,簡單插入第二十七頁,共一百二十頁。

第二章程序設(shè)計基礎(chǔ)

2.1程序設(shè)計設(shè)計方法和風(fēng)格如何形成良好的程序設(shè)計風(fēng)格1、源程序文檔化;2、數(shù)據(jù)說明的方法;3、語句的結(jié)構(gòu);

4、輸入和輸出。注釋分序言性注釋和功能性注釋,語句結(jié)構(gòu)清晰第一、效率第二。第二十八頁,共一百二十頁。2.2結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化程序設(shè)計方法的四條原則是:1.自頂向下;2.逐步求精;3.模塊化;4.限制使用goto語句。結(jié)構(gòu)化程序的基本結(jié)構(gòu)和特點(diǎn):(1)順序結(jié)構(gòu):一種簡單的程序設(shè)計,最基本、最常用的結(jié)構(gòu);(2)選擇結(jié)構(gòu):又稱分支結(jié)構(gòu),包括簡單選擇和多分支選擇結(jié)構(gòu),可根據(jù)條件,判斷應(yīng)該選擇哪一條分支來執(zhí)行相應(yīng)的語句序列;

(3)重復(fù)結(jié)構(gòu):又稱循環(huán)結(jié)構(gòu),可根據(jù)給定條件,判斷是否需要重復(fù)執(zhí)行某一相同程序段。第二十九頁,共一百二十頁。2.3面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計:以60年代末挪威奧斯陸大學(xué)和挪威計算機(jī)中心研制的SIMULA語言為標(biāo)志。面向?qū)ο蠓椒ǖ膬?yōu)點(diǎn):(1)與人類習(xí)慣的思維方法一致;(2)穩(wěn)定性好;(3)可重用性好;(4)易于開發(fā)大型軟件產(chǎn)品;(5)可維護(hù)性好。第三十頁,共一百二十頁。對象對象是面向?qū)ο蠓椒ㄖ凶罨镜母拍?,可以用來表示客觀世界中的任何實體,對象是實體的抽象。面向?qū)ο蟮某绦蛟O(shè)計方法中的對象是系統(tǒng)中用來描述客觀事物的一個實體,是構(gòu)成系統(tǒng)的一個基本單位,由一組表示其靜態(tài)特征的屬性和它可執(zhí)行的一組操作組成。屬性即對象所包含的信息,操作描述了對象執(zhí)行的功能,操作也稱為方法或服務(wù)。第三十一頁,共一百二十頁。對象的基本特點(diǎn):(1)標(biāo)識惟一性;(2)分類性;(3)多態(tài)性;(4)封裝性;(5)模塊獨(dú)立性好第三十二頁,共一百二十頁。對象的基本概念類是指具有共同屬性、共同方法的對象的集合。所以類是對象的抽象,對象是對應(yīng)類的一個實例。消息是一個實例與另一個實例之間傳遞的信息。消息的組成包括(1)接收消息的對象的名稱;(2)消息標(biāo)識符,也稱消息名;(3)零個或多個參數(shù)。繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義他們。繼承分單繼承和多重繼承。單繼承指一個類只允許有一個父類,多重繼承指一個類允許有多個父類。多態(tài)性是指同樣的消息被不同的對象接受時可導(dǎo)致完全不同的行動的現(xiàn)象。第三十三頁,共一百二十頁。第三章軟件工程基礎(chǔ)3.1軟件工程基本概念計算機(jī)軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。軟件的特點(diǎn)包括:(1)軟件是一種邏輯實體;(2)軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程;(3)軟件在運(yùn)行、使用期間不存在磨損、老化問題;(4)軟件的開發(fā)、運(yùn)行對計算機(jī)系統(tǒng)具有依賴性,受計算機(jī)系統(tǒng)的限制,這導(dǎo)致了軟件移植的問題;(5)軟件復(fù)雜性高,成本昂貴;(6)軟件開發(fā)涉及諸多的社會因素。第三十四頁,共一百二十頁。軟件工程軟件按功能分為應(yīng)用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件)。軟件危機(jī)主要表現(xiàn)在成本、質(zhì)量、生產(chǎn)率等問題。軟件工程是應(yīng)用于計算機(jī)軟件的定義、開發(fā)和維護(hù)的一整套方法、工具、文檔、實踐標(biāo)準(zhǔn)和工序。軟件工程包括3個要素:方法、工具和過程。第三十五頁,共一百二十頁。軟件工程過程軟件工程過程是把軟件轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動,包含4種基本活動:(1)P--軟件規(guī)格說明;(2)D--軟件開發(fā);(3)C--軟件確認(rèn);(4)A--軟件演進(jìn)。第三十六頁,共一百二十頁。軟件周期軟件周期:軟件產(chǎn)品從提出、實現(xiàn)、使用維護(hù)到停止使用退役的過程。軟件生命周期三個階段:軟件定義、軟件開發(fā)、運(yùn)行維護(hù),主要活動階段是:(1)可行性研究與計劃制定;(2)需求分析;(3)軟件設(shè)計;(4)軟件實現(xiàn);(5)軟件測試;(6)運(yùn)行和維護(hù)。第三十七頁,共一百二十頁。軟件工程相關(guān)概念軟件工程的目標(biāo)和與原則:目標(biāo):在給定成本、進(jìn)度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品?;灸繕?biāo):付出較低的開發(fā)成本;達(dá)到要求的軟件功能;取得較好的軟件性能;開發(fā)軟件易于移植;需要較低的費(fèi)用;能按時完成開發(fā),及時交付使用?;驹瓌t:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性第三十八頁,共一百二十頁。軟件工程相關(guān)概念軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括:軟件開發(fā)技術(shù)和軟件工程管理。軟件開發(fā)技術(shù)包括:軟件開發(fā)方法學(xué)、開發(fā)過程、開發(fā)工具和軟件工程環(huán)境。軟件工程管理包括:軟件管理學(xué)、軟件工程經(jīng)濟(jì)學(xué)、軟件心理學(xué)等內(nèi)容。軟件管理學(xué)包括人員組織、進(jìn)度安排、質(zhì)量保證、配置管理、項目計劃等。軟件工程原則包括抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。第三十九頁,共一百二十頁。3.2結(jié)構(gòu)化分析方法結(jié)構(gòu)化方法的核心和基礎(chǔ)是結(jié)構(gòu)化程序設(shè)計理論。需求分析方法有(1)結(jié)構(gòu)化需求分析方法;(2)面向?qū)ο蟮姆治龅姆椒ā?/p>

從需求分析建立的模型的特性來分:靜態(tài)分析和動態(tài)分析。結(jié)構(gòu)化分析方法的實質(zhì):著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。結(jié)構(gòu)化分析的常用工具(1)數(shù)據(jù)流圖;

(2)數(shù)據(jù)字典;

(3)判定樹;

(4)判定表。第四十頁,共一百二十頁。結(jié)構(gòu)化相關(guān)概念數(shù)據(jù)流圖:描述數(shù)據(jù)處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統(tǒng)功能建模。數(shù)據(jù)字典:對所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個有組織的列表,以及精確的、嚴(yán)格的定義,使得用戶和系統(tǒng)分析員對于輸入、輸出、存儲成分和中間計算結(jié)果有共同的理解。判定樹:從問題定義的文字描述中分清哪些是判定的條件,哪些是判定的結(jié)論,根據(jù)描述材料中的連接詞找出判定條件之間的從屬關(guān)系、并列關(guān)系、選擇關(guān)系,根據(jù)它們構(gòu)造判定樹。判定表:與判定樹相似,當(dāng)數(shù)據(jù)流圖中的加工要依賴于多個邏輯條件的取值,即完成該加工的一組動作是由于某一組條件取值的組合而引發(fā)的,使用判定表描述比較適宜。數(shù)據(jù)字典是結(jié)構(gòu)化分析的核心。第四十一頁,共一百二十頁。軟件需求規(guī)格說明書的特點(diǎn):(1)正確性;(2)無岐義性;(3)完整性;(4)可驗證性;(5)一致性;(6)可理解性;(7)可追蹤性。第四十二頁,共一百二十頁。3.3結(jié)構(gòu)化設(shè)計方法軟件設(shè)計的基本目標(biāo)是用比較抽象概括的方式確定目標(biāo)系統(tǒng)如何完成預(yù)定的任務(wù),軟件設(shè)計是確定系統(tǒng)的物理模型。軟件設(shè)計是開發(fā)階段最重要的步驟,是將需求準(zhǔn)確地轉(zhuǎn)化為完整的軟件產(chǎn)品或系統(tǒng)的唯一途徑。從技術(shù)觀點(diǎn)來看,軟件設(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)換成軟件的過程描述。第四十三頁,共一百二十頁。結(jié)構(gòu)化設(shè)計從工程管理角度來看:概要設(shè)計和詳細(xì)設(shè)計。軟件設(shè)計的一般過程:軟件設(shè)計是一個迭代的過程;先進(jìn)行高層次的結(jié)構(gòu)設(shè)計;后進(jìn)行低層次的過程設(shè)計;穿插進(jìn)行數(shù)據(jù)設(shè)計和接口設(shè)計。衡量軟件模塊獨(dú)立性使用耦合性和內(nèi)聚性兩個定性的度量標(biāo)準(zhǔn)。在程序結(jié)構(gòu)中各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。優(yōu)秀軟件應(yīng)高內(nèi)聚,低耦合。第四十四頁,共一百二十頁。軟件概要設(shè)計的基本任務(wù)是:(1)設(shè)計軟件系統(tǒng)結(jié)構(gòu);

(2)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計;(3)編寫概要設(shè)計文檔;

(4)概要設(shè)計文檔評審。第四十五頁,共一百二十頁。數(shù)據(jù)流圖模塊用一個矩形表示,箭頭表示模塊間的調(diào)用關(guān)系。

在結(jié)構(gòu)圖中還可以用帶注釋的箭頭表示模塊調(diào)用過程中來回傳遞的信息。還可用帶實心圓的箭頭表示傳遞的是控制信息,空心圓箭心表示傳遞的是數(shù)據(jù)。結(jié)構(gòu)圖的基本形式:基本形式、順序形式、重復(fù)形式、選擇形式。結(jié)構(gòu)圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和協(xié)調(diào)模塊。典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。變換型系統(tǒng)結(jié)構(gòu)圖由輸入、中心變換、輸出三部分組成。第四十六頁,共一百二十頁。詳細(xì)設(shè)計事務(wù)型數(shù)據(jù)流的特點(diǎn)是:接受一項事務(wù),根據(jù)事務(wù)處理的特點(diǎn)和性質(zhì),選擇分派一個適當(dāng)?shù)奶幚韱卧缓蠼o出結(jié)果。詳細(xì)設(shè)計:是為軟件結(jié)構(gòu)圖中的每一個模塊確定實現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。常見的過程設(shè)計工具有:圖形工具(程序流程圖)、表格工具(判定表)、語言工具(PDL)。第四十七頁,共一百二十頁。3.4軟件測試軟件測試定義:使用人工或自動手段來運(yùn)行或測定某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實際結(jié)果之間的差別。軟件測試的目的:發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。軟件測試方法:靜態(tài)測試和動態(tài)測試。第四十八頁,共一百二十頁。3.4軟件測試靜態(tài)測試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量。不實際運(yùn)行軟件,主要通過人工進(jìn)行。動態(tài)測試:是基本計算機(jī)的測試,主要包括白盒測試方法和黑盒測試方法。白盒測試:在程序內(nèi)部進(jìn)行,主要用于完成軟件內(nèi)部操作的驗證。主要方法有邏輯覆蓋、基本基路徑測試。

黑盒測試:主要診斷功能不對或遺漏、界面錯誤、數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯誤、性能錯誤、初始化和終止條件錯,用于軟件確認(rèn)。主要方法有等價類劃分法、邊界值分析法、錯誤推測法、因果圖等。軟件測試過程一般按4個步驟進(jìn)行:單元測試、集成測試、驗收測試(確認(rèn)測試)和系統(tǒng)測試。第四十九頁,共一百二十頁。3.5程序的調(diào)試程序調(diào)試的任務(wù)是診斷和改正程序中的錯誤,主要在開發(fā)階段進(jìn)行。程序調(diào)試的基本步驟:(1)錯誤定位;(2)修改設(shè)計和代碼,以排除錯誤;(3)進(jìn)行回歸測試,防止引進(jìn)新的錯誤。軟件調(diào)試可分表靜態(tài)調(diào)試和動態(tài)調(diào)試。靜態(tài)調(diào)試主要是指通過人的思維來分析源程序代碼和排錯,是主要的設(shè)計手段,而動態(tài)調(diào)試是輔助靜態(tài)調(diào)試。主要調(diào)試方法有:(1)強(qiáng)行排錯法;(2)回溯法;(3)原因排除法。第五十頁,共一百二十頁。第四章數(shù)據(jù)庫設(shè)計基礎(chǔ)

4.1數(shù)據(jù)庫系統(tǒng)的基本概念數(shù)據(jù):實際上就是描述事物的符號記錄。數(shù)據(jù)庫:是數(shù)據(jù)的集合,具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,并可被各個應(yīng)用程序共享。數(shù)據(jù)庫管理系統(tǒng):一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等,是數(shù)據(jù)庫的核心。數(shù)據(jù)庫系統(tǒng)第五十一頁,共一百二十頁。信息與數(shù)據(jù)解釋數(shù)據(jù)是信息的符號表示或載體,信息則是數(shù)據(jù)的內(nèi)涵數(shù)據(jù)有其特定的含義,稱為語義信息數(shù)據(jù)數(shù)據(jù)信息數(shù)據(jù)和關(guān)于數(shù)據(jù)的解釋是不可分的,數(shù)據(jù)解釋是指對數(shù)據(jù)含義的說明特征抽取語義解釋第五十二頁,共一百二十頁。數(shù)據(jù)庫(DataBase)存放數(shù)據(jù)的倉庫數(shù)據(jù)庫的標(biāo)準(zhǔn)定義所謂數(shù)據(jù)庫是長期存儲在計算機(jī)內(nèi)的、有組織、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存,具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可以為各種用戶共享計算機(jī)存儲設(shè)備數(shù)據(jù)按一定格式存放可共享冗余度獨(dú)立性易擴(kuò)展性第五十三頁,共一百二十頁。數(shù)據(jù)庫特點(diǎn)數(shù)據(jù)的共享性:數(shù)據(jù)庫中的數(shù)據(jù)能為多個用戶服務(wù)。數(shù)據(jù)的獨(dú)立性:用戶的應(yīng)用程序與數(shù)據(jù)的邏輯組織和物理存儲方式均無關(guān)。數(shù)據(jù)的完整性:數(shù)據(jù)庫中的數(shù)據(jù)在操作和維護(hù)過程中可以保持正確無誤。數(shù)據(jù)庫中的數(shù)據(jù)冗余(重復(fù))少。第五十四頁,共一百二十頁。數(shù)據(jù)庫管理系統(tǒng)DBMS的主要功能

數(shù)據(jù)定義功能:提供數(shù)據(jù)定義語言(DDL)

定義數(shù)據(jù)庫中的數(shù)據(jù)對象數(shù)據(jù)操縱功能:提供數(shù)據(jù)操縱語言(DML)

操縱數(shù)據(jù)實現(xiàn)對數(shù)據(jù)庫的基本操作

(查詢、插入、刪除和修改)第五十五頁,共一百二十頁。DBMS的主要功能數(shù)據(jù)操縱功能:提供數(shù)據(jù)操縱語言(DML)數(shù)據(jù)庫的運(yùn)行管理

保證數(shù)據(jù)的安全性、完整性、 多用戶對數(shù)據(jù)的并發(fā)使用 發(fā)生故障后的系統(tǒng)恢復(fù)數(shù)據(jù)庫的建立和維護(hù)功能(實用程序)

數(shù)據(jù)庫數(shù)據(jù)批量裝載 數(shù)據(jù)庫轉(zhuǎn)儲 介質(zhì)故障恢復(fù) 數(shù)據(jù)庫的重組織 性能監(jiān)視等第五十六頁,共一百二十頁。數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)DBMS產(chǎn)品種類很多,它們支持不同的數(shù)據(jù)模型,使用不同的數(shù)據(jù)庫語言,建立在不同的操作系統(tǒng)之上,數(shù)據(jù)的存儲結(jié)構(gòu)也各不相同,但它們的體系結(jié)構(gòu)上通常具有共同的特征:采用三級模式結(jié)構(gòu):外模式(用戶模式)、模式(全局邏輯結(jié)構(gòu))和內(nèi)模式(存儲模式)第五十七頁,共一百二十頁。數(shù)據(jù)庫的二級映象功能數(shù)據(jù)庫系統(tǒng)的三級模式是對數(shù)據(jù)的三個抽象級別,它使用戶能邏輯地抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計算機(jī)內(nèi)部的存儲方式,把數(shù)據(jù)的具體組織交給DBMS管理。為了能夠在內(nèi)部實現(xiàn)這三個抽象層次的聯(lián)系和轉(zhuǎn)換,DBMS在三級模式之間提供了二級映象功能。第五十八頁,共一百二十頁。數(shù)據(jù)庫模式映象外模式/模式映象定義某一個外模式和模式之間的對應(yīng)關(guān)系,映象定義通常包含在各外模式中當(dāng)模式改變時,修改外模式/模式映象,使外模式保持不變,從而應(yīng)用程序可以保持不變,稱為數(shù)據(jù)的邏輯獨(dú)立性模式/內(nèi)模式映象定義數(shù)據(jù)邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系存儲結(jié)構(gòu)改變時,修改模式/內(nèi)模式映象,使模式保持不變,從而應(yīng)用程序可以保持不變,稱為數(shù)據(jù)的物理獨(dú)立性第五十九頁,共一百二十頁。數(shù)據(jù)庫系統(tǒng)構(gòu)成

數(shù)據(jù)庫應(yīng)用系統(tǒng)應(yīng)用開發(fā)工具

操作系統(tǒng)

數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理員用戶用戶用戶第六十頁,共一百二十頁。數(shù)據(jù)管理的發(fā)展階段隨著計算機(jī)硬件和軟件的發(fā)展,數(shù)據(jù)管理經(jīng)歷了三個發(fā)展階段。人工管理文件系統(tǒng)數(shù)據(jù)庫系統(tǒng)第六十一頁,共一百二十頁。數(shù)據(jù)模型的分類信息世界概念化形式化概念數(shù)據(jù)模型結(jié)構(gòu)數(shù)據(jù)模型現(xiàn)實世界計算機(jī)世界面向用戶面向計算機(jī)第六十二頁,共一百二十頁。概念模型按用戶的觀點(diǎn)來對數(shù)據(jù)和信息建?,F(xiàn)實世界到機(jī)器世界的一個中間層次是數(shù)據(jù)庫設(shè)計人員和用戶直接進(jìn)行交流的語言概念模型特點(diǎn)具有較強(qiáng)的語義表達(dá)能力能夠方便、直接地表達(dá)應(yīng)用中的各種語義知識簡單、清晰、易于用戶理解第六十三頁,共一百二十頁。E-R圖中的基本概念實體(Entity)屬性(Attribute)碼(Key)域(Domain)實體型(EntityType)實體集(EntitySet)第六十四頁,共一百二十頁?;靖拍睿瓕嶓w(Entity)客觀存在并且可以相互區(qū)別的“事物”稱為實體。實體可以是可觸及的對象,如一個學(xué)生,一本書,一輛汽車;也可以是抽象的事件,如學(xué)生的一次選課、老師與系的工作關(guān)系等。第六十五頁,共一百二十頁。基本概念-屬性(Attribute)實體的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。如學(xué)生實體有學(xué)號、姓名、年齡、性別、系等方面的屬性。屬性有“型”和“值”之分,“型”即為屬性名,如姓名、年齡、性別是屬性的型;“值”即為屬性的具體內(nèi)容,如(990001,張三,20,男,信息系)這些屬性值的集合表示了一個學(xué)生實體。第六十六頁,共一百二十頁。聯(lián)系的分類實體型之間的聯(lián)系一對一聯(lián)系(1:1)一對多聯(lián)系(1:n)多對多(m:n)第六十七頁,共一百二十頁。一對一聯(lián)系(1:1)實體集A中的一個實體至多與實體集B中的一個實體相對應(yīng),反之亦然,則稱實體集A與實體集B為一對一的聯(lián)系。記作1:1。如:班級與班長,觀眾與座位,病人與床位。第六十八頁,共一百二十頁。一對多聯(lián)系(1:n)實體集A中的一個實體與實體集B中的多個實體相對應(yīng),反之,實體集B中的一個實體至多與實體集A中的一個實體相對應(yīng)。記作1:n。如:班級與學(xué)生、公司與職員、省與市。第六十九頁,共一百二十頁。多對多(m:n)實體集A中的一個實體與實體集B中的多個實體相對應(yīng),反之,實體集B中的一個實體與實體集A中的多個實體相對應(yīng)。記作(m:n)。如:教師與學(xué)生,學(xué)生與課程,工廠與產(chǎn)品。第七十頁,共一百二十頁。學(xué)生選修課程學(xué)生課程選修姓名學(xué)號系別課程名先修課學(xué)分成績用矩形表示實體集,在框內(nèi)寫上實體名用橢圓表示實體的屬性用無向邊把實體與其屬性連接起來用菱形表示實體間的聯(lián)系將參與聯(lián)系的實體用線段連接mn聯(lián)系的數(shù)量第七十一頁,共一百二十頁。數(shù)據(jù)模型數(shù)據(jù)模型的好壞,直接影響數(shù)據(jù)庫的性能。數(shù)據(jù)模型的選擇,是設(shè)計數(shù)據(jù)庫的一項首要任務(wù)。目前最常用的數(shù)據(jù)模型有層次模型(HierarchicalModel)網(wǎng)狀模型(NetworkModel)關(guān)系模型(RelationalModel)。第七十二頁,共一百二十頁。關(guān)系數(shù)據(jù)模型用二維表格數(shù)據(jù)(即集合論中的關(guān)系)來表示實體和實體間聯(lián)系的模型叫關(guān)系數(shù)據(jù)模型。一般在二維表中存放兩類數(shù)據(jù):實體本身的數(shù)據(jù)和實體間的聯(lián)系。第七十三頁,共一百二十頁。學(xué)生基本信息學(xué)號姓名出生日期家庭地址03002華克1983-7-16海淀區(qū)02001李默1983-6-19西城區(qū)01002李揚(yáng)1982-9-10海淀區(qū)04002龍翔1982-10-7崇文區(qū)02002齊霖1982-10-12門頭溝區(qū)第七十四頁,共一百二十頁。關(guān)系數(shù)據(jù)模型的基本概念關(guān)系(Relation):一個關(guān)系對應(yīng)通常說的一張表。元組(Tuple):表中的一行即為一個元組。屬性(Attribute):表中的一列即為一個屬性,每個屬性都有一個屬性名。主碼(Key):表中的某個最小屬性組,它可以唯一確定一個元組。外鍵(ForeignKey):如果關(guān)系中某個屬性或?qū)傩越M合并非關(guān)鍵字,但卻是另一個關(guān)系的主關(guān)鍵字,則稱此屬性或?qū)傩越M合為本關(guān)系的外部關(guān)鍵字。域(Domain):屬性的取值范圍。分量:元組中的一個屬性值。第七十五頁,共一百二十頁。員工情況表部門編號部門名稱員工編號員工姓名性別住址D001總經(jīng)理辦E001錢達(dá)理男東風(fēng)路78號D001總經(jīng)理辦E002東方牧男五一北路25號D002市場部E003郭文斌男公司集體宿舍D003銷售部E004肖海燕女公司集體宿舍D004倉儲部E005張明華男韶山北路55號屬性名元組關(guān)鍵字外關(guān)鍵字第七十六頁,共一百二十頁。部門設(shè)置情況表部門編號部門名稱D001總經(jīng)理辦D002市場部D003銷售部D004倉儲部元組關(guān)鍵字第七十七頁,共一百二十頁。關(guān)系代數(shù)運(yùn)算符集合運(yùn)算符:∩、∪、-、×專門關(guān)系運(yùn)算符:σ(選擇)、π(投影)、(連接)、÷(除法)比較運(yùn)算符:<、≤、>、≥、=、≠邏輯運(yùn)算符:,,第七十八頁,共一百二十頁。關(guān)系代數(shù)運(yùn)算分類傳統(tǒng)的集合運(yùn)算:把關(guān)系看成元組的集合,以元組作為集合中元素來進(jìn)行運(yùn)算,其運(yùn)算是從關(guān)系的“水平”方向即行的角度進(jìn)行的。包括并、差、交和笛卡爾積等運(yùn)算。專門的關(guān)系運(yùn)算:不僅涉及行運(yùn)算,也涉及列運(yùn)算,這種運(yùn)算是為數(shù)據(jù)庫的應(yīng)用而引進(jìn)的特殊運(yùn)算。包括選擇、投影、連接和除法等運(yùn)算。第七十九頁,共一百二十頁。1.并設(shè)A、B同為n元關(guān)系,則A、B的并也是一個n元關(guān)系,記作A∪B。2.交設(shè)A、B同為n元關(guān)系,則A、B的交也是一個n元關(guān)系,記作A∩B。A∩B包含了所有同屬于A、B的元組。3.差設(shè)A、B同為n元關(guān)系,則A、B的差也是一個n元關(guān)系,記作A-B。A-B包含了所有屬于A但不屬于B的元組。

傳統(tǒng)的集合運(yùn)算第八十頁,共一百二十頁。4.集合的笛卡爾乘積設(shè)A1、A2、…、An為任意集合,A1、A2、…、An的笛卡爾乘積記做:A1×A2×…×An,并且定義D=A1×A2×…×An={(a1,a2,…,an)|ai∈Ai,i=1,2,…,n},其中(a1,a2,…,an)是一個元組,它的每個元素ai取自對應(yīng)的集合Ai。例如,設(shè)A={1,2},B={a,b},則A×B={(1,a),(1,b),(2,a),(2,b)}。關(guān)系是一個集合,其組成元素是元組而不是組成元組的元素。

第八十一頁,共一百二十頁。交運(yùn)算定義所有同時出現(xiàn)在兩個關(guān)系中的元組集合RS={r|rRrS}交運(yùn)算可以通過差運(yùn)算來重寫RS=R(RS)RS第八十二頁,共一百二十頁。交運(yùn)算ABC367257723443RABC345723SABC723R∩S第八十三頁,共一百二十頁。并運(yùn)算定義所有至少出現(xiàn)在兩個關(guān)系中之一的元組集合RS={r|rRrS}RS兩個關(guān)系R和S若進(jìn)行并運(yùn)算,則它們必須是相容的:關(guān)系R和S必須是同元的,即它們的屬性數(shù)目必須相同對i,R的第i個屬性的域必須和S的第i個屬性的域相同第八十四頁,共一百二十頁。并運(yùn)算ABC367257723443RABC345723SABC367257723443345R∪S第八十五頁,共一百二十頁。差運(yùn)算定義所有出現(xiàn)在一個關(guān)系而不在另一關(guān)系中的元組集合RS={r|rRrS}R和S必須是相容的RS第八十六頁,共一百二十頁。差運(yùn)算ABC367257723443RABC345723SABC367257443R-SABC345S-R第八十七頁,共一百二十頁。廣義笛卡爾積運(yùn)算定義兩個關(guān)系R,S,其度分別為n,m,則它們的笛卡爾積是所有這樣的元組集合:元組的前n個分量是R中的一個元組,后m個分量是S中的一個元組RS的度為R與S的度之和,RS的元組個數(shù)為R和S的元組個數(shù)的乘積RS={rs|rRsS}第八十八頁,共一百二十頁。廣義笛卡爾積運(yùn)算AB12rCD10102010EaabbsAB11112222CD1010201010102010Eaabbaabbrx

s第八十九頁,共一百二十頁。專門的關(guān)系運(yùn)算:連接投影選擇除第九十頁,共一百二十頁。示例數(shù)據(jù)庫stdent

SnoSnameSsexSageSdept95001李勇男20CS95002劉晨女19IS95003王敏女18MA95004張立男19IS第九十一頁,共一百二十頁。示例數(shù)據(jù)庫Course(課程)CnoCnameCpnoCcredit1數(shù)據(jù)庫542數(shù)學(xué)

33信息系統(tǒng)144操作系統(tǒng)635數(shù)據(jù)結(jié)構(gòu)746數(shù)據(jù)處理27PASCAL語言64第九十二頁,共一百二十頁。示例數(shù)據(jù)庫SC

SnoCnoGrade9500119295001285950013889500229095002380第九十三頁,共一百二十頁。選擇運(yùn)算在關(guān)系R中選擇滿足給定條件的元組F(R)={t|tR^F(t)=‘真’}F是選擇的條件,tR,F(xiàn)(t)要么為真,要么為假關(guān)系簡單說就是根據(jù)條件選擇內(nèi)容F的形式:由邏輯運(yùn)算符(,,)連接關(guān)系表達(dá)式而成關(guān)系表達(dá)式:XYX,Y是屬性名、常量、或簡單函數(shù)是比較算符,{,,,,,≠}第九十四頁,共一百二十頁。選擇運(yùn)算(列數(shù)目不變)ABC367257723443RA<5(R)

ABC367257443A<5C=7(R)

ABC367257第九十五頁,共一百二十頁。選擇運(yùn)算示例找年齡不小于20的男學(xué)生SnoSnameSsexSageSdept95001李勇男20CSSnoSnameSsexSageSdept95001李勇男20CS95002劉晨女19IS95003王敏女18MA95004張立男19IS查找結(jié)果

AGE≥20∧SEX=‘男’(Student)第九十六頁,共一百二十頁。選擇運(yùn)算示例查找信息系(IS系)的全體學(xué)生Sdept=’IS’(Student)SnoSnameSsexSageSdept95001李勇男20CS95002劉晨女19IS95003王敏女18MA95004張立男19IS查找結(jié)果

SnoSnameSsexSageSdept95002劉晨女19IS95004張立男19IS第九十七頁,共一百二十頁。投影從關(guān)系R中取若干列組成新的關(guān)系(從列的角度)A(R)={t[A]|tR},AR其中A為R的屬性列從關(guān)系R中選出若干屬性列組成新的關(guān)系投影的結(jié)果中要去掉相同的行cbcfedcbaCBABCbcef

R

B,C(R)第九十八頁,共一百二十頁。投影示例給出所有學(xué)生的姓名和年齡 SN,AGE(S)SnoSnameSsexSageSdept95001李勇男20CS95002劉晨女19IS95003王敏女18MA95004張立男19ISsnamesage李勇20劉晨19王敏18張立19第九十九頁,共一百二十頁。投影示例找95001號學(xué)生所選修的課程號C#(S#=001

(SC))SnoCnoGrade9500119295001285950013889500229095002380cno123第一百頁,共一百二十頁。連接連接操作是從兩個關(guān)系的廣義笛卡爾積中選擇屬性間滿足一定條件的元組。通常寫為:A,B為R和S上度數(shù)相等且可比的屬性列,為關(guān)系運(yùn)算符

ABRS=R.AS.B(RS)

第一百零一頁,共一百二十頁。連接(笛卡爾積的部分)987654321CBADE3162ABCDE123311236245662

RSB<D

R

S第一百零二頁,共一百二十頁。等值連接(條件相等)987654321CBADE3162ABCDE1233145662

RSC=D

R

S第一百零三頁,共一百二十頁。自然連接若R和S具有相同的屬性組(來自相同的域,表示相同的含義),且連接的運(yùn)算符θ為“=”,并且在連接的結(jié)果中去掉重復(fù)的屬性組,這種連接稱為自然連接。記為:當(dāng)R與S無相同屬性時,RS=R×SRS第一百零四頁,共一百二十頁。自然連接ABa1a1a2a2b1b2b3b4C56812rBb1b2b3b3b5E371022sa1a1a2a2b1b2b3b35688b1b2b3b337102ABCBE等值連接a1a1a2a2b1b2b3b3568837102ABCE自然連接第一百零五頁,共一百二十頁。等值連接當(dāng)θ為“=”的連接運(yùn)算為等值連接自然連接要求兩個關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉。當(dāng)兩個關(guān)系中沒有相同的屬性組時等同于笛卡爾積第一百零六頁,共一百二十頁。關(guān)系范式

所謂范式(NormalForm,NF)是指規(guī)范化的關(guān)系模式。由規(guī)范化程度不同,就產(chǎn)生了不同的范式。根據(jù)滿足條件的不同,經(jīng)常稱某一關(guān)系模式R為“第幾范式”。

從1971年起,E.F.Codd相繼提出了第一范式、第二范式、第三范式,Codd與Boyce合作提出了Boyce-Codd范式。在1976-1978年間,F(xiàn)agin、Delobe以及Zaniolo又定義了第四范式。到目前為止,已經(jīng)提出了第五范式。每種范式都規(guī)定了一些限制約束條件。第一百零七頁,共一百二十頁。

在任何一個關(guān)系數(shù)據(jù)庫中,第一范式(1NF)是對關(guān)系模式的基本要求,不滿足第一范式(1NF)的數(shù)據(jù)庫就不是關(guān)系數(shù)據(jù)庫定義:在關(guān)系模型中的每一個具體關(guān)系R中,如果每個屬性都是不可再分的,則稱R屬于第一范式(1NF),記作R∈1NF。

第一范式(1NF):數(shù)據(jù)庫表中的字段都是單一屬性的,不可再分。第一范式(1NF)第一百零八頁,共一百二十頁。第一范式(1NF)例如,如下的數(shù)據(jù)庫表是符合第一范式的:

字段1字段2字段3

字段4

第一百零九頁,共一百二十頁。第一范式(1NF)而這樣的數(shù)據(jù)庫表是不符合第一范式的:字段1字段2字段3字段4

字段3.1字段3.2

第一百一十頁,共一百二十頁。第一范式(1NF)例:如職工號,姓名,電話號碼組成一個表(一個人可能有一個辦公室電話和一個家里電話號碼)規(guī)范成為1NF總結(jié):不能有重復(fù)的列,列不可再分.不滿足第一范式條件的關(guān)系為非范式關(guān)系,在關(guān)系數(shù)據(jù)庫中,凡非范式關(guān)系必須要化成范式關(guān)系.第一百一十一頁,共一百二十頁。第二范式(2NF)第二范式(2NF)是在第一范式(1NF)的基礎(chǔ)上建立起來的,即滿足第二范式(2NF)必須先滿足第一范式(1NF)

。第二范式(2NF)說明:

要求實體的屬性完全依賴于主關(guān)鍵字。所謂完全依賴是指不能存在僅依賴主關(guān)鍵字一部分的屬性,如果存在,那么這個屬性和主關(guān)鍵字的這一部分應(yīng)該分離出來形成一個新的實體,新實體與原實體之間是一對多的關(guān)系定義:如果關(guān)系模式R∈1NF,且每一個非主屬性都完全依賴于主碼,則稱關(guān)系R是屬于第二范式的,記作R∈2NF第一百一十二頁,共一百二十頁。第二范式舉例假定選課關(guān)系表為SelectCourse(學(xué)號,姓名,年齡,課程名稱,成績,學(xué)分),關(guān)鍵字為組合關(guān)鍵字(學(xué)號,課程名稱),因為存在如下決定關(guān)系:

(學(xué)號,課程名稱)→(姓名,年齡,成績,學(xué)分)

這個數(shù)據(jù)庫表不滿足第二范式,因為存在如下決定關(guān)系:

(課程

溫馨提示

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

評論

0/150

提交評論