計算機(jī)理論13視頻講義_第1頁
計算機(jī)理論13視頻講義_第2頁
計算機(jī)理論13視頻講義_第3頁
計算機(jī)理論13視頻講義_第4頁
計算機(jī)理論13視頻講義_第5頁
已閱讀5頁,還剩112頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基礎(chǔ)精講班講義計算機(jī)理論主講:孫洪濤.5本講要點(diǎn)5授課內(nèi)容5第九章5第一節(jié) 數(shù)據(jù)庫系統(tǒng)概述51.1 數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)51.2 數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展71.3 數(shù)據(jù)庫管理技術(shù)新進(jìn)展91.4 數(shù)據(jù)庫系統(tǒng)的特點(diǎn)101.5 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)10第二節(jié) 數(shù)據(jù)模型122.1 數(shù)據(jù)描述122.2 數(shù)據(jù)模型14第二講17本講要點(diǎn)17授課內(nèi)容17.18關(guān)系模型18關(guān)系的完整性20關(guān)系規(guī)范化21關(guān)系代數(shù)21第三講29本講要點(diǎn)29授課內(nèi)容29第四節(jié) 數(shù)據(jù)庫設(shè)計291. 數(shù)據(jù)庫設(shè)計概述292. 概念模型與 E-R 方法313. 設(shè)計理論324. 數(shù)據(jù)庫設(shè)計步驟32第四講38本講要點(diǎn)38授課內(nèi)容

2、39第五節(jié) ACCESS 應(yīng)用395.1 Access 2003 簡介395.2 Access 中的數(shù)據(jù)425.3 函數(shù)45第1頁華圖公職課程:5.4 Access 的幫助系統(tǒng)47第五講47本講要點(diǎn)47授課內(nèi)容48第十章 數(shù)據(jù)結(jié)構(gòu)48第一節(jié)緒 論481.1 基本概念和術(shù)語481.2 算法:501.3 如何讀程序51第二節(jié)線性表512.1 線性表的定義:512.2 線性表的邏輯結(jié)構(gòu)522.3 線性表的. 532.4 結(jié)構(gòu)類型542.5 通過順序表實(shí)現(xiàn)線性表基本操作55第六講58本講要點(diǎn)58授課內(nèi)容58第二節(jié)線性表582.6 單鏈表582.7 雙向鏈表60棧和隊(duì)列613.1 棧613.2 隊(duì)列64

3、第七講67本講要點(diǎn)67授課內(nèi)容68第四節(jié) 串684.1 串和基本概念684.2 定長順序表示69第五節(jié) 數(shù)組705.1 數(shù)組的定義705.2 數(shù)組的順序表示和實(shí)現(xiàn)715.3 矩陣的壓縮. 71第八講73本講要點(diǎn)73授課內(nèi)容74第六節(jié) 樹和二叉樹746.1 樹的定義和基本術(shù)語746.2 二叉樹756.3 什么是遞歸調(diào)用?80第2頁華圖公職課程:第九講81本講要點(diǎn)81授課內(nèi)容81第七節(jié) 圖817.1 圖的定義和術(shù)語827.2 圖的結(jié)構(gòu)867.3 圖的遍歷887.4 圖的連通性89第十講90本講要點(diǎn)90授課內(nèi)容90第八節(jié) 查找908.1 基本概念908.2 靜態(tài)查找表順序表的查找918.3 動態(tài)查找

4、表94第十一講96本講要點(diǎn)96授課內(nèi)容96第九節(jié) 排序969.1 排序的基本概念969.2排序979.3 交換排序99第十二講100本講要點(diǎn)100授課內(nèi)容101第十一章 軟件工程101第一節(jié) 軟件工程概述1011.1 軟件. 1011.2 軟件工程的定義1011.3 軟件生命周期102第二節(jié) 軟件開發(fā)模型1032.1 軟件開發(fā)模型1032.2 瀑布模型1032.3 其他軟件開發(fā)模型104軟件質(zhì)量與項(xiàng)目管理1073.1 軟件度量1073.2 軟件質(zhì)量因素1073.3 軟件項(xiàng)目管理1083.4 軟件質(zhì)量保證的方法109第十三講109本講要點(diǎn)109第3頁華圖公職課程:授課內(nèi)容110第四節(jié) 需求分析1

5、104.1 什么是需求分析1104.2 需求分析階段的具體任務(wù)1104.3 需求分析的原則111第五節(jié) 軟件測試概述1125.1 軟件測試的定義:1125.2 軟件測試的原則1125.3 軟件測試的方法和步驟113第六節(jié) 軟件維護(hù)1146.1 軟件維護(hù)的定義1146.2 軟件維護(hù)的過程115第4頁華圖公職課程:第九章本講要點(diǎn)lllll數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)的特點(diǎn)和結(jié)構(gòu)數(shù)據(jù)描述數(shù)據(jù)模型授課內(nèi)容什么是數(shù)據(jù)庫?1.數(shù)據(jù)庫技術(shù)是最新的數(shù)據(jù)管理技術(shù),是計算機(jī)科學(xué)的一個重要分支。在計算機(jī)應(yīng)用的三大領(lǐng)域(科學(xué)計算,數(shù)據(jù)處理和過程控制)中,數(shù)據(jù)處理占約其中的 70%,

6、而數(shù)據(jù)庫技術(shù)就是作為一門數(shù)據(jù)處理技術(shù)發(fā)展起來的,是目前應(yīng)用最廣的技術(shù)之一。2.它已成為計算機(jī)信息系統(tǒng)的技術(shù)和重要基礎(chǔ)。隨著計算機(jī)應(yīng)用的普及和深入,數(shù)據(jù)庫技術(shù)變得越來越重要,而了解、掌握數(shù)據(jù)庫系統(tǒng)的基本概念和基礎(chǔ)技術(shù)是應(yīng)用數(shù)據(jù)庫技術(shù)的前提。第一節(jié) 數(shù)據(jù)庫系統(tǒng)概述1.在介紹數(shù)據(jù)庫的基本概念之前,這里先介紹一些數(shù)據(jù)庫最常用的術(shù)語和基本概念。學(xué)習(xí)數(shù)據(jù)庫系統(tǒng)相關(guān)的理論術(shù)語,是學(xué)習(xí)和掌握數(shù)據(jù)庫具體應(yīng)用的基礎(chǔ)和前提,掌握好這些基本概念對我們學(xué)習(xí)和使用數(shù)據(jù)庫管理系統(tǒng)有著十分重要的意義。1.1 數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)一數(shù)據(jù)(Data)數(shù)據(jù)是描述事物的符號,是數(shù)據(jù)庫中二數(shù)據(jù)庫(DataBase,

7、簡稱 DB)的基本對象。數(shù)據(jù)庫,顧名思義,就是存放數(shù)據(jù)的倉庫。只不過這個倉庫是在計算機(jī)一定的格式存放的。也就是說,數(shù)據(jù)庫是具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的據(jù)的集成,并可被各個應(yīng)用程序所共享。設(shè)備上,而且數(shù)據(jù)是按介質(zhì)內(nèi)的多種應(yīng)用數(shù)第5頁華圖公職課程:數(shù)據(jù)庫管理系統(tǒng):一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等,是數(shù)據(jù)庫系統(tǒng)的。它的主要功能包括以下幾個方面:1. 數(shù)據(jù)模式定義。2. 數(shù)據(jù)存取的物理構(gòu)建。3數(shù)據(jù)。4. 數(shù)據(jù)的完整性、安全性定義與檢查。5. 數(shù)據(jù)庫的并發(fā)控制與故障恢復(fù)。為完成其基本功能,數(shù)據(jù)庫管理系統(tǒng)提供相應(yīng)的數(shù)據(jù)語言,它們是:1數(shù)據(jù)定義語言(Data

8、Definition Language,簡稱 DDL)該語言負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建。2數(shù)據(jù)語言(Data Manipulation Language,簡稱 DML)該語言負(fù)責(zé)數(shù)據(jù)的,包括及增刪、改等操作。3數(shù)據(jù)控制語言(Data Control Language,簡稱 DCL)該語言負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。數(shù)據(jù)庫系統(tǒng)(DataBase System ,簡稱 DBS)數(shù)據(jù)庫系統(tǒng)是指安裝和使用了數(shù)據(jù)庫技術(shù)的計算機(jī)系統(tǒng),一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)和數(shù)據(jù)庫管理員(DataBase Administrator,簡稱DBA

9、)構(gòu)成。DBA 的職責(zé):1.2.3.4.5.6.數(shù)據(jù)庫安裝數(shù)據(jù)庫配置和管理 權(quán)限設(shè)置和安全管理和性能調(diào)節(jié)備份和恢復(fù)解決一般的問題第6頁華圖公職課程:操作系統(tǒng)數(shù)據(jù)庫數(shù)據(jù)庫系統(tǒng)(DataBase System ,簡稱 DBS)1.2 數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展隨著計算機(jī)軟件、硬件技術(shù)的發(fā)展,數(shù)據(jù)處理量的規(guī)模日益擴(kuò)大,數(shù)據(jù)處理的應(yīng)用需求越來越廣泛,數(shù)據(jù)管理技術(shù)的發(fā)展也不斷變遷,經(jīng)歷了從人工管理、文件系統(tǒng)、數(shù)據(jù)庫技術(shù) 3 個主要發(fā)展階段。數(shù)據(jù)庫技術(shù)在當(dāng)前網(wǎng)絡(luò)應(yīng)用環(huán)境下又有了新的進(jìn)展。人工管理階段(20 世紀(jì) 50 年代)1.20 世紀(jì) 50 年代中期以前,計算機(jī)主要用于科學(xué)計算。2.外部器只有紙帶、卡片

10、、磁帶,無像磁盤這樣的可以隨機(jī)、直接存取的外部設(shè)備。軟件的狀況是沒有操作系統(tǒng),沒有專門管理數(shù)據(jù)的軟件,數(shù)據(jù)由計算或處理它的程序自行攜帶。數(shù)據(jù)管理任務(wù),包括特點(diǎn):結(jié)構(gòu)、方法、輸入/輸出方式等完全由程序設(shè)計者負(fù)責(zé)。1.2.3.4.數(shù)據(jù)與程序不具有性,一組數(shù)據(jù)對應(yīng)一組程序。數(shù)據(jù)不能長期保存。一個程序中的數(shù)據(jù)無法被其他程序使用。程序之間存在大量重復(fù)數(shù)據(jù),數(shù)據(jù)冗余大。人工管理階段(20 世紀(jì) 50 年代)第7頁華圖公職課程:文件系統(tǒng)階段(20 世紀(jì) 60 年代)1.20 世紀(jì) 50 年代后期到 60 年代中期。計算機(jī)不僅用于科學(xué)計算,而且還用于大量的數(shù)據(jù)處理。直接設(shè)備,高級語言,操作系統(tǒng)。2.程序和數(shù)據(jù)

11、有一定的性,數(shù)據(jù)文件可以長期保存。3. 數(shù)據(jù)和程序相互依賴。數(shù)據(jù)文件是為滿足特定的業(yè)務(wù),或某部門的專門需要而設(shè)計,服務(wù)于某一特定的應(yīng)用程序。4. 同一數(shù)據(jù)項(xiàng)可能重復(fù)出現(xiàn)在多個文件中,數(shù)據(jù)冗余度大。5. 數(shù)據(jù)容易造成不一致。1.20 世紀(jì) 60 年代后期。計算機(jī)用于管理的規(guī)模更加龐大,應(yīng)用越來越廣泛。同時多種應(yīng)用、多種語言共享數(shù)據(jù)集合的要求越來越強(qiáng)烈。2.標(biāo)志:1968 年 IBM 的 IMS 是一個層次模型數(shù)據(jù)庫。1969 年美國數(shù)據(jù)系統(tǒng)語言公布的 DBTG報告,對研制開發(fā)網(wǎng)狀數(shù)據(jù)庫系統(tǒng)起到了推動作用。自 1970 年 IBM 公司的研究成果奠定了理論基礎(chǔ)。3.數(shù)據(jù)庫技術(shù)的主要目的:有效地管理

12、和大量的數(shù)據(jù),包括:提高數(shù)據(jù)的共享性,使多個能夠同時數(shù)據(jù)庫中的數(shù)據(jù);減少數(shù)據(jù)冗余,以提高數(shù)據(jù)的一致性和完整性;提高數(shù)據(jù)與程序的序的開發(fā)和維護(hù)代價。性,從而減少應(yīng)用程第8頁華圖公職課程:應(yīng)用程序n應(yīng)用程序n1.3 數(shù)據(jù)庫管理技術(shù)新進(jìn)展1.新型數(shù)據(jù)庫系統(tǒng)帶來了一個又一個數(shù)據(jù)庫技術(shù)發(fā)展的新潮,但對于中、小數(shù)據(jù)庫來說,由于很多高級的數(shù)據(jù)庫系統(tǒng)的專業(yè)性要求太強(qiáng),通用性受到一定的限制,在很大程度上推廣使用范圍也受到約束。2.而基于關(guān)系模型的系統(tǒng)功能的擴(kuò)展與改善,分布式數(shù)據(jù)庫、面向?qū)ο髷?shù)據(jù)庫、數(shù)據(jù)倉庫等數(shù)據(jù)庫技術(shù)的出現(xiàn),構(gòu)成了新一代數(shù)據(jù)庫系統(tǒng)的發(fā)展主流。分布式數(shù)據(jù)庫系統(tǒng)分布式數(shù)據(jù)庫是數(shù)據(jù)庫技術(shù)與網(wǎng)絡(luò)技術(shù)相結(jié)

13、合的產(chǎn)物。1.隨著傳統(tǒng)的數(shù)據(jù)庫技術(shù)日趨成熟、計算機(jī)網(wǎng)絡(luò)技術(shù)的飛速發(fā)展和應(yīng)用范圍的擴(kuò)充,數(shù)據(jù)庫應(yīng)用已經(jīng)普遍建立于計算機(jī)網(wǎng)絡(luò)之上。這時集中式數(shù)據(jù)庫系統(tǒng)表現(xiàn)出它的不足:數(shù)據(jù)按實(shí)際需要已在網(wǎng)絡(luò)上分布,再采用集中式處理,勢必造成通信開銷大;應(yīng)用程序集中在一臺計算機(jī)上運(yùn)行,一旦該計算機(jī)發(fā)生故障,則整個系統(tǒng)受到影響,可靠性不高;集中式處理引起系統(tǒng)的規(guī)模和配置都不夠靈活,系統(tǒng)的可擴(kuò)充性差。2.在這種形勢下,集中式數(shù)據(jù)庫的“集中計算”概念向“分布計算”概念發(fā)展。分布式數(shù)據(jù)庫系統(tǒng)有兩種:一種是物理上分布的,但邏輯上卻是集中的。另一種在物理上和邏輯上都是分布的,也就是所謂式分布數(shù)據(jù)庫系統(tǒng)。面向?qū)ο髷?shù)據(jù)庫系統(tǒng)1. 將

14、面向?qū)ο蠹夹g(shù)與數(shù)據(jù)庫技術(shù)結(jié)合產(chǎn)生出面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)。這是數(shù)據(jù)庫應(yīng)用發(fā)展的迫切需要,也是面向?qū)ο蠹夹g(shù)和數(shù)據(jù)庫技術(shù)發(fā)展的必然結(jié)果。2. 面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)必須支持面向?qū)ο蟮臄?shù)據(jù)模型,具有面向?qū)ο蟮奶匦浴R粋€面向?qū)ο蟮臄?shù)據(jù)模型是用面向?qū)ο蟮挠^點(diǎn)來描述現(xiàn)實(shí)世界實(shí)體(對象)的邏輯組織、對象之間的限制和等的模型。第9頁華圖公職課程:數(shù)據(jù)倉庫1.隨著客戶機(jī)服務(wù)器技術(shù)的成熟和并行數(shù)據(jù)庫的發(fā)展,信息處理技術(shù)的發(fā)展趨勢是從大量的事務(wù)型數(shù)據(jù)庫中抽取數(shù)據(jù),并將其、轉(zhuǎn)換為新的格式,即為決策目標(biāo)把數(shù)據(jù)聚合在一種特殊的格式中。隨著此過程的發(fā)展和完善,這種支持決策的、特殊的數(shù)據(jù)即被稱為數(shù)據(jù)倉庫(Data Warehou

15、se)。2.數(shù)據(jù)倉庫領(lǐng)域的著名學(xué)者 WHInmon 對數(shù)據(jù)倉庫的定義是:數(shù)據(jù)倉庫是支持管理決策過程的、面向主題的、集成的、穩(wěn)定的、隨時間變化的數(shù)據(jù)集合。1.4 數(shù)據(jù)庫系統(tǒng)的特點(diǎn)1.2.3.4.數(shù)據(jù)的集數(shù)據(jù)的高共享性與低冗余性數(shù)據(jù)性數(shù)據(jù)統(tǒng)一管理與控制1.5 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1. 數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)可以有多種不同的層次或不同的角度。2. 從數(shù)據(jù)庫管理系統(tǒng)的角度看,數(shù)據(jù)庫系統(tǒng)通常采用三級模式結(jié)構(gòu),這是數(shù)據(jù)庫管理系統(tǒng)內(nèi)部的體系結(jié)構(gòu)。3.從數(shù)據(jù)庫最終角度看,數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)分為單結(jié)構(gòu)、主從式結(jié)構(gòu)、分布式結(jié)構(gòu)、客戶服務(wù)器結(jié)構(gòu)(包括二層、三層或多層結(jié)構(gòu))等。這是數(shù)據(jù)庫系統(tǒng)外部的體系結(jié)構(gòu)。/1.5.1 數(shù)據(jù)庫系統(tǒng)

16、的三級模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)是指數(shù)據(jù)庫系統(tǒng)是由外模式、模式和內(nèi)模式三級構(gòu)成。第10頁華圖公職課程:模式/內(nèi)模式模式(Schema)1.模式也稱邏輯模式或概念模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有的公共數(shù)據(jù)視圖。它是數(shù)據(jù)庫系統(tǒng)模式結(jié)構(gòu)的中間層,不涉及數(shù)據(jù)的物理用程序,與所使用的應(yīng)用開發(fā)工具及高級程序設(shè)計語言無關(guān)。細(xì)節(jié)和硬件環(huán)境,與具體的應(yīng)2.實(shí)際上模式是數(shù)據(jù)庫數(shù)據(jù)在邏輯級上的視圖。一個數(shù)據(jù)庫只有一個模式。數(shù)據(jù)庫模式以某一種數(shù)據(jù)模型為基礎(chǔ),統(tǒng)一綜合地考慮了所有的需求,并將這些需求有機(jī)地結(jié)一個邏輯整體。外模式(External Schema)1.外模式也稱子模式或模式,它是

17、數(shù)據(jù)庫(包括應(yīng)用程序員和最終)看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫的數(shù)據(jù)視圖。是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。2.外模式通常是模式的子集。一個數(shù)據(jù)庫可以有多個外模式。由于它是各個的數(shù)據(jù)視圖,如果不同的在應(yīng)用需求、數(shù)據(jù)的方式、對數(shù)據(jù)的要求等方面存在差異,則他們的外模式描述就是不同的。即使對模式中同一數(shù)據(jù),在外模式中的結(jié)構(gòu)、類型、長度、級別等都可以不同。另一方面,同一外模式也可以為某一的多個應(yīng)用系統(tǒng)所使用,但一個應(yīng)用程序只能使用一個外模式。3.外模式是保證數(shù)據(jù)庫安全性的一個有力措施。每個只能看見和數(shù)據(jù)庫中的其余數(shù)據(jù)對他們來說是不可見的。所對應(yīng)的外模式中的數(shù)據(jù),內(nèi)模式(Intern

18、al Schema)1.內(nèi)模式也稱模式,它是數(shù)據(jù)物理結(jié)構(gòu)和結(jié)構(gòu)的描述。是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。例如,的方式是順序、按照 B 樹結(jié)構(gòu)還是按 hash 方法;索引按照什么方式組織;數(shù)據(jù)是否壓縮,是否加密;數(shù)據(jù)的結(jié)構(gòu)有何規(guī)定等。一個數(shù)據(jù)庫只有一個內(nèi)模式。2.數(shù)據(jù)模式給出了數(shù)據(jù)庫的數(shù)據(jù)框架結(jié)構(gòu),數(shù)據(jù)是數(shù)據(jù)庫中的真正的實(shí)體,但這些數(shù)據(jù)必須按框架所描述的結(jié)構(gòu)組織, 以概念模式為框架所組成的數(shù)據(jù)庫叫概念數(shù)據(jù)庫(Conceptual DataBase),以外模式為框架所組成的數(shù)據(jù)庫叫數(shù)據(jù)庫(Users Database),以內(nèi)模式為框架所組成的數(shù)據(jù)庫叫物理數(shù)據(jù)庫(Physical Database)。這

19、三種數(shù)據(jù)庫中只有物理數(shù)據(jù)庫是真實(shí)存在于計算機(jī)外存中,其他兩種數(shù)據(jù)庫并不真正存在于計算機(jī)中,而是通過兩種由物理數(shù)據(jù)庫而成。第11頁華圖公職課程:3.模式的三個級別層次反映了模式的三個不同環(huán)境以及它們的不同要求, 其中內(nèi)模式處于最底層,它反映了數(shù)據(jù)在計算機(jī)物理結(jié)構(gòu)中的實(shí)際形式,概念模型處于中層,它反映了設(shè)計者的數(shù)據(jù)全局邏輯要求,而外模式處于最外層,它反映了對數(shù)據(jù)的要求。1.5.2 數(shù)據(jù)庫的二級映像功能1. 數(shù)據(jù)庫系統(tǒng)的三級模式是對數(shù)據(jù)的三個抽象級別。它把數(shù)據(jù)的具體組織留給數(shù)據(jù)庫管理系統(tǒng)(DBMS)管理,使能邏輯地、抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計算機(jī)中的具體表示方式與存儲方式。2.而為了能夠在內(nèi)

20、部實(shí)現(xiàn)這三個抽象層次的和轉(zhuǎn)換,數(shù)據(jù)庫系統(tǒng)在這三級模式之間提供了兩層映像:外模式模式映像和模式內(nèi)模式映像。正是這兩層保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯性和物理性。外模式模式映像1. 模式描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu),外模式描述的是數(shù)據(jù)的局部邏輯結(jié)構(gòu)。對應(yīng)于同一個模式可以有任意多個外模式。對于每一個外模式,數(shù)據(jù)庫系統(tǒng)都有一個外模式模式映像,它定義了該外模式與模式之間的對應(yīng)關(guān)系。2. 當(dāng)模式改變時,由數(shù)據(jù)庫管理員對各個外模式模式映像作相應(yīng)改變,也可以使外模式保持不變,因?yàn)閼?yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序也不必修改,保證了數(shù)據(jù)與程序的邏輯性。模式內(nèi)模式映像1.模式內(nèi)模式映像定義了數(shù)

21、據(jù)全局邏輯結(jié)構(gòu)與物理結(jié)構(gòu)之間的對應(yīng)關(guān)系。當(dāng)數(shù)據(jù)庫的結(jié)構(gòu)改變時(例如換了另一個磁盤來該數(shù)據(jù)庫),由數(shù)據(jù)庫管理員對模式內(nèi)模式映像作相應(yīng)改變,可以使模式保持不變,從而保證了數(shù)據(jù)的物理性。1.5.3 數(shù)據(jù)庫系統(tǒng)的組成1.2.3.4.硬件環(huán)境軟件環(huán)境數(shù)據(jù)庫第二節(jié) 數(shù)據(jù)模型數(shù)據(jù)庫需要根據(jù)應(yīng)用系統(tǒng)中數(shù)據(jù)的性質(zhì)、內(nèi)在,按照管理的要求來設(shè)計和組織。數(shù)據(jù)模型就是從現(xiàn)實(shí)世界到世界的一個中間層。現(xiàn)實(shí)世界的事物反映到人的大腦,人們把這些事物抽象為一種既不依賴于具體的計算機(jī)系統(tǒng)又不為某一數(shù)據(jù)庫管理系統(tǒng)支持的概念模型,然后再把概念模型轉(zhuǎn)換為計算機(jī)上某一數(shù)據(jù)庫管理系統(tǒng)支持的數(shù)據(jù)模型。2.1 數(shù)據(jù)描述所謂數(shù)據(jù)描述,就是以數(shù)據(jù)符

22、號的形式,從滿足需求出發(fā),對客觀事物屬性和運(yùn)動狀態(tài)進(jìn)行描第12頁華圖公職課程:述。數(shù)據(jù)的轉(zhuǎn)換數(shù)據(jù)的描述既要符合客觀現(xiàn)實(shí),又要適應(yīng)數(shù)據(jù)庫原理與結(jié)構(gòu),同時也適應(yīng)計算機(jī)原理與結(jié)構(gòu)。進(jìn)一步說, 由于計算機(jī)不能夠直接處理現(xiàn)實(shí)世界中的具體事物,所以人們必須將客觀存在的具體事物進(jìn)行有效的描述與刻畫 ,轉(zhuǎn)換成計算機(jī)能夠處理的數(shù)據(jù),這一轉(zhuǎn)換過程可分為三個數(shù)據(jù)范疇: 現(xiàn)實(shí)世界、信息世界和計算機(jī)世界。從客觀現(xiàn)實(shí)到計算機(jī)的描述,數(shù)據(jù)的轉(zhuǎn)換過程。1. 現(xiàn)實(shí)世界為了某種需要,需將現(xiàn)實(shí)世界中的部分需求用數(shù)據(jù)庫實(shí)現(xiàn),這樣,我們所見到的是客觀世界中的劃定邊界的一個部分環(huán)境,它稱為現(xiàn)實(shí)世界。2. 信息世界通過抽象對現(xiàn)實(shí)世界進(jìn)行數(shù)

23、據(jù)庫級上的刻畫所構(gòu)成的邏輯模型叫信息世界。信息世界與數(shù)據(jù)庫的具體模型有關(guān),如層次、網(wǎng)狀、關(guān)系模型等。3. 計算機(jī)世界在信息世界基礎(chǔ)上致力于其在計算機(jī)物理機(jī)構(gòu)上的描述,從而形成的物理模型叫計算機(jī)世界。現(xiàn)實(shí)世界的要求只有在計算機(jī)世界中才能得到真正的物理實(shí)現(xiàn),而這種實(shí)現(xiàn)是通過信息世界逐步轉(zhuǎn)化得到的。實(shí)體描述現(xiàn)實(shí)世界中存在各種事物,事物之間存在著,而且這種是客觀存在的 ,是由事物本身的性質(zhì)所決定的。人們從現(xiàn)實(shí)世界抽象各種事物到信息世界(概念模型)時,通常采用實(shí)體來描述現(xiàn)實(shí)世界中具體的事物或事物之間的。實(shí)體客觀存在并可相互區(qū)別的事物稱為實(shí)體。實(shí)體可以是具體的人、事、物,也可以是抽象的概念或聯(lián)系。例如學(xué)生

24、、課程、教師都是屬于實(shí)際存在的事物,而學(xué)生選課就是比較抽象的事物,是由學(xué)生和課程之間的而產(chǎn)生的等等。實(shí)體的屬性描述實(shí)體的特性稱為屬性。一個實(shí)體可以由若干個屬性來刻畫,如一個學(xué)生實(shí)體有學(xué)號、姓名、性別、出生日期等方面的屬性。屬性有屬性名和屬性值,屬性的具體取值稱為屬性值。例如,對某一學(xué)生的“”屬性取值“女”,其中“”為屬性名,“女”為屬性值。實(shí)體集和實(shí)體型同類型的實(shí)體的集合稱為實(shí)體集。例如,對于“學(xué)生”實(shí)體來說,全體學(xué)生就是一個實(shí)體集。屬性的集合表示一個實(shí)體的類型,稱為實(shí)體型。例如,學(xué)生(學(xué)號,姓名,出生日期)就是第13頁華圖公職課程:現(xiàn)實(shí)世界實(shí)體間的的及分類現(xiàn)實(shí)世界中事物內(nèi)部以及事物之間是有的

25、,在概念模型中反映為實(shí)體內(nèi)部的和實(shí)體之間的。實(shí)體內(nèi)部的通常是指組成實(shí)體的各屬性之間的,而實(shí)體之間的通常是指不同實(shí)體集之間的。實(shí)體間的的及分類兩個實(shí)體之間的可分為如下三種類型:(1)一對一(1 :1)實(shí)體集 A 中的一個實(shí)體至多與實(shí)體集 B 中的一個實(shí)體相對應(yīng),反之亦然,則稱實(shí)體集 A 與實(shí)體集 B 之間為一對一的,記作 1 : 1。例如,一個學(xué)校只有一個校長,一個校長只能管理一個學(xué)校。(2)一對多(1:n)A 中的每一個實(shí)體,實(shí)體集 B 中有多個實(shí)體與之對應(yīng),反之,對于實(shí)體集 B 中如果對于實(shí)體集的每一個實(shí)體,實(shí)體集 A 中至多只有一個實(shí)體與之對應(yīng),則稱實(shí)體集 A 與實(shí)體集 B 之間為一對多聯(lián)

26、系,記為 1 : n。例如,學(xué)校的一個系有多個專業(yè),而一個專業(yè)只屬于一個系。(3)多對多(m : n)如果對于實(shí)體集 A 中的每一個實(shí)體,實(shí)體集 B 中有多個實(shí)體與之對應(yīng),反之,對于實(shí)體集的每一個實(shí)體,實(shí)體集 A 中也有多個實(shí)體與之對應(yīng),則稱實(shí)體集 A 與實(shí)體集 B 之間為多對多為 m : n。例如,一個學(xué)生可以選修多門課程,一門課程可以被多名學(xué)生選修。B 中,記2.2 數(shù)據(jù)模型信息是客觀事物在人們頭腦中的抽象反映。人們可以從現(xiàn)實(shí)世界中獲得各種各樣的信息,從而了解世界并且相互交流。但是信息的多樣化特性使得人們在描述和管理這些數(shù)據(jù)時往往力不從心,因此人們把表示事物的主要特征抽象地用一種形式化的描

27、述表示出來,模型方法就是這種抽象的一種表示。信息領(lǐng)域中采用的模型通常稱為數(shù)據(jù)模型。2.2.1 數(shù)據(jù)模型的概念1. 數(shù)據(jù)模型是從現(xiàn)實(shí)世界到世界的一個中間層次。現(xiàn)實(shí)世界的事物反映到人的大腦中,人們把這些事物抽象為一種既不依賴于具體的計算機(jī)系統(tǒng)又不依賴于具體的 DBMS 的概念模型,然后,再把該概念模型轉(zhuǎn)換為計算機(jī)中某個 DBMS 所支持的數(shù)據(jù)模型。2.數(shù)據(jù)模型是實(shí)現(xiàn)數(shù)據(jù)抽象的主要工具。它決定了數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)、數(shù)據(jù)定義語言和數(shù)據(jù)語言、數(shù)據(jù)庫設(shè)計方法、數(shù)據(jù)庫管理系統(tǒng)軟件的設(shè)計與實(shí)現(xiàn)。了解關(guān)于數(shù)據(jù)模型的基本概念是我們學(xué)習(xí)數(shù)據(jù)庫的基礎(chǔ)。2.2.2 數(shù)據(jù)模型的組成要素一般地講,數(shù)據(jù)模型是嚴(yán)格定義的概念的集

28、合,這些概念精確地描述系統(tǒng)的靜態(tài)特性、動態(tài)特性和完整性約束條件。因此,數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、和數(shù)據(jù)的完整性約束三部分組成。第14頁華圖公職課程:數(shù)據(jù)結(jié)構(gòu)1.數(shù)據(jù)結(jié)構(gòu)是研究在數(shù)據(jù)庫中的對象類型的集合,這些對象類型是數(shù)據(jù)庫的組成部分。數(shù)據(jù)模型中的數(shù)據(jù)結(jié)構(gòu)主要描述數(shù)據(jù)的類型、內(nèi)容、性質(zhì)以及數(shù)據(jù)間的等。2. 數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)模型的基礎(chǔ),與約束均建立在數(shù)據(jù)結(jié)構(gòu)上。不同數(shù)據(jù)結(jié)構(gòu)有不同的操作與約束,因此,一般數(shù)據(jù)模型的分類均以數(shù)據(jù)結(jié)構(gòu)的不同而分。3. 數(shù)據(jù)庫系統(tǒng)是按數(shù)據(jù)結(jié)構(gòu)的類型來組織數(shù)據(jù)的,因此數(shù)據(jù)庫系統(tǒng)通常按照數(shù)據(jù)結(jié)構(gòu)的類型來命名數(shù)據(jù)模型。如層次結(jié)構(gòu)、網(wǎng)狀結(jié)構(gòu)和關(guān)系結(jié)構(gòu)的模型分別命名為層次模型、網(wǎng)狀模型

29、和關(guān)系模型。是指對數(shù)據(jù)庫中各種對象的實(shí)例允許執(zhí)行的操作的集合,包括操作和有關(guān)的操作的規(guī)則。、刪除、修改、檢索、更新等操作,數(shù)據(jù)模型要定義這些操作的確切涵義、操作符號、操作規(guī)例如則以及實(shí)現(xiàn)操作的語言等。數(shù)據(jù)的完整性約束1.數(shù)據(jù)的約束條件是完整性規(guī)則的集合,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效和相容。數(shù)據(jù)模型中的數(shù)據(jù)及其都要遵循完整性規(guī)則的制約。2.另外,數(shù)據(jù)模型應(yīng)該提供定義完整性約束條件的機(jī)制以反映某一應(yīng)用所涉及的數(shù)據(jù)必須遵守的特定的語義約束條件。2.2.3數(shù)據(jù)模型的種類數(shù)據(jù)模型按不同的應(yīng)用層次分成三種模型,1.2.3.概念數(shù)據(jù)模型(Conceptual Dat

30、a Model) 邏輯數(shù)據(jù)模型(Logic Data Model)物理數(shù)據(jù)模型(Physical Data Model)概念數(shù)據(jù)模型1.概念數(shù)據(jù)模型簡稱概念模型,它是一種面向客觀世界、面向的模型;它與具體的數(shù)據(jù)庫管理系統(tǒng)無關(guān),與具體的計算機(jī)平臺無關(guān)。2.概念模型著重于對客觀世界復(fù)雜事物的結(jié)構(gòu)描述及它們之間的內(nèi)在的刻畫。概念模型是整個數(shù)據(jù)模型的基礎(chǔ)。目前, 較為有名的概念模型有 E-R 模型、擴(kuò)充的 E-R 模型、面向?qū)ο竽P图爸^詞模型等。邏輯數(shù)據(jù)模型1. 邏輯數(shù)據(jù)模型又稱為數(shù)據(jù)模型,它是一種面向數(shù)據(jù)庫系統(tǒng)的模型,該模型著重于在數(shù)據(jù)庫系統(tǒng)一級的實(shí)現(xiàn)。2. 概念模型只有在轉(zhuǎn)換成數(shù)據(jù)模型后才能在數(shù)據(jù)

31、庫中得以表示。目前,邏輯數(shù)據(jù)模型也有很多種,較為成熟并先后被人們大量使用過的有:層次模型、網(wǎng)狀模型、關(guān)系模型、面向?qū)ο竽P偷取N锢頂?shù)據(jù)模型物理數(shù)據(jù)模型也簡稱物理模型,它是一種面向計算機(jī)物理表示的模型。物理數(shù)據(jù)模型給出了數(shù)據(jù)模型在計算機(jī)上物理結(jié)構(gòu)的表示,它是描述數(shù)據(jù)在儲存介質(zhì)上的組織結(jié)構(gòu)的數(shù)據(jù)模型。第15頁華圖公職課程:2.2.4 主要的邏輯數(shù)據(jù)模型目前,數(shù)據(jù)庫領(lǐng)域中常用的邏輯數(shù)據(jù)模型有 4 種,它們是:1.2.3.4.層次模型(Hierarchical Model) 網(wǎng)狀模型(Network Model) 關(guān)系模型(Relational Model面向?qū)ο竽P停∣bject Oriented

32、Model)層次模型層次模型是數(shù)據(jù)庫系統(tǒng)中最早采用的數(shù)據(jù)模型,它是通過從屬關(guān)系結(jié)構(gòu)表示數(shù)據(jù)間的,層次模型是有向“樹”結(jié)構(gòu)。層次數(shù)據(jù)庫模型的代表是 IBM 公司的 IMS( Information Management System)數(shù)據(jù)庫管理系統(tǒng)。網(wǎng)狀模型網(wǎng)狀模型是層次模型的擴(kuò)展,它表示多個從屬關(guān)系的層次結(jié)構(gòu),呈現(xiàn)一種交叉關(guān)系的網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)狀模型是有向“圖”結(jié)構(gòu)。網(wǎng)狀數(shù)據(jù)模型的典型代表是 DBTG 系統(tǒng),也稱 CODASYL 系統(tǒng)。但它并非實(shí)際的數(shù)據(jù)庫管理系統(tǒng),它所提出的基本概念、方法和技術(shù)對于網(wǎng)狀數(shù)據(jù)庫系統(tǒng)的發(fā)展產(chǎn)生了影響。關(guān)系模型關(guān)系數(shù)據(jù)模型(簡稱關(guān)系模型)以二維表的方式組織數(shù)據(jù),如表所示

33、。關(guān)系模型建立在嚴(yán)格的數(shù)學(xué)概念基礎(chǔ)之上,自從出現(xiàn)后發(fā)展迅速。20 世紀(jì) 80 年代以來,幾乎所有的數(shù)據(jù)庫系統(tǒng)都是建立在關(guān)系模型之上。第16頁華圖公職課程:學(xué)號政治面貌出生日期200901001程鑫民男錫伯族團(tuán)員1992-1-30200901002吳薇女壯族群眾1992-7-9200901003李薪女團(tuán)員1990-12-3200901004張麗女白族團(tuán)員1991-2-5200901005李斯男彝族團(tuán)員1990-8-24面向?qū)ο竽P?. 面向?qū)ο蟮母拍钭畛醭霈F(xiàn)在程序設(shè)計方法中,由于其優(yōu)點(diǎn)突出,便于描述復(fù)雜的客觀現(xiàn)實(shí),因此迅速滲透到計算機(jī)領(lǐng)域的眾多分支。面向?qū)ο竽P褪敲嫦驅(qū)ο蟾拍钆c數(shù)據(jù)庫技術(shù)相結(jié)合的

34、產(chǎn)物,用以支持非傳統(tǒng)應(yīng)用領(lǐng)域?qū)?shù)據(jù)模型提出的新要求。2. 面向?qū)ο竽P妥罨镜母拍钍菍ο螅?Object )和類( Class )。在面向?qū)ο竽P椭校瑢ο笫侵缚陀^的某一事物,其對對象的描述具有整體性、完整性,對象不僅包含描述它的數(shù)據(jù),而且還包含對它進(jìn)行操作的方法的定義,對象的外部特征與行為是封裝在一起的。其中,對象的狀態(tài)是該對象屬性集,對象的行為是在對象狀態(tài)上操作的方法集。共享同一屬性集和方法集的所有對象則構(gòu)成了類。下列數(shù)據(jù)模型中,數(shù)據(jù)A.網(wǎng)狀數(shù)據(jù)模型C.層次數(shù)據(jù)模型性最高的是( B.關(guān)系數(shù)據(jù)模型D.非關(guān)系模型B)。下列說法中正確的是(ACD)。A 數(shù)據(jù)庫減少了數(shù)據(jù)冗余B 數(shù)據(jù)庫避免了一切數(shù)據(jù)

35、的重復(fù)C 數(shù)據(jù)庫中的數(shù)據(jù)可以共享D 數(shù)據(jù)庫具有較高的數(shù)據(jù)性第二講本講要點(diǎn)llll關(guān)系模型關(guān)系的完整性關(guān)系規(guī)范化 關(guān)系代數(shù)授課內(nèi)容第17頁華圖公職課程:1.關(guān)系是數(shù)學(xué)集合論中的一個重要概念。1970 年,E.F.Codd了題為“大型共享數(shù)據(jù)庫數(shù)據(jù)的關(guān)系模型”的,把關(guān)系的概念引入了數(shù)據(jù)庫,自此人們開始了數(shù)據(jù)庫關(guān)系方法和關(guān)系數(shù)據(jù)理論的研究,在層次和網(wǎng)狀數(shù)據(jù)庫系統(tǒng)之后,形成了以關(guān)系數(shù)據(jù)模型為基礎(chǔ)的系統(tǒng)。2.關(guān)系模型的數(shù)學(xué)理論基礎(chǔ)是建立在集合代數(shù)上的,與層次模型、網(wǎng)狀模型相比較,是目前廣為應(yīng)用的一種重要的數(shù)據(jù)模型。關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)組織、管理與檢索等,都是基于數(shù)學(xué)理論的方法來處理數(shù)據(jù)庫中的數(shù)據(jù)本身和數(shù)據(jù)

36、之間的的。關(guān)系模型關(guān)系模型的界面非常簡單,一個關(guān)系的邏輯結(jié)構(gòu)就是一張二維表。這種用二維表的形式表示實(shí)體和實(shí)體間的數(shù)據(jù)模型稱為關(guān)系數(shù)據(jù)模型。關(guān)系術(shù)語1.關(guān)系:個關(guān)系就是一張二維表格,每個關(guān)系有個關(guān)系名,在 Access 中,一個關(guān)系就是一個表對象。2.3.元組:表格中的每一行稱為一個元組也,稱為。屬性:表格中的每一列稱為一個屬性,給每列起一個名稱,該名稱就是屬性名,如表 1-1 中的學(xué)號、姓名、出生日期等。屬性也稱為字段。4.分量:元組中的一個屬性值稱為分量。關(guān)系模型要求關(guān)系的每一個分量必須是一個不可分的數(shù)據(jù)項(xiàng), 即不允許表中還有表。域:屬性的取值范圍。從總體上說,以屬性分類的若干個元組的集合,

37、構(gòu)成關(guān)系模式中的一個關(guān)系,5.在某種意義上也可以說,關(guān)系模式就是一張二維表格,客觀事物以及不同事物間的。6.候選關(guān)鍵字:關(guān)系中的某個屬性組(一個屬性或幾個屬性的組合)可以唯一標(biāo)識一個元組,這個屬性組稱為候選關(guān)鍵字。7.關(guān)鍵字:關(guān)鍵字是指在一個數(shù)據(jù)表中,若某一字段或幾個字段的組合值能夠唯一標(biāo)識一個稱其為關(guān)鍵字(或鍵),當(dāng)一個數(shù)據(jù)表有多個關(guān)鍵字時,可從中選出一個作為主關(guān)鍵字。,則8.外部關(guān)鍵字:如果關(guān)系中的一個屬性不是本關(guān)系的關(guān)鍵字,而是另外一個關(guān)系的關(guān)鍵字或候選關(guān)鍵字,這個屬性就稱為外部關(guān)鍵字。主屬性:包含在任一候選關(guān)鍵字中的屬性稱為主屬性。9.第18頁華圖公職課程:學(xué)生表內(nèi)容如下:學(xué)生(學(xué)號,

38、姓名,專業(yè),出生日期),它的主鍵是( C )。B.(姓名,D.(姓名,專業(yè)學(xué)號)A.C.學(xué)號關(guān)系的性質(zhì)關(guān)系是一個二維表,但并不是所有的二維表都是關(guān)系。關(guān)系應(yīng)具有以下性質(zhì):1.2.3.4.5.6.每一列中的分量(屬性值)是同一類型的數(shù)據(jù),來自同一個域。不同的列要給予不同的屬性名。列的順序無所謂,即列的次序可以任意交換。任意兩個元組不能完全相同。行的順序無所謂,即行的次序可以任意交換。每一個分量都必須是不可再分的數(shù)據(jù)項(xiàng)。由上述可知,二維表中的每一行都是唯一的,而且所有行都具有相同類型的字段。關(guān)系模型的最大優(yōu)點(diǎn)是一個關(guān)系就是一個二維表格,因此易于對數(shù)據(jù)進(jìn)行等操作。關(guān)系之間的表和表之間的關(guān)聯(lián)存在以下

39、4 種類型:1.一對一:父表中每一個最多與子表中的一個相關(guān)聯(lián),反之也一樣。具有一對一關(guān)聯(lián)的兩張表通常在創(chuàng)建表時可以將其合并成為一張表。2.一對多:父表中每一個可以與子表中的多個相關(guān)聯(lián),而子表中的每一條都只能與父表中的一條相關(guān)聯(lián)。一對多關(guān)聯(lián)是數(shù)據(jù)庫中最為普遍的關(guān)聯(lián)。如,院系和學(xué)生的關(guān)系。第19頁華圖公職課程:3.4.多對一多對多:父表中多個:父表中的每一條可以與子表中的一條相關(guān)聯(lián)。都與子表中的多條相關(guān)聯(lián),而子表中的每一條又都與父表中的多條相關(guān)聯(lián)。多對多關(guān)聯(lián)在數(shù)據(jù)庫中比較難實(shí)現(xiàn),通常將多對多關(guān)聯(lián)分解為多個一對多關(guān)聯(lián)。如學(xué)生和課程的關(guān)系。公司中有多個部門和多名職員,每個職員只能屬于一個部門,一個部門

40、可以有多名職員,從職員到部門的類型是(B)。B.多對一D.一對多A.多對多C.一對一1.在關(guān)系模型中,實(shí)體以及實(shí)體之間的都是用關(guān)系來表示的。例如教師實(shí)體、學(xué)生實(shí)體、課程實(shí)體等。在一個給定的應(yīng)用領(lǐng)域中,所有實(shí)體以及實(shí)體間的的關(guān)系的集合就構(gòu)成一個。2.系統(tǒng)是支持關(guān)系模型的數(shù)據(jù)庫系統(tǒng)。它是由若干張二維表組成的,包括二維表的結(jié)構(gòu)以及二維表中的數(shù)據(jù)兩部分。Access 就是一個關(guān)系型的數(shù)據(jù)庫管理系統(tǒng),由Access 所創(chuàng)建的二維表稱為數(shù)據(jù)表。關(guān)系的完整性關(guān)系模型允許定義三種完整性約束,即實(shí)體完整性、參照完整性和定義完整性約束。其中實(shí)體完整性約束和參照完整性約束統(tǒng)稱為關(guān)系完整性約束,是關(guān)系模型必須滿足的完

41、整性的約束條件,它由系統(tǒng)自動支持。定義完整性約束是應(yīng)用領(lǐng)域需要遵循的約束條件。實(shí)體完整性約束由于每個關(guān)系的主鍵是惟一決定元組的,故實(shí)體完整性約束要求關(guān)系的主鍵不能為空值,組成主鍵的所有屬性都不能取空值。例如,在“學(xué)生”關(guān)系:學(xué)生(學(xué)號,姓名,能為空值。,出生日期),其中學(xué)號是主鍵,因此,學(xué)號不例如,在“成績”關(guān)系:成績(學(xué)號,課程號,分?jǐn)?shù)),其中學(xué)號和課程號共同構(gòu)成主鍵,因此,學(xué)號和課程號都不能為空值。實(shí)體完整性要求主屬性不能取空值,這通常是通過( C)。A.定義外部鍵來保證B定義的完整性來保證C定義主鍵來保證D.關(guān)系系統(tǒng)自動保證第20頁華圖公職課程:參照完整性約束1. 參照完整性約束是關(guān)系之

42、間相關(guān)聯(lián)的基本約束,它不允許關(guān)系的外鍵取值只能是關(guān)聯(lián)關(guān)系中的某個主鍵值或者為空值。不存在的元組,即在關(guān)系中2. 例如:院系編號是“院系(院系編號,名稱,簡介)”關(guān)系的主鍵、是“學(xué)生(學(xué)號,姓名,院系編號)”關(guān)系的外鍵。“學(xué)生”關(guān)系中的“院系編號”必須是“院系”關(guān)系中一個存在的“院系編號”的值,或者是空值。定義的完整性約束1. 實(shí)體完整性約束和參照完整性約束是關(guān)系數(shù)據(jù)模型必須要滿足的,而定義的完整性約束是與應(yīng)用密切相關(guān)的數(shù)據(jù)完整性的約束,不是關(guān)系數(shù)據(jù)模型本身所要求的。定義的完整性約束是針對具體數(shù)據(jù)環(huán)境與應(yīng)用環(huán)境由具體設(shè)置的約束,它反映了具體應(yīng)用中數(shù)據(jù)的語義要求,它的作用就是要保證數(shù)據(jù)庫中數(shù)據(jù)的正

43、確性。2. 例如,限定某屬性的取值范圍,學(xué)生成績的取值必須是 0 到 100 之間的數(shù)值。關(guān)系規(guī)范化1.在中,如果關(guān)系模式?jīng)]有設(shè)計好,就會出現(xiàn)數(shù)據(jù)冗余、數(shù)據(jù)更新異常、數(shù)據(jù)刪除異常、數(shù)據(jù)異常等問題。關(guān)系模式的優(yōu)良程度直接影響數(shù)據(jù)庫中的數(shù)據(jù)完整性等方面的性能。2.關(guān)系規(guī)范化就是將結(jié)構(gòu)復(fù)雜的關(guān)系模式分解成結(jié)構(gòu)簡單的關(guān)系模式,從而使一個關(guān)系模式描述一個實(shí)體或?qū)嶓w間的一種的關(guān)系模式。,以達(dá)到概念的單一化。關(guān)系規(guī)范化目的就是要把不好的關(guān)系模式轉(zhuǎn)變?yōu)楹?. 把的規(guī)范化過程中為不同程度的規(guī)范化要求設(shè)立的不同標(biāo)準(zhǔn)稱為范式。4. 由于規(guī)范化的程度不同,就產(chǎn)生了不同的范式,如第一范式、第二范式、第三范式、BCNF

44、范式、第四范式、第五范式等。每種范式都規(guī)定了一些限制約束條件。5. 第一范式(1NF)是最基本的規(guī)范形式,它要求關(guān)系中的每個屬性都必須是不可再分割的數(shù)據(jù)項(xiàng)。在中,任何一個關(guān)系模式都必須滿足第一范式。關(guān)系代數(shù)關(guān)系代數(shù)的運(yùn)算對象是關(guān)系,運(yùn)算結(jié)果也是關(guān)系。關(guān)系代數(shù)的基本運(yùn)算符有: 集合運(yùn)算符專門的關(guān)系運(yùn)算符。傳統(tǒng)的集合運(yùn)算傳統(tǒng)的集合運(yùn)算都是二目運(yùn)算。設(shè)關(guān)系 R 和關(guān)系 S 具有相同的屬性個數(shù)(關(guān)系的屬性個數(shù)稱之為關(guān)1.2.3.系的目),且相應(yīng)的屬性取自同一個域。并(Union)運(yùn)算設(shè)關(guān)系 R 和關(guān)系 S 具有相同的目 n(即兩個關(guān)系都有 n 個屬性),且相應(yīng)的屬性取自同一個域,則關(guān)系 R 與關(guān)系 S

45、 的并由屬于R 或?qū)儆?S 的元組組成。其結(jié)果關(guān)系仍為 n 目關(guān)系。運(yùn)算結(jié)果是將兩個關(guān)系的第21頁華圖公職課程:所有元組組成一個新的關(guān)系,若有完全相同的元組,只留一個。其中 t 代表元組。關(guān)系R關(guān)系 SRS差(Difference)運(yùn)算設(shè)關(guān)系 R 和關(guān)系 S 具有相同的目 n,且相應(yīng)的屬性取自同一個域,則關(guān)系 R 與關(guān)系 S 的差由屬于R 而不屬于S 的所有元組組成。其結(jié)果關(guān)系仍為 n 目關(guān)系。R-S=t|tRtS關(guān)系R關(guān)系 SR-S第22頁華圖公職課程:交(Intersection)運(yùn)算設(shè)關(guān)系 R 和關(guān)系 S 具有相同的目 n,且相應(yīng)的屬性取自同一個域,則關(guān)系R 與關(guān)系 S 的交由既屬于R

46、又屬于 S 的元組組成。其結(jié)果關(guān)系仍為 n 目關(guān)系。RS=t|tRtS關(guān)系R關(guān)系 SR S廣義笛卡爾積(Extended Cartesian product)關(guān)系 R 為 n 目,關(guān)系 S 為 m 目,則關(guān)系R 和關(guān)系 S 的廣義笛卡爾積為(n+m)目的元組的集合。元組的前 n 個屬性是關(guān)系R 的屬性,后 m 個屬性是關(guān)系 S 的屬性。若 R 有r1 個元組,S 有 s1 個元組, 則關(guān)系 R 和關(guān)系 S 的廣義笛卡爾積有 r1×s1 個元組。R×S=trts| trRtsS廣義笛卡爾積(Extended Cartesian product)關(guān)系R關(guān)系 SR ×

47、S第23頁華圖公職課程:專門的關(guān)系運(yùn)算專門的關(guān)系運(yùn)算包含選擇、投影、連接和除運(yùn)算。這類運(yùn)算將“關(guān)系”看做是元組的集合,其運(yùn)算不僅涉及到關(guān)系的水平方向(表中的行),而且也涉及到關(guān)系的垂直方向(表中的列)。選擇(Selection)運(yùn)算 (選)1.選擇是根據(jù)給定的條件選擇關(guān)系 R 中的若干元組組成新的關(guān)系,是對關(guān)系的元組進(jìn)行篩選。(R) 。2. 其中 F 是選擇條件,是一個邏輯表達(dá)式,它由邏輯運(yùn)算符和比較運(yùn)算符組成。3. 選擇運(yùn)算也是一元關(guān)系運(yùn)算,選擇運(yùn)算結(jié)果往往比原有關(guān)系元組個數(shù)少,它是原關(guān)系的一個子集, 但關(guān)系模式不變。例:關(guān)系R若 F 為A=a1, sA=a1(R)例:第24頁華圖公職課程:

48、關(guān)系 S若 F 為B=b2, sB=b2(S)投影(Projection)運(yùn)算 (投影列)1.關(guān)系R 上的投影是從關(guān)系R 中選擇若干屬性列組成新的關(guān)系, 列。它是從列的角度進(jìn)行操作的。A(R),A 是R 中的屬性2. 設(shè) R 是一個 n 目關(guān)系,Ai1、Ai2、Ai3、Aim 是 R 的第 i1、i2、i3、im(mn)個屬性,關(guān)系R 在Ai1、Ai2、Ai3、Aim 上的投影定義為: i1、i2、i3、im(R)=t|t=(ti1、ti2、ti3、tim)(ti1、ti2、ti3、timR)3. 即從關(guān)系 R 中按照 i1、i2、i3、im 的順序取下這 m 列,構(gòu)成以 i1、i2、i3、i

49、m 為順序的 m 目關(guān)系。投影后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組,因?yàn)槿∠承┝泻螅赡艹霈F(xiàn)重復(fù)的元組,應(yīng)消去這些完全相同的元組。關(guān)系R AB(R)第25頁華圖公職課程:例關(guān)系 S BC(S)連接(Join)運(yùn)算(連表格)1.連接是從兩個關(guān)系 R 和 S 的笛卡爾積中選取屬性間滿足一定條件的元組,連接也稱為作:RS =sR.AqS.B(R×S)連接,記其中 A 和 B 分別為 R 和 S 上可比的屬性組。 是比較運(yùn)算符, 可以是>,<,=,等符號。連接運(yùn)算從 R 和 S 的笛卡爾積 R×S 中選取(R 關(guān)系)在 A 屬性組上的值與(S 關(guān)系)在 B 屬性組上值滿足比較關(guān)系 的元組,這些元組構(gòu)成的關(guān)系是R×S 的一個子集。 為“=”的連接運(yùn)算稱為等值連接。它是從關(guān)系R 與 S 的笛卡爾積中選取 A、B 屬性值相等的那些元組。根據(jù)條件,R 中第一行與S 中前

溫馨提示

  • 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

提交評論