數(shù)據(jù)庫(kù)系統(tǒng)概論課件_第1頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論課件_第2頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論課件_第3頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論課件_第4頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論課件_第5頁(yè)
已閱讀5頁(yè),還剩1290頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一章緒論1.1資料庫(kù)系統(tǒng)概述1.2數(shù)據(jù)模型1.3資料庫(kù)系統(tǒng)結(jié)構(gòu)1.4資料庫(kù)系統(tǒng)的組成1.5小結(jié)1.1資料庫(kù)系統(tǒng)概述

1.1.1資料庫(kù)的地位

1.1.2四個(gè)基本概念

1.1.3數(shù)據(jù)管理技術(shù)的產(chǎn)生與發(fā)展資料庫(kù)的地位資料庫(kù)技術(shù)產(chǎn)生於六十年代末,是數(shù)據(jù)管理的最新技術(shù),是電腦科學(xué)的重要分支;資料庫(kù)技術(shù)是資訊系統(tǒng)的核心和基礎(chǔ),它的出現(xiàn)極大地促進(jìn)了電腦應(yīng)用向各行各業(yè)的滲透;資料庫(kù)的建設(shè)規(guī)模、資料庫(kù)資訊量的大小和使用頻度已成為衡量一個(gè)國(guó)家資訊化程度的重要標(biāo)誌;1.1資料庫(kù)系統(tǒng)概述1.1.1資料庫(kù)的地位

1.1.2四個(gè)基本概念

1.1.3數(shù)據(jù)管理技術(shù)的產(chǎn)生與發(fā)展1.1.2四個(gè)基本概念數(shù)據(jù)(Data)資料庫(kù)(Database)資料庫(kù)管理系統(tǒng)(DBMS)資料庫(kù)系統(tǒng)(DBS)1.數(shù)據(jù)(Data)資料庫(kù)中存儲(chǔ)的基本對(duì)象,分?jǐn)?shù)值型數(shù)據(jù)和非數(shù)值型數(shù)據(jù),如:文字、圖形、圖像、聲音、數(shù)字、符號(hào)及動(dòng)畫(huà)等。1.數(shù)據(jù)(Data)在資料庫(kù)中用一組特徵組成一個(gè)記錄描述一個(gè)人或事物.如:(07106133,李曉璐,女),這個(gè)學(xué)生記錄就是一組數(shù)據(jù)。2.資料庫(kù)(Database,簡(jiǎn)稱(chēng)DB)DB是存放數(shù)據(jù)及其相關(guān)資訊的倉(cāng)庫(kù),是事務(wù)處理、資訊管理等應(yīng)用系統(tǒng)的基礎(chǔ)。DB中既要存放數(shù)據(jù)本身的值,還要存儲(chǔ)數(shù)據(jù)與數(shù)據(jù)之間的聯(lián)繫。如“圖書(shū)管理資訊系統(tǒng)”中有:教師、學(xué)生、圖書(shū),還有學(xué)生與圖書(shū)之間的借閱關(guān)係。二、資料庫(kù)(續(xù))資料庫(kù)的定義資料庫(kù)(Database,簡(jiǎn)稱(chēng)DB)是長(zhǎng)期儲(chǔ)存在電腦內(nèi)、有組織的、可共用的大量數(shù)據(jù)集合二、資料庫(kù)(續(xù))資料庫(kù)的特徵數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲(chǔ)存可為各種用戶(hù)共用冗餘度較小數(shù)據(jù)獨(dú)立性較高易擴(kuò)展3.資料庫(kù)管理系統(tǒng)(DatabaseManagementSystem,簡(jiǎn)稱(chēng)DBMS)DBMS是用戶(hù)與操作系統(tǒng)(OS)之間的數(shù)據(jù)管理軟體,它將大量數(shù)據(jù)按某種數(shù)據(jù)模型組織起來(lái),並存儲(chǔ)到電腦中。使用戶(hù)能高效獲取數(shù)據(jù),並對(duì)數(shù)據(jù)進(jìn)行維護(hù)和控制。DBMS為數(shù)據(jù)庫(kù)提供數(shù)據(jù)的定義、建立、查詢(xún)、統(tǒng)計(jì)和維護(hù)等功能,如建立資料庫(kù),定義表結(jié)構(gòu),查詢(xún)、統(tǒng)計(jì)數(shù)據(jù),維護(hù)資料庫(kù)等。DBMS提供的數(shù)據(jù)控制功能包括數(shù)據(jù)的完整性、安全性、併發(fā)、恢復(fù)等的控制。三、資料庫(kù)管理系統(tǒng)什麼是DBMS資料庫(kù)管理系統(tǒng)(DatabaseManagementSystem,簡(jiǎn)稱(chēng)DBMS)是位於用戶(hù)與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟體。DBMS的用途科學(xué)地組織和存儲(chǔ)數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù)DBMS的基本目標(biāo)提供一個(gè)可以方便、有效地存取資料庫(kù)資訊的環(huán)境。DBMS的主要功能數(shù)據(jù)定義功能

提供數(shù)據(jù)定義語(yǔ)言(DDL)

定義資料庫(kù)中的數(shù)據(jù)對(duì)象數(shù)據(jù)操縱功能:提供數(shù)據(jù)操縱語(yǔ)言(DML)

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

(查詢(xún)、插入、刪除和修改)DBMS的主要功能資料庫(kù)的運(yùn)行管理

保證數(shù)據(jù)的安全性、完整性、 多用戶(hù)對(duì)數(shù)據(jù)的併發(fā)使用 發(fā)生故障後的系統(tǒng)恢復(fù)資料庫(kù)的建立和維護(hù)功能(實(shí)用程式)

資料庫(kù)數(shù)據(jù)批量裝載 資料庫(kù)轉(zhuǎn)儲(chǔ) 介質(zhì)故障恢復(fù) 資料庫(kù)的重組織 性能監(jiān)視等目前,DBMS軟體很多。例如,Oracle,Informix,Sybase,SQLServer,VisualFoxPro等都是DBMS,其中,VisualFoxPro是由Microsoft公司推出的DBMS。4.資料庫(kù)系統(tǒng)(DatabaseSystem,簡(jiǎn)稱(chēng)DBS)DBS是在電腦系統(tǒng)中引入資料庫(kù)後的系統(tǒng)。…(1)電腦系統(tǒng)(電腦硬體、應(yīng)用系統(tǒng))(2)資料庫(kù)DB(3)資料庫(kù)管理系統(tǒng)DBMS(4)用戶(hù)設(shè)計(jì)員及程式員管理員最終用戶(hù)資料庫(kù)系統(tǒng)(DBS)DBA四、資料庫(kù)系統(tǒng)什麼是資料庫(kù)系統(tǒng)資料庫(kù)系統(tǒng)(DatabaseSystem,簡(jiǎn)稱(chēng)DBS)是指在電腦系統(tǒng)中引入資料庫(kù)後的系統(tǒng)構(gòu)成。在不引起混淆的情況下常常把資料庫(kù)系統(tǒng)簡(jiǎn)稱(chēng)為數(shù)據(jù)庫(kù)。資料庫(kù)系統(tǒng)的構(gòu)成由資料庫(kù)、資料庫(kù)管理系統(tǒng)(及其開(kāi)發(fā)工具)、應(yīng)用系統(tǒng)、資料庫(kù)管理員(和用戶(hù))構(gòu)成。DBS、DBMS和DB之間的關(guān)係是什麼?答案:DBS包含DBMS和DB。DBS資料庫(kù)系統(tǒng)(續(xù))資料庫(kù)系統(tǒng)構(gòu)成圖示參看教材page_6圖1.1資料庫(kù)系統(tǒng)在電腦系統(tǒng)中的位置圖示參看教材page_6圖1.21.1資料庫(kù)系統(tǒng)概述1.1.1資料庫(kù)的地位

1.1.2四個(gè)基本概念

1.1.3數(shù)據(jù)管理技術(shù)的產(chǎn)生與發(fā)展1.1.3數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展什麼是數(shù)據(jù)管理對(duì)數(shù)據(jù)進(jìn)行分類(lèi)、組織、編碼、存儲(chǔ)、檢索和維護(hù),是數(shù)據(jù)處理的中心問(wèn)題數(shù)據(jù)管理技術(shù)的發(fā)展過(guò)程人工管理階段(40年代中--50年代中)檔系統(tǒng)階段(50年代末--60年代中)資料庫(kù)系統(tǒng)階段(60年代末--現(xiàn)在)1.1.2數(shù)據(jù)管理技術(shù)發(fā)展的3個(gè)階段數(shù)據(jù)管理是數(shù)據(jù)處理的中心問(wèn)題。數(shù)據(jù)管理指的是對(duì)數(shù)據(jù)進(jìn)行組織、編碼、分類(lèi)、存儲(chǔ)、檢索與維護(hù)等操作。

1.1.2數(shù)據(jù)管理技術(shù)發(fā)展的3個(gè)階段隨著電腦硬體技術(shù)和軟體技術(shù)的發(fā)展和進(jìn)步,電腦數(shù)據(jù)管理的水準(zhǔn)不斷提高,管理方式也發(fā)生了很大的變化。數(shù)據(jù)管理經(jīng)歷了手工管理、檔系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)(DBS)三個(gè)階段。1.手工管理階段始於20世紀(jì)50年代,當(dāng)時(shí)電腦的存儲(chǔ)設(shè)備沒(méi)有磁片,數(shù)據(jù)只能存放於卡片、紙帶上。在軟體方面,也沒(méi)有專(zhuān)門(mén)的管理數(shù)據(jù)的軟體。Late1950s–Middle60s檔系統(tǒng) 數(shù)據(jù)與程式有了一定的獨(dú)立性Data數(shù)據(jù)程式Program2.檔系統(tǒng)階段數(shù)據(jù)1統(tǒng)一存取數(shù)據(jù)2數(shù)據(jù)n程式2程式1程式n3.資料庫(kù)系統(tǒng)階段數(shù)據(jù)被組織成統(tǒng)一的邏輯結(jié)構(gòu),各個(gè)用戶(hù)可以為了不同目的來(lái)資料庫(kù)中存取數(shù)據(jù)。數(shù)據(jù)冗餘大為減少,數(shù)據(jù)的改動(dòng)也不會(huì)引起應(yīng)用程式的修改。Late60s 資料庫(kù)系統(tǒng)階段 數(shù)據(jù)與程式有了完全的獨(dú)立性Data數(shù)據(jù)程式Program數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展(續(xù))數(shù)據(jù)管理技術(shù)的發(fā)展動(dòng)力應(yīng)用需求的推動(dòng)電腦硬體的發(fā)展電腦軟體的發(fā)展資料庫(kù)系統(tǒng)(續(xù))特點(diǎn)數(shù)據(jù)的管理者:DBMS數(shù)據(jù)面向的對(duì)象:現(xiàn)實(shí)世界 數(shù)據(jù)的共用程度:共用性高 數(shù)據(jù)的獨(dú)立性:高度的物理獨(dú)立性和一定的邏輯獨(dú)立性 數(shù)據(jù)的結(jié)構(gòu)化:整體結(jié)構(gòu)化數(shù)據(jù)控制能力:由DBMS統(tǒng)一管理和控制應(yīng)用程式與數(shù)據(jù)的對(duì)應(yīng)關(guān)係(資料庫(kù)系統(tǒng))DBMS應(yīng)用程式1應(yīng)用程式2資料庫(kù)…數(shù)據(jù)的高共用性的好處降低數(shù)據(jù)的冗餘度,節(jié)省存儲(chǔ)空間避免數(shù)據(jù)間的不一致性使系統(tǒng)易於擴(kuò)充數(shù)據(jù)獨(dú)立性物理獨(dú)立性指用戶(hù)的應(yīng)用程式與存儲(chǔ)在磁片上的資料庫(kù)中數(shù)據(jù)是相互獨(dú)立的。當(dāng)數(shù)據(jù)的物理存儲(chǔ)改變了,應(yīng)用程式不用改變。邏輯獨(dú)立性指用戶(hù)的應(yīng)用程式與資料庫(kù)的邏輯結(jié)構(gòu)是相互獨(dú)立的。數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶(hù)程式也可以不變。數(shù)據(jù)結(jié)構(gòu)化整體數(shù)據(jù)的結(jié)構(gòu)化是資料庫(kù)的主要特徵之一。資料庫(kù)中實(shí)現(xiàn)的是數(shù)據(jù)的真正結(jié)構(gòu)化數(shù)據(jù)的結(jié)構(gòu)用數(shù)據(jù)模型描述,無(wú)需程式定義和解釋。數(shù)據(jù)可以變長(zhǎng)。數(shù)據(jù)的最小存取單位是資料項(xiàng)目。DBMS對(duì)數(shù)據(jù)的控制功能數(shù)據(jù)的安全性(Security)保護(hù)使每個(gè)用戶(hù)只能按指定方式使用和處理指定數(shù)據(jù),保護(hù)數(shù)據(jù)以防止不合法的使用造成的數(shù)據(jù)的洩密和破壞。數(shù)據(jù)的完整性(Integrity)檢查將數(shù)據(jù)控制在有效的範(fàn)圍內(nèi),或保證數(shù)據(jù)之間滿(mǎn)足一定的關(guān)係。DBMS對(duì)數(shù)據(jù)的控制功能併發(fā)(Concurrency)控制對(duì)多用戶(hù)的併發(fā)操作加以控制和協(xié)調(diào),防止相互干擾而得到錯(cuò)誤的結(jié)果。資料庫(kù)恢復(fù)(Recovery)將資料庫(kù)從錯(cuò)誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)。第一章緒論1.1資料庫(kù)系統(tǒng)概述1.2數(shù)據(jù)模型1.3資料庫(kù)系統(tǒng)結(jié)構(gòu)1.4資料庫(kù)系統(tǒng)的組成1.5小結(jié)1.2數(shù)據(jù)模型在資料庫(kù)中用數(shù)據(jù)模型這個(gè)工具來(lái)描述數(shù)據(jù),組織數(shù)據(jù)和對(duì)數(shù)據(jù)進(jìn)行操作的。通俗地講數(shù)據(jù)模型就是現(xiàn)實(shí)世界的模擬。(數(shù)位化)現(xiàn)有的資料庫(kù)系統(tǒng)都是基於某種數(shù)據(jù)模型的,數(shù)據(jù)模型是資料庫(kù)系統(tǒng)的核心和基礎(chǔ)。因此瞭解數(shù)據(jù)模型的基本概念是學(xué)習(xí)資料庫(kù)的基礎(chǔ)。1.2.1兩類(lèi)數(shù)據(jù)模型數(shù)據(jù)模型應(yīng)滿(mǎn)足三方面要求能比較真實(shí)地模擬現(xiàn)實(shí)世界容易為人所理解便於在電腦上實(shí)現(xiàn)在開(kāi)發(fā)實(shí)施資料庫(kù)應(yīng)用系統(tǒng)的不同階段,需要使用不同的數(shù)據(jù)模型。數(shù)據(jù)模型分成兩個(gè)不同的層次(1)概念模型也稱(chēng)資訊模型,它是按用戶(hù)的觀點(diǎn)來(lái)對(duì)數(shù)據(jù)和資訊建模。主要用於資料庫(kù)設(shè)計(jì)階段。(2)邏輯模型和物理模型主要是按電腦系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)建模,用於實(shí)現(xiàn)資料庫(kù)管理資訊系統(tǒng)。現(xiàn)實(shí)世界→概念模型:資料庫(kù)設(shè)計(jì)人員完成(E-R)概念模型→邏輯模型:資料庫(kù)設(shè)計(jì)人員或者設(shè)計(jì)工具協(xié)助完成。邏輯模型→物理模型:是由DBMS完成。1.2數(shù)據(jù)模型1.2.1兩類(lèi)數(shù)據(jù)模型

1.2.2數(shù)據(jù)模型的組成要素

1.2.2概念模型

1.2.3常用數(shù)據(jù)模型

1.2.4層次模型

1.2.5網(wǎng)狀模型

1.2.6關(guān)係模型1.2.2數(shù)據(jù)模型的組成要素?cái)?shù)據(jù)結(jié)構(gòu)數(shù)據(jù)操作數(shù)據(jù)的完整性約束1.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)描述資料庫(kù)的組成對(duì)象以及對(duì)象之間的聯(lián)繫。通常包含兩類(lèi):(1)與對(duì)象的類(lèi)型、內(nèi)容、性質(zhì)相關(guān)的。(比如關(guān)係模型中的域、屬性、關(guān)係等)。(2)與數(shù)據(jù)之間聯(lián)繫有關(guān)的對(duì)象。數(shù)據(jù)結(jié)構(gòu)是刻畫(huà)一個(gè)數(shù)據(jù)模型性質(zhì)的最重要方面。數(shù)據(jù)結(jié)構(gòu)是對(duì)系統(tǒng)靜態(tài)特性的描述2.數(shù)據(jù)操作數(shù)據(jù)操作。對(duì)數(shù)據(jù)庫(kù)中各種對(duì)象(型)的實(shí)例(值)允許執(zhí)行的操作及有關(guān)的操作規(guī)則數(shù)據(jù)操作的類(lèi)型。檢索更新(包括插入、刪除、修改)數(shù)據(jù)操作是對(duì)系統(tǒng)動(dòng)態(tài)特性的描述。3.數(shù)據(jù)的約束條件數(shù)據(jù)的約束條件一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)繫所具有的制約和儲(chǔ)存規(guī)則,用以限定符合數(shù)據(jù)模型的資料庫(kù)狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。

數(shù)據(jù)的約束條件(續(xù))數(shù)據(jù)模型對(duì)約束條件的定義反映和規(guī)定本數(shù)據(jù)模型必須遵守的基本的通用的完整性約束條件。例如在關(guān)係模型中,任何關(guān)係必須滿(mǎn)足實(shí)體完整性和參照完整性?xún)蓚€(gè)條件。提供定義完整性約束條件的機(jī)制,以反映具體應(yīng)用所涉及的數(shù)據(jù)必須遵守的特定的語(yǔ)義約束條件。1.2.3概念模型1.概念模型2.資訊世界中的基本概念3.概念模型的表示方法1.概念模型概念模型的用途概念模型用於資訊世界的建模完成從現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)轉(zhuǎn)化。是資料庫(kù)設(shè)計(jì)的有力工具資料庫(kù)設(shè)計(jì)人員和用戶(hù)之間進(jìn)行交流的語(yǔ)言對(duì)概念模型的基本要求較強(qiáng)的語(yǔ)義表達(dá)能力,能夠方便、直接地表達(dá)應(yīng)用中的各種語(yǔ)義知識(shí)簡(jiǎn)單、清晰、易於用戶(hù)理解。2.資訊世界中的基本概念

(1)實(shí)體(Entity)客觀存在並可相互區(qū)別的事物稱(chēng)為實(shí)體??梢允蔷唧w的人、事、物或抽象的概念。(2)屬性(Attribute)實(shí)體所具有的某一特性稱(chēng)為屬性。一個(gè)實(shí)體可以由若干個(gè)屬性來(lái)刻畫(huà)。

(3)碼(Key)唯一標(biāo)識(shí)實(shí)體的屬性集稱(chēng)為碼。

資訊世界中的基本概念(續(xù))(4)域(Domain)屬性的取值範(fàn)圍稱(chēng)為該屬性的域。(性別,價(jià)格等)(5)實(shí)體型(EntityType)用實(shí)體名及其屬性名集合來(lái)抽象和刻畫(huà)同類(lèi)實(shí)體稱(chēng)為實(shí)體型。例如學(xué)生(學(xué)號(hào),姓名,性別,所在院系,入學(xué)時(shí)間)就是一個(gè)實(shí)體型。(6)實(shí)體集(EntitySet)同型實(shí)體的集合稱(chēng)為實(shí)體集。全體學(xué)生就是一個(gè)實(shí)體集。資訊世界中的基本概念(續(xù))(7)聯(lián)繫(Relationship)現(xiàn)實(shí)世界中事物內(nèi)部以及事物之間的聯(lián)繫在資訊世界中反映為實(shí)體內(nèi)部的聯(lián)繫和實(shí)體之間的聯(lián)繫實(shí)體型間聯(lián)繫(兩個(gè)實(shí)體型):一對(duì)一聯(lián)繫(1:1)一對(duì)多聯(lián)繫(1:n)多對(duì)多聯(lián)繫(m:n)

兩個(gè)實(shí)體型間的聯(lián)繫實(shí)體型1聯(lián)繫名實(shí)體型2111:1聯(lián)繫實(shí)體型1聯(lián)繫名實(shí)體型2mnm:n聯(lián)繫實(shí)體型1聯(lián)繫名實(shí)體型21n1:n聯(lián)繫兩個(gè)實(shí)體型間的聯(lián)繫一對(duì)一聯(lián)繫如果對(duì)於實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中至多有一個(gè)實(shí)體與之聯(lián)繫,反之亦然,則稱(chēng)實(shí)體集A與實(shí)體集B具有一對(duì)一聯(lián)繫。記為1:1。

實(shí)例班級(jí)與班長(zhǎng)之間的聯(lián)繫:一個(gè)班級(jí)只有一個(gè)正班長(zhǎng)一個(gè)班長(zhǎng)只在一個(gè)班中任職兩個(gè)實(shí)體型間的聯(lián)繫(續(xù))一對(duì)多聯(lián)繫如果對(duì)於實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n≥0)與之聯(lián)繫,反之,對(duì)於實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中至多只有一個(gè)實(shí)體與之聯(lián)繫,則稱(chēng)實(shí)體集A與實(shí)體集B有一對(duì)多聯(lián)繫記為1:n實(shí)例系別與學(xué)生之間的聯(lián)繫:一個(gè)系裏有若干名學(xué)生,每個(gè)學(xué)生只在一個(gè)系中學(xué)習(xí)兩個(gè)實(shí)體型間的聯(lián)繫(續(xù))多對(duì)多聯(lián)繫(m:n)如果對(duì)於實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n≥0)與之聯(lián)繫,反之,對(duì)於實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中也有m個(gè)實(shí)體(m≥0)與之聯(lián)繫,則稱(chēng)實(shí)體集A與實(shí)體B具有多對(duì)多聯(lián)繫。記為m:n實(shí)例課程與學(xué)生之間的聯(lián)繫:一門(mén)課程同時(shí)有若干個(gè)學(xué)生選修一個(gè)學(xué)生可以同時(shí)選修多門(mén)課程多個(gè)實(shí)體型間的聯(lián)繫(續(xù))多個(gè)實(shí)體型間的一對(duì)多聯(lián)繫若實(shí)體集E1,E2,...,En存在聯(lián)繫,對(duì)於實(shí)體集Ej(j=1,2,...,i-1,i+1,...,n)中的給定實(shí)體,最多只和Ei中的一個(gè)實(shí)體相聯(lián)系,則我們說(shuō)Ei與E1,E2,...,Ei-1,Ei+1,...,En之間的聯(lián)繫是一對(duì)多的。多個(gè)實(shí)體型間的聯(lián)繫(續(xù))實(shí)例

課程、教師與參考書(shū)三個(gè)實(shí)體型如果一門(mén)課程可以有若干個(gè)教師講授,使用若干本參考書(shū),每一個(gè)教師只講授一門(mén)課程,每一本參考書(shū)只供一門(mén)課程使用課程與教師、參考書(shū)之間的聯(lián)繫是一對(duì)多的多個(gè)實(shí)體型間的一對(duì)一聯(lián)繫多個(gè)實(shí)體型間的多對(duì)多聯(lián)繫同一實(shí)體集內(nèi)各實(shí)體間的聯(lián)繫一對(duì)多聯(lián)繫實(shí)例

職工實(shí)體集內(nèi)部具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的聯(lián)繫某一職工(幹部)“領(lǐng)導(dǎo)”若干名職工一個(gè)職工僅被另外一個(gè)職工直接領(lǐng)導(dǎo)這是一對(duì)多的聯(lián)繫一對(duì)一聯(lián)繫多對(duì)多聯(lián)繫3.概念模型的表示方法概念模型的表示方法很多,最常用的是實(shí)體-聯(lián)繫方法(E-R方法)。用E-R圖來(lái)描述現(xiàn)實(shí)世界的概念模型E-R方法也稱(chēng)為E-R模型本節(jié)只介紹E-R圖要點(diǎn)。有關(guān)如何認(rèn)識(shí)分析現(xiàn)實(shí)世界,從而抽取實(shí)體之間的聯(lián)繫,建立概念模型的方法將在第7章詳述。E-R圖實(shí)體型用矩形表示,矩形框內(nèi)寫(xiě)明實(shí)體名。學(xué)生教師E-R圖(續(xù))屬性用橢圓形表示,並用無(wú)向邊將其與相應(yīng)的實(shí)體連接起來(lái)學(xué)生學(xué)號(hào)年齡性別姓名E-R圖(續(xù))聯(lián)繫聯(lián)繫本身:用菱形表示,菱形框內(nèi)寫(xiě)明聯(lián)繫名,並用無(wú)向邊分別與有關(guān)實(shí)體連接起來(lái),同時(shí)在無(wú)向邊旁標(biāo)上聯(lián)系的類(lèi)型(1:1、1:n或m:n)聯(lián)繫的屬性:聯(lián)繫本身也是一種實(shí)體型,也可以有屬性。如果一個(gè)聯(lián)繫具有屬性,則這些屬性也要用無(wú)向邊與該聯(lián)繫連接起來(lái)。

聯(lián)繫的表示方法實(shí)體型1聯(lián)繫名實(shí)體型2111:1聯(lián)繫實(shí)體型1聯(lián)繫名實(shí)體型2mnm:n聯(lián)繫實(shí)體型1聯(lián)繫名實(shí)體型21n1:n聯(lián)繫聯(lián)繫的表示方法(續(xù))實(shí)體型1聯(lián)繫名mn同一實(shí)體型內(nèi)部的m:n聯(lián)繫實(shí)體型1聯(lián)繫名實(shí)體型21m多個(gè)實(shí)體型間的1:n聯(lián)繫實(shí)體型3n聯(lián)繫的表示方法示例班級(jí)班級(jí)-班長(zhǎng)班長(zhǎng)111:1聯(lián)繫課程選修學(xué)生mnm:n聯(lián)繫班級(jí)組成學(xué)生1n1:n聯(lián)繫聯(lián)繫的表示方法示例(續(xù))職工領(lǐng)導(dǎo)1n同一實(shí)體型內(nèi)部的1:n聯(lián)繫課程講授教師1m多個(gè)實(shí)體型間的1:n聯(lián)繫參考書(shū)n聯(lián)繫屬性的表示方法課程選修學(xué)生mn成績(jī)E-R圖(續(xù))E-R圖實(shí)例:

P19-P20

某工廠物資管理E-R圖1.2.4常用的數(shù)據(jù)模型非關(guān)係模型層次模型(HierarchicalModel)網(wǎng)狀模型(NetworkModel)數(shù)據(jù)結(jié)構(gòu):以基本層次聯(lián)繫為基本單位

基本層次聯(lián)繫:兩個(gè)記錄以及它們之間的一對(duì)多(包括一對(duì)一)的聯(lián)繫常用數(shù)據(jù)模型(續(xù))關(guān)係模型(RelationalModel)數(shù)據(jù)結(jié)構(gòu):表面向?qū)ο竽P?ObjectOrientedModel)數(shù)據(jù)結(jié)構(gòu):對(duì)象1.2數(shù)據(jù)模型1.2.1兩類(lèi)數(shù)據(jù)模型1.2.2數(shù)據(jù)模型的組成要素1.2.3概念模型1.2.4最常用的數(shù)據(jù)模型1.2.7關(guān)係模型1.2.7關(guān)係模型1.關(guān)係模型是目前最重要的一種數(shù)據(jù)模型,關(guān)係資料庫(kù)系統(tǒng)採(cǎi)用關(guān)係模型作為數(shù)據(jù)的組織方式。

2.美國(guó)IBM公司的研究員E.F.Codd於1970年提出關(guān)係模型的概念,並為此獲得圖靈獎(jiǎng)。1.2.7關(guān)係模型1.關(guān)係數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)2.關(guān)係數(shù)據(jù)模型的數(shù)據(jù)操作3.關(guān)係數(shù)據(jù)模型的完整性約束4.關(guān)係數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)5.關(guān)係數(shù)據(jù)模型的優(yōu)缺點(diǎn)6.典型的關(guān)係資料庫(kù)系統(tǒng)

關(guān)係數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)在用戶(hù)觀點(diǎn)下,關(guān)係模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。關(guān)係模型的基本概念一、基本概念關(guān)係(Relation)一個(gè)關(guān)係對(duì)應(yīng)通常說(shuō)的一張表。元組(Tuple)表中的一行即為一個(gè)元組。屬性(Attribute)表中的一列即為一個(gè)屬性,給每一個(gè)屬性起一個(gè)名稱(chēng)即屬性名。關(guān)係模型的基本概念主碼(Key)表中的某個(gè)屬性組,它可以唯一確定一個(gè)元組。域(Domain)屬性的取值範(fàn)圍。分量元組中的一個(gè)屬性值。關(guān)係模式對(duì)關(guān)係的描述格式為:關(guān)係名(屬性1,屬性2,…,屬性n)例如:學(xué)生(學(xué)號(hào),姓名,年齡,性別,系,年級(jí))關(guān)係數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))二、實(shí)體及實(shí)體間的聯(lián)繫的表示方法實(shí)體型:直接用關(guān)係(表)表示。屬性:用屬性名表示。一對(duì)一聯(lián)繫:隱含在實(shí)體對(duì)應(yīng)的關(guān)係中。一對(duì)多聯(lián)繫:隱含在實(shí)體對(duì)應(yīng)的關(guān)係中。多對(duì)多聯(lián)繫:直接用關(guān)係表示。關(guān)係數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))例1學(xué)生、系、系與學(xué)生之間的一對(duì)多聯(lián)繫:學(xué)生(學(xué)號(hào),姓名,年齡,性別,系號(hào),年級(jí))系(系號(hào),系名,辦公地點(diǎn))例2系、系主任、系與系主任間的一對(duì)一聯(lián)繫關(guān)係數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))例3學(xué)生、課程、學(xué)生與課程之間的多對(duì)多聯(lián)繫:

學(xué)生(學(xué)號(hào),姓名,年齡,性別,系號(hào),年級(jí))課程(課程號(hào),課程名,學(xué)分)選修(學(xué)號(hào),課程號(hào),成績(jī))關(guān)係數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))三、關(guān)係規(guī)範(fàn)化(第6章)即要滿(mǎn)足一定的規(guī)範(fàn)條件,最基本的規(guī)範(fàn)條件:關(guān)係的每一個(gè)分量必須是一個(gè)不可分的資料項(xiàng)目。2.關(guān)係模型的數(shù)據(jù)操縱查詢(xún)、插入、刪除、更新數(shù)據(jù)操作是集合操作,操作對(duì)象和操作結(jié)果都是關(guān)係,即若幹元組的集合存取路徑對(duì)用戶(hù)隱蔽,用戶(hù)只要指出“幹什麼”,不必詳細(xì)說(shuō)明“怎麼幹”3.關(guān)係模型的完整性約束實(shí)體完整性(主鍵)參照完整性(一致性,相容性)用戶(hù)定義的完整性(合理性)4.關(guān)係數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)表以檔形式存儲(chǔ)有的DBMS一個(gè)表對(duì)應(yīng)一個(gè)操作系統(tǒng)檔有的DBMS自己設(shè)計(jì)檔結(jié)構(gòu)5.關(guān)係模型的優(yōu)缺點(diǎn)優(yōu)點(diǎn)建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上概念單一。數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單、清晰,用戶(hù)易懂易用實(shí)體和各類(lèi)聯(lián)繫都用關(guān)係來(lái)表示。對(duì)數(shù)據(jù)的檢索結(jié)果也是關(guān)係。關(guān)係模型的存取路徑對(duì)用戶(hù)透明具有更高的數(shù)據(jù)獨(dú)立性,更好的安全保密性簡(jiǎn)化了程式員的工作和數(shù)據(jù)庫(kù)開(kāi)發(fā)建立的工作關(guān)係模型的優(yōu)缺點(diǎn)(續(xù))缺點(diǎn)存取路徑對(duì)用戶(hù)透明導(dǎo)致查詢(xún)效率往往不如非關(guān)係數(shù)據(jù)模型為提高性能,必須對(duì)用戶(hù)的查詢(xún)請(qǐng)求進(jìn)行優(yōu)化增加了開(kāi)發(fā)資料庫(kù)管理系統(tǒng)的難度6.典型的關(guān)係資料庫(kù)系統(tǒng)ORACLESqlServerSYBASEINFORMIXDB/2COBASEPBASEEasyBaseDM/2OpenBase6.典型的關(guān)係資料庫(kù)系統(tǒng)ORACLE和SqlServer的比較Oracle可以運(yùn)行在任何主流平臺(tái),而後者只能運(yùn)行在Windows平臺(tái)。Oracle安全性更高。Sqlserver在windows平臺(tái)上整合性、穩(wěn)定性最好。Oracel價(jià)格高。Sqlserver操作簡(jiǎn)單。在長(zhǎng)時(shí)間運(yùn)行大量事務(wù)方面oracle速度較快。第一章緒論1.1資料庫(kù)系統(tǒng)概述1.2數(shù)據(jù)模型1.3資料庫(kù)系統(tǒng)結(jié)構(gòu)1.4資料庫(kù)系統(tǒng)的組成1.5小結(jié)1.3資料庫(kù)系統(tǒng)結(jié)構(gòu)1.3.1資料庫(kù)系統(tǒng)內(nèi)部的模式結(jié)構(gòu)從資料庫(kù)管理系統(tǒng)角度看,資料庫(kù)系統(tǒng)採(cǎi)用三級(jí)模式結(jié)構(gòu)。1.3.2資料庫(kù)系統(tǒng)外部的體系結(jié)構(gòu)從資料庫(kù)最終用戶(hù)角度看,分為單用戶(hù)結(jié)構(gòu)、主從式結(jié)構(gòu)、分佈式結(jié)構(gòu)等等。本節(jié)重點(diǎn)學(xué)習(xí)三級(jí)模式結(jié)構(gòu)。1.3.1資料庫(kù)系統(tǒng)的模式結(jié)構(gòu)資料庫(kù)系統(tǒng)模式的概念資料庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)資料庫(kù)的二級(jí)映象功能與數(shù)據(jù)獨(dú)立性小結(jié)一、資料庫(kù)系統(tǒng)模式的概念“型”和“值”的概念型(Type)對(duì)某一類(lèi)數(shù)據(jù)的結(jié)構(gòu)和屬性的說(shuō)明值(Value)是型的一個(gè)具體賦值例如:學(xué)生記錄記錄型:(學(xué)號(hào),姓名,性別,系別,年齡,籍貫)該記錄型的一個(gè)記錄值:(900201,李明,男,電腦,22,江蘇)資料庫(kù)系統(tǒng)模式的概念(續(xù))模式(Schema)資料庫(kù)中對(duì)全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特徵的描述是型的描述反映的是數(shù)據(jù)的結(jié)構(gòu)及其聯(lián)繫模式是相對(duì)穩(wěn)定的模式的一個(gè)實(shí)例(Instance)模式的一個(gè)具體值反映資料庫(kù)某一時(shí)刻的狀態(tài)同一個(gè)模式可以有很多實(shí)例實(shí)例隨資料庫(kù)中的數(shù)據(jù)的更新而變動(dòng)資料庫(kù)系統(tǒng)模式的概念(續(xù))例如:1.模式:在學(xué)生選課資料庫(kù)模式中,包含學(xué)生,課程,和學(xué)生選課三個(gè)關(guān)係。是相對(duì)穩(wěn)定的。2.實(shí)例:

2003年的所有學(xué)生記錄

2004年的所有學(xué)生記錄。值是相對(duì)變動(dòng)的。3.結(jié)論:

模式反映的是數(shù)據(jù)的結(jié)構(gòu)及其聯(lián)繫,而實(shí)例反映的是資料庫(kù)某個(gè)時(shí)刻的狀態(tài),是動(dòng)態(tài)的。二、資料庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)所有的資料庫(kù)管理系統(tǒng)產(chǎn)品在體系結(jié)構(gòu)上都具有相同的特徵:即採(cǎi)用三級(jí)模式結(jié)構(gòu),並提供兩級(jí)映像功能。三級(jí)模式結(jié)構(gòu)是指數(shù)據(jù)庫(kù)系統(tǒng)是由外模式、模式和內(nèi)模式三級(jí)模式組成,如下圖示:資料庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)(續(xù))1.模式(Schema)模式(也稱(chēng)邏輯模式)資料庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特徵的描述。(二維表)所有用戶(hù)的公共數(shù)據(jù)視圖,綜合了所有用戶(hù)的需求。一個(gè)資料庫(kù)只有一個(gè)模式模式的地位:是資料庫(kù)系統(tǒng)模式結(jié)構(gòu)的中間層與數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬體環(huán)境無(wú)關(guān)與具體的應(yīng)用程式、開(kāi)發(fā)工具及高級(jí)程式設(shè)計(jì)語(yǔ)言無(wú)關(guān)模式的定義數(shù)據(jù)的邏輯結(jié)構(gòu)(資料項(xiàng)目的名字、類(lèi)型、取值範(fàn)圍等)數(shù)據(jù)之間的聯(lián)繫數(shù)據(jù)有關(guān)的安全性、完整性要求2.外模式(ExternalSchema)外模式(也稱(chēng)子模式或用戶(hù)模式)資料庫(kù)用戶(hù)(包括應(yīng)用程式員和最終用戶(hù))使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特徵的描述。(視圖的概念)資料庫(kù)用戶(hù)的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。外模式是保證資料庫(kù)安全性的一個(gè)有力措施。外模式(續(xù))外模式的地位:介於模式與應(yīng)用之間模式與外模式的關(guān)係:一對(duì)多外模式通常是模式的子集一個(gè)資料庫(kù)可以有多個(gè)外模式。反映了不同的用戶(hù)的應(yīng)用需求、看待數(shù)據(jù)的方式、對(duì)數(shù)據(jù)保密的要求對(duì)模式中同一數(shù)據(jù),在外模式中的結(jié)構(gòu)、類(lèi)型、長(zhǎng)度、保密級(jí)別等都可以不同外模式與應(yīng)用的關(guān)係:一對(duì)多同一外模式也可以為某一用戶(hù)的多個(gè)應(yīng)用系統(tǒng)所使用,但一個(gè)應(yīng)用程式只能使用一個(gè)外模式。外模式(續(xù))外模式的用途保證資料庫(kù)安全性的一個(gè)有力措施。每個(gè)用戶(hù)只能看見(jiàn)和訪問(wèn)所對(duì)應(yīng)的外模式中的數(shù)據(jù)3.內(nèi)模式(InternalSchema)內(nèi)模式(也稱(chēng)存儲(chǔ)模式)是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述是數(shù)據(jù)在資料庫(kù)內(nèi)部的表示方式記錄的存儲(chǔ)方式(順序存儲(chǔ),按照B樹(shù)結(jié)構(gòu)存儲(chǔ),按hash方法存儲(chǔ))索引的組織方式數(shù)據(jù)是否壓縮存儲(chǔ)數(shù)據(jù)是否加密數(shù)據(jù)存儲(chǔ)記錄結(jié)構(gòu)的規(guī)定一個(gè)資料庫(kù)只有一個(gè)內(nèi)模式三、資料庫(kù)的二級(jí)映象與數(shù)據(jù)獨(dú)立性三級(jí)模式是對(duì)數(shù)據(jù)的三個(gè)抽象級(jí)別

使得用戶(hù)可以處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在電腦中的具體表示方式和存儲(chǔ)方式。資料庫(kù)管理系統(tǒng)在三級(jí)模式間提供了兩層映像:

外模式/模式映像模式/內(nèi)模式映像這兩層映像保證了數(shù)據(jù)具有較高的邏輯獨(dú)立性和物理獨(dú)立性。資料庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)1.外模式/模式映象定義外模式與模式之間的對(duì)應(yīng)關(guān)係每一個(gè)外模式都對(duì)應(yīng)一個(gè)外模式/模式映象映象定義通常包含在各自外模式的描述中外模式/模式映象的用途保證數(shù)據(jù)的邏輯獨(dú)立性當(dāng)模式改變時(shí),資料庫(kù)管理員修改有關(guān)的外模式/模式映象,使外模式保持不變應(yīng)用程式是依據(jù)數(shù)據(jù)的外模式編寫(xiě)的,從而應(yīng)用程式不必修改,保證了數(shù)據(jù)與程式的邏輯獨(dú)立性,簡(jiǎn)稱(chēng)數(shù)據(jù)的邏輯獨(dú)立性。2.模式/內(nèi)模式映象模式/內(nèi)模式映象定義了數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)係。例如,說(shuō)明邏輯記錄和字段在內(nèi)部是如何表示的資料庫(kù)中模式/內(nèi)模式映象是唯一的該映象定義通常包含在模式描述中模式/內(nèi)模式映象的用途保證數(shù)據(jù)的物理獨(dú)立性當(dāng)資料庫(kù)的存儲(chǔ)結(jié)構(gòu)改變了(例如選用了另一種存儲(chǔ)結(jié)構(gòu)),資料庫(kù)管理員修改模式/內(nèi)模式映象,使模式保持不變應(yīng)用程式不受影響。保證了數(shù)據(jù)與程式的物理獨(dú)立性,簡(jiǎn)稱(chēng)數(shù)據(jù)的物理獨(dú)立性。四、系統(tǒng)結(jié)構(gòu)小結(jié)模式是資料庫(kù)的中心與關(guān)鍵獨(dú)立於資料庫(kù)的其他層次設(shè)計(jì)資料庫(kù)模式結(jié)構(gòu)時(shí)應(yīng)首先確定資料庫(kù)的邏輯模式小結(jié)(續(xù))內(nèi)模式依賴(lài)於全局邏輯結(jié)構(gòu),但獨(dú)立於資料庫(kù)的用戶(hù)視圖即外模式,也獨(dú)立於具體的存儲(chǔ)設(shè)備。它將全局邏輯結(jié)構(gòu)中所定義的數(shù)據(jù)結(jié)構(gòu)及其聯(lián)繫按照一定的物理存儲(chǔ)策略進(jìn)行組織,以達(dá)到較好的時(shí)間與空間效率。小結(jié)(續(xù))外模式面向具體的應(yīng)用程式,定義在邏輯模式之上,但獨(dú)立於存儲(chǔ)模式和存儲(chǔ)設(shè)備設(shè)計(jì)外模式時(shí)應(yīng)充分考慮到應(yīng)用的擴(kuò)充性。當(dāng)應(yīng)用需求發(fā)生較大變化,相應(yīng)外模式不能滿(mǎn)足其視圖要求時(shí),該外模式就得做相應(yīng)改動(dòng)小結(jié)(續(xù))應(yīng)用程式在外模式描述的數(shù)據(jù)結(jié)構(gòu)上編制的,它依賴(lài)於特定的外模式,與資料庫(kù)的模式和存儲(chǔ)結(jié)構(gòu)獨(dú)立。不同的應(yīng)用程式有時(shí)可以共用同一個(gè)外模式。小結(jié)(續(xù))二級(jí)映象保證了資料庫(kù)外模式的穩(wěn)定性,從而從底層保證了應(yīng)用程式的穩(wěn)定性,除非應(yīng)用需求本身發(fā)生變化,否則應(yīng)用程式一般不需要修改。數(shù)據(jù)與程式之間的獨(dú)立性,使得數(shù)據(jù)的定義和描述可以從應(yīng)用程式中分離出去。1.3資料庫(kù)系統(tǒng)結(jié)構(gòu)1.3.1資料庫(kù)系統(tǒng)內(nèi)部的模式結(jié)構(gòu)從資料庫(kù)管理系統(tǒng)角度看1.3.2資料庫(kù)系統(tǒng)外部的體系結(jié)構(gòu)從資料庫(kù)最終用戶(hù)角度看1.3.2資料庫(kù)系統(tǒng)外部的體系結(jié)構(gòu)單用戶(hù)結(jié)構(gòu)主從式結(jié)構(gòu)分佈式結(jié)構(gòu)客戶(hù)/伺服器結(jié)構(gòu)流覽器/應(yīng)用伺服器/資料庫(kù)伺服器結(jié)構(gòu)1.單用戶(hù)數(shù)據(jù)庫(kù)系統(tǒng)整個(gè)資料庫(kù)系統(tǒng)(應(yīng)用程式、DBMS、數(shù)據(jù))裝在一臺(tái)電腦上,為一個(gè)用戶(hù)獨(dú)佔(zhàn),不同機(jī)器之間不能共用數(shù)據(jù)。早期的最簡(jiǎn)單的資料庫(kù)系統(tǒng)2.主從式結(jié)構(gòu)的資料庫(kù)系統(tǒng)一個(gè)主機(jī)帶多個(gè)終端的多用戶(hù)結(jié)構(gòu)資料庫(kù)系統(tǒng),包括應(yīng)用程式、DBMS、數(shù)據(jù),都集中存放在主機(jī)上,所有處理任務(wù)都由主機(jī)來(lái)完成各個(gè)用戶(hù)通過(guò)主機(jī)的終端併發(fā)地存取資料庫(kù),共用數(shù)據(jù)資源主從式結(jié)構(gòu)的資料庫(kù)系統(tǒng)主機(jī)終端主從式結(jié)構(gòu)的資料庫(kù)系統(tǒng)(續(xù))優(yōu)點(diǎn)易於管理、控制與維護(hù)。缺點(diǎn)當(dāng)終端用戶(hù)數(shù)目增加到一定程度後,主機(jī)的任務(wù)會(huì)過(guò)分繁重,成為瓶頸,從而使系統(tǒng)性能下降。系統(tǒng)的可靠性依賴(lài)主機(jī),當(dāng)主機(jī)出現(xiàn)故障時(shí),整個(gè)系統(tǒng)都不能使用。3.分佈式結(jié)構(gòu)的資料庫(kù)系統(tǒng)資料庫(kù)中的數(shù)據(jù)在邏輯上是一個(gè)整體,但物理地分佈在電腦網(wǎng)絡(luò)的不同結(jié)點(diǎn)上。網(wǎng)路中的每個(gè)結(jié)點(diǎn)都可以獨(dú)立處理本地資料庫(kù)中的數(shù)據(jù),執(zhí)行局部應(yīng)用同時(shí)也可以同時(shí)存取和處理多個(gè)異地資料庫(kù)中的數(shù)據(jù),執(zhí)行全局應(yīng)用分佈式結(jié)構(gòu)的資料庫(kù)系統(tǒng)(續(xù))優(yōu)點(diǎn)適應(yīng)了地理上分散的公司、團(tuán)體和組織對(duì)於資料庫(kù)應(yīng)用的需求。缺點(diǎn)數(shù)據(jù)的分佈存放給數(shù)據(jù)的處理、管理與維護(hù)帶來(lái)困難。當(dāng)用戶(hù)需要經(jīng)常訪問(wèn)遠(yuǎn)程數(shù)據(jù)時(shí),系統(tǒng)效率會(huì)明顯地受到網(wǎng)路傳輸?shù)闹萍s。4.客戶(hù)/伺服器結(jié)構(gòu)的資料庫(kù)系統(tǒng)把DBMS功能和應(yīng)用分開(kāi)網(wǎng)路中某個(gè)(些)結(jié)點(diǎn)上的電腦專(zhuān)門(mén)用於執(zhí)行DBMS功能,稱(chēng)為資料庫(kù)伺服器,簡(jiǎn)稱(chēng)伺服器其他結(jié)點(diǎn)上的電腦安裝DBMS的週邊應(yīng)用開(kāi)發(fā)工具,用戶(hù)的應(yīng)用系統(tǒng),稱(chēng)為客戶(hù)機(jī)客戶(hù)/伺服器資料庫(kù)系統(tǒng)的種類(lèi)集中的伺服器結(jié)構(gòu)一臺(tái)數(shù)據(jù)庫(kù)伺服器,多臺(tái)客戶(hù)機(jī)分佈的伺服器結(jié)構(gòu)在網(wǎng)路中有多臺(tái)數(shù)據(jù)庫(kù)伺服器分佈的伺服器結(jié)構(gòu)是客戶(hù)/伺服器與分佈式資料庫(kù)的結(jié)合客戶(hù)/伺服器結(jié)構(gòu)的優(yōu)點(diǎn)客戶(hù)端的用戶(hù)請(qǐng)求被傳送到資料庫(kù)伺服器,資料庫(kù)伺服器進(jìn)行處理後,只將結(jié)果返回給用戶(hù),從而顯著減少了數(shù)據(jù)傳輸量資料庫(kù)更加開(kāi)放客戶(hù)與伺服器一般都能在多種不同的硬體和軟體平臺(tái)上運(yùn)行可以使用不同廠商的資料庫(kù)應(yīng)用開(kāi)發(fā)工具客戶(hù)/伺服器結(jié)構(gòu)的缺點(diǎn)“胖客戶(hù)”問(wèn)題:系統(tǒng)安裝複雜,工作量大。應(yīng)用維護(hù)困難,難於保密,造成安全性差。相同的應(yīng)用程式要重複安裝在每一臺(tái)客戶(hù)機(jī)上,從系統(tǒng)總體來(lái)看,大大浪費(fèi)了系統(tǒng)資源。系統(tǒng)規(guī)模達(dá)到數(shù)百數(shù)千臺(tái)客戶(hù)機(jī),它們的硬體配置、操作系統(tǒng)又常常不同,要為每一個(gè)客戶(hù)機(jī)安裝應(yīng)用程序和相應(yīng)的工具模組,其安裝維護(hù)代價(jià)便不可接受了。流覽器/應(yīng)用伺服器/資料庫(kù)伺服器結(jié)構(gòu)客戶(hù)端:流覽器軟體、用戶(hù)介面流覽器的介面統(tǒng)一,廣大用戶(hù)容易掌握大大減少了培訓(xùn)時(shí)間與費(fèi)用。伺服器端分為兩部分:Web伺服器、應(yīng)用伺服器資料庫(kù)伺服器等大大減少了系統(tǒng)開(kāi)發(fā)和維護(hù)代價(jià)能夠支持?jǐn)?shù)萬(wàn)甚至更多的用戶(hù)智能卡移動(dòng)通信電腦外設(shè)機(jī)頂盒零售設(shè)備印刷機(jī)影印機(jī)互聯(lián)網(wǎng)伺服器電話交換設(shè)備嵌入式數(shù)據(jù)管理系統(tǒng)的結(jié)構(gòu)第一章緒論1.1資料庫(kù)系統(tǒng)概述1.2數(shù)據(jù)模型1.3資料庫(kù)系統(tǒng)結(jié)構(gòu)1.4資料庫(kù)系統(tǒng)的組成1.5小結(jié)1.4資料庫(kù)系統(tǒng)的組成資料庫(kù)資料庫(kù)管理系統(tǒng)(及其開(kāi)發(fā)工具)應(yīng)用系統(tǒng)資料庫(kù)管理員(用戶(hù))一、硬體平臺(tái)及資料庫(kù)資料庫(kù)系統(tǒng)對(duì)硬體資源的要求(1)足夠大的記憶體操作系統(tǒng)DBMS的核心模組數(shù)據(jù)緩衝區(qū)應(yīng)用程式資料庫(kù)系統(tǒng)對(duì)硬體資源的要求(2)足夠大的外存磁片操作系統(tǒng)DBMS應(yīng)用程式資料庫(kù)及其備份光碟、磁帶、軟碟數(shù)據(jù)備份(3)較高的通道能力,提高數(shù)據(jù)傳送率二、軟體DBMS操作系統(tǒng)與資料庫(kù)介面的高級(jí)語(yǔ)言及其編譯系統(tǒng)以DBMS為核心的應(yīng)用開(kāi)發(fā)工具為特定應(yīng)用環(huán)境開(kāi)發(fā)的資料庫(kù)應(yīng)用系統(tǒng)三、人員資料庫(kù)管理員系統(tǒng)分析員資料庫(kù)設(shè)計(jì)人員應(yīng)用程式員(最終用戶(hù))1.資料庫(kù)管理員(DBA)決定資料庫(kù)中的資訊內(nèi)容和結(jié)構(gòu)決定資料庫(kù)的存儲(chǔ)結(jié)構(gòu)和存取策略定義數(shù)據(jù)的安全性要求和完整性約束條件資料庫(kù)管理員(續(xù))監(jiān)控資料庫(kù)的使用和運(yùn)行週期性轉(zhuǎn)儲(chǔ)資料庫(kù)數(shù)據(jù)檔日誌檔系統(tǒng)故障恢復(fù)介質(zhì)故障恢復(fù)監(jiān)視審計(jì)檔資料庫(kù)管理員(續(xù))資料庫(kù)的改進(jìn)和重組性能監(jiān)控和調(diào)優(yōu)數(shù)據(jù)重組資料庫(kù)重構(gòu)2.系統(tǒng)分析員負(fù)責(zé)應(yīng)用系統(tǒng)的需求分析和規(guī)範(fàn)說(shuō)明與用戶(hù)及DBA協(xié)商,確定系統(tǒng)的硬軟體配置參與資料庫(kù)系統(tǒng)的概要設(shè)計(jì)3.資料庫(kù)設(shè)計(jì)人員參加用戶(hù)需求調(diào)查和系統(tǒng)分析確定資料庫(kù)中的數(shù)據(jù)設(shè)計(jì)資料庫(kù)各級(jí)模式4.應(yīng)用程式員設(shè)計(jì)和編寫(xiě)應(yīng)用系統(tǒng)的程式模組進(jìn)行調(diào)試和安裝5.用戶(hù)偶然用戶(hù)企業(yè)或組織機(jī)構(gòu)的高中級(jí)管理人員簡(jiǎn)單用戶(hù)銀行的職員、機(jī)票預(yù)定人員、旅館總臺(tái)服務(wù)員用戶(hù)(續(xù))複雜用戶(hù)工程師、科學(xué)家、經(jīng)濟(jì)學(xué)家、科技工作者等直接使用資料庫(kù)語(yǔ)言訪問(wèn)資料庫(kù),甚至能夠基於資料庫(kù)管理系統(tǒng)的API編制自己的應(yīng)用程式第一章緒論1.1資料庫(kù)系統(tǒng)概述1.2數(shù)據(jù)模型1.3資料庫(kù)系統(tǒng)結(jié)構(gòu)1.4

資料庫(kù)系統(tǒng)的組成1.5小結(jié)小結(jié)資料庫(kù)系統(tǒng)概述資料庫(kù)的基本概念數(shù)據(jù)管理的發(fā)展過(guò)程資料庫(kù)系統(tǒng)的研究領(lǐng)域數(shù)據(jù)模型數(shù)據(jù)模型的三要素概念模型,E-R模型三種主要數(shù)據(jù)模型小結(jié)(續(xù))資料庫(kù)系統(tǒng)的結(jié)構(gòu)資料庫(kù)系統(tǒng)三級(jí)模式結(jié)構(gòu)資料庫(kù)系統(tǒng)的體系結(jié)構(gòu)資料庫(kù)系統(tǒng)的組成

下課了。。。追求休息一會(huì)兒。。。第二章關(guān)係資料庫(kù)2.1關(guān)係數(shù)據(jù)結(jié)構(gòu)及形式化定義2.2關(guān)係操作2.3關(guān)係的完整性2.4關(guān)係代數(shù)2.5關(guān)係演算2.6小結(jié)關(guān)係資料庫(kù)簡(jiǎn)介系統(tǒng)而嚴(yán)格地提出關(guān)係模型的是美國(guó)IBM公司的E.F.Codd1970年提出關(guān)係數(shù)據(jù)模型E.F.Codd,“ARelationalModelofDataforLargeSharedDataBanks”,《CommunicationoftheACM》,1970之後,提出了關(guān)係代數(shù)和關(guān)係演算的概念1972年提出了關(guān)係的第一、第二、第三範(fàn)式1974年提出了關(guān)係的BC範(fàn)式關(guān)係資料庫(kù)簡(jiǎn)介目前,關(guān)係資料庫(kù)系統(tǒng)的研究和開(kāi)發(fā)取得了很大的成就,是目前應(yīng)用最廣泛,最重要的資料庫(kù)系統(tǒng)。關(guān)係資料庫(kù)主要應(yīng)用數(shù)學(xué)方法來(lái)處理資料庫(kù)中的數(shù)據(jù)關(guān)係數(shù)據(jù)模型的原理、技術(shù)和應(yīng)用十分重要,是本書(shū),本課程的重點(diǎn)。關(guān)係資料庫(kù)簡(jiǎn)介關(guān)係資料庫(kù)系統(tǒng)是支持關(guān)係模型的資料庫(kù)系統(tǒng)。關(guān)係模型的組成關(guān)係數(shù)據(jù)結(jié)構(gòu)關(guān)係操作集合關(guān)係完整性約束第二章關(guān)係資料庫(kù)2.1關(guān)係數(shù)據(jù)結(jié)構(gòu)及形式化定義2.2關(guān)係操作2.3關(guān)係的完整性2.4關(guān)係代數(shù)(關(guān)係資料庫(kù)中實(shí)現(xiàn)關(guān)係操作的一種語(yǔ)言)2.5關(guān)係演算2.6小結(jié)2.1關(guān)係數(shù)據(jù)結(jié)構(gòu)及形式化定義2.1.1關(guān)係2.1.2關(guān)係模式2.1.3關(guān)係資料庫(kù)2.2.1關(guān)係⒈域(Domain)

2.笛卡爾積(CartesianProduct)

3.關(guān)係(Relation)⒈域(Domain)1)域是一組具有相同數(shù)據(jù)類(lèi)型的值的集合。例:整數(shù)實(shí)數(shù)介於某個(gè)取值範(fàn)圍的整數(shù)長(zhǎng)度指定長(zhǎng)度的字串集合{‘男’,‘女’}介於某個(gè)取值範(fàn)圍的日期2.笛卡爾積(CartesianProduct)1)笛卡爾積是域上面的一種集合運(yùn)算。定義2.2:給定一組域D1,D2,…,Dn,這些域中可以有相同的。D1,D2,…,Dn的笛卡爾積為:D1×D2×…×Dn={(d1,d2,…,dn)|di

Di,i=1,2,…,n}其中每一個(gè)元素(d1,d2,…,dn)叫做一個(gè)n元組或者簡(jiǎn)稱(chēng)元組。笛卡爾積(續(xù))例給出三個(gè)域:

D1=SUPERVISOR={張清玫,劉逸}

D2=SPECIALITY={電腦專(zhuān)業(yè),資訊專(zhuān)業(yè)}D3=POSTGRADUATE={李勇,劉晨,王敏}則D1,D2,D3的笛卡爾積為:D1×D2×D3={(張清玫,電腦專(zhuān)業(yè),李勇),(張清玫,電腦專(zhuān)業(yè),劉晨),

(張清玫,電腦專(zhuān)業(yè),王敏),(張清玫,資訊專(zhuān)業(yè),李勇),

(張清玫,資訊專(zhuān)業(yè),劉晨),(張清玫,資訊專(zhuān)業(yè),王敏),

(劉逸,電腦專(zhuān)業(yè),李勇),(劉逸,電腦專(zhuān)業(yè),劉晨),

(劉逸,電腦專(zhuān)業(yè),王敏),(劉逸,資訊專(zhuān)業(yè),李勇),

(劉逸,資訊專(zhuān)業(yè),劉晨),(劉逸,資訊專(zhuān)業(yè),王敏)}笛卡爾積(續(xù))2)元組(Tuple)笛卡爾積中每一個(gè)元素(d1,d2,…,dn)叫作一個(gè)n元組(n-tuple)或簡(jiǎn)稱(chēng)元組。

3)分量(Component)笛卡爾積元素(d1,d2,…,dn)中的每一個(gè)值di叫作一個(gè)分量。

笛卡爾積(續(xù))4)基數(shù)(Cardinalnumber)若Di(i=1,2,…,n)為有限集,其基數(shù)為mi(i=1,2,…,n),則D1×D2×…×Dn的基數(shù)M為:在上例中,基數(shù):2×2×3=12,即D1×D2×D3共有2×2×3=12個(gè)元組笛卡爾積(續(xù))5)笛卡爾積的表示方法笛卡爾積可表示為一個(gè)二維表。表中的每行對(duì)應(yīng)一個(gè)元組,表中的每列對(duì)應(yīng)一個(gè)域。在上例中,12個(gè)元組可列成一張二維表

3.關(guān)係(Relation)1)關(guān)係D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的關(guān)係,表示為

R(D1,D2,…,Dn)

R:關(guān)係名

n:關(guān)係的目或度(Degree)關(guān)係(續(xù))注意:關(guān)係是笛卡爾積的有限子集。無(wú)限關(guān)係在資料庫(kù)系統(tǒng)中是無(wú)意義的。由於笛卡爾積不滿(mǎn)足交換律,即

(d1,d2,…,dn)≠(d2,d1,…,dn)

但關(guān)係滿(mǎn)足交換律,即(d1,d2,…,di,dj,…,dn)=(d1,d2,…,dj,di

,…,dn)(i,j=1,2,…,n)解決方法:為關(guān)係的每個(gè)列附加一個(gè)屬性名以取消關(guān)係元組的有序性關(guān)係(續(xù))例在表2.1的笛卡爾積中取出有實(shí)際意義的元組來(lái)構(gòu)造關(guān)係關(guān)係:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)關(guān)係名,屬性名假設(shè):專(zhuān)業(yè)與導(dǎo)師:1:n,導(dǎo)師與研究生:1:n。那麼,表2.1中的一個(gè)子集才是有實(shí)際意義的。把該關(guān)係取名為SAP.於是:SAP關(guān)係可以包含三個(gè)元組{(張清玫,電腦專(zhuān)業(yè),李勇),

(張清玫,電腦專(zhuān)業(yè),劉晨),

(劉逸,資訊專(zhuān)業(yè),王敏)}

關(guān)係(續(xù))2)元組關(guān)係中的每個(gè)元素是關(guān)係中的元組,通常用t表示。3)單元關(guān)係與二元關(guān)係當(dāng)n=1時(shí),稱(chēng)該關(guān)係為單元關(guān)係(Unaryrelation)。當(dāng)n=2時(shí),稱(chēng)該關(guān)係為二元關(guān)係(Binaryrelation)。關(guān)係(續(xù))4)關(guān)係的表示關(guān)係也是一個(gè)二維表,表的每行對(duì)應(yīng)一個(gè)元組,表的每列對(duì)應(yīng)一個(gè)域。表2.2SAP關(guān)係SUPERVISORSPECIALITYPOSTGRADUATE張清玫電腦專(zhuān)業(yè)李勇張清玫電腦專(zhuān)業(yè)劉晨張清玫資訊專(zhuān)業(yè)王敏關(guān)係(續(xù))5)屬性關(guān)係中不同列可以對(duì)應(yīng)相同的域,為了加以區(qū)分,必須對(duì)每列起一個(gè)名字,稱(chēng)為屬性(Attribute)。n目關(guān)係必有n個(gè)屬性。關(guān)係(續(xù))6)碼候選碼(Candidatekey)若關(guān)係中的某一屬性組的值能唯一地標(biāo)識(shí)一個(gè)元組,則稱(chēng)該屬性組為候選碼在最簡(jiǎn)單的情況下,候選碼只包含一個(gè)屬性。在最極端的情況下,關(guān)係模式的所有屬性組是這個(gè)關(guān)係模式的候選碼,稱(chēng)為全碼(All-key)關(guān)係(續(xù))碼(續(xù))主碼若一個(gè)關(guān)係有多個(gè)候選碼,則選定其中一個(gè)為主碼(Primarykey)主碼的諸屬性稱(chēng)為主屬性(Primeattribute)。不包含在任何侯選碼中的屬性稱(chēng)為非碼屬性(Non-keyattribute)關(guān)係(續(xù))7)三類(lèi)關(guān)係基本關(guān)係(基本表或基表)實(shí)際存在的表,是實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示查詢(xún)表查詢(xún)結(jié)果對(duì)應(yīng)的表視圖表由基本表或其他視圖表導(dǎo)出的表,是虛表,不對(duì)應(yīng)實(shí)際存儲(chǔ)的數(shù)據(jù)8)基本關(guān)係的性質(zhì)①列是同質(zhì)的(Homogeneous)每一列中的分量是同一類(lèi)型的數(shù)據(jù),來(lái)自同一個(gè)域。②不同的列可出自同一個(gè)域其中的每一列稱(chēng)為一個(gè)屬性;不同的屬性要給予不同的屬性名?;娟P(guān)係的性質(zhì)(續(xù))上例中也可以只給出兩個(gè)域:人(PERSON)=張清玫,劉逸,李勇,劉晨,王敏專(zhuān)業(yè)(SPECIALITY)=電腦專(zhuān)業(yè),資訊專(zhuān)業(yè)SAP關(guān)係的導(dǎo)師屬性和研究生屬性都從PERSON域中取值為了避免混淆,必須給這兩個(gè)屬性取不同的屬性名,而不能直接使用功能變數(shù)名稱(chēng)。例如定義:導(dǎo)師屬性名為SUPERVISOR-PERSON(或SUPERVISOR)研究生屬性名為POSTGRADUATE-PERSON(或POSTGRADUATE)基本關(guān)係的性質(zhì)(續(xù))③列的順序無(wú)所謂列的次序可以任意交換遵循這一性質(zhì)的資料庫(kù)產(chǎn)品(如ORACLE),增加新屬性時(shí),永遠(yuǎn)是插至最後一列但也有許多關(guān)係資料庫(kù)產(chǎn)品沒(méi)有遵循這一性質(zhì),例如FoxPro仍然區(qū)分了屬性順序基本關(guān)係的性質(zhì)(續(xù))④任意兩個(gè)元組不能完全相同由笛卡爾積的性質(zhì)決定但許多關(guān)係資料庫(kù)產(chǎn)品沒(méi)有遵循這一性質(zhì)。例如:Oracle,F(xiàn)oxPro等都允許關(guān)係表中存在兩個(gè)完全相同的元組,除非用戶(hù)特別定義了相應(yīng)的約束條件?;娟P(guān)係的性質(zhì)(續(xù))⑤行的順序無(wú)所謂行的次序可以任意交換遵循這一性質(zhì)的資料庫(kù)產(chǎn)品(如ORACLE),插入一個(gè)元組時(shí)永遠(yuǎn)插至最後一行但也有許多關(guān)係資料庫(kù)產(chǎn)品沒(méi)有遵循這一性質(zhì),例如FoxPro仍然區(qū)分了元組的順序基本關(guān)係的性質(zhì)(續(xù))⑥分量必須取原子值每一個(gè)分量都必須是不可分的資料項(xiàng)目。這是規(guī)範(fàn)條件中最基本的一條2.1關(guān)係數(shù)據(jù)結(jié)構(gòu)2.1.1關(guān)係2.1.2關(guān)係模式2.1.3關(guān)係資料庫(kù)2.2.2關(guān)係模式1.什麼是關(guān)係模式2.定義關(guān)係模式3.關(guān)係模式與關(guān)係1.什麼是關(guān)係模式關(guān)係模式(RelationSchema)是型關(guān)係是值關(guān)係模式是對(duì)關(guān)係的描述那麼,關(guān)係需要描述哪些方面呢?1.什麼是關(guān)係模式1.關(guān)係是元組的集合。因此關(guān)係模式必須指出這個(gè)元組集合的結(jié)構(gòu),即:

①關(guān)係由哪些屬性構(gòu)成②屬性來(lái)自哪些域③屬性與域之間的映象關(guān)係2.元組語(yǔ)義以及完整性約束條件即凡符合元組語(yǔ)義的那部分元素的全體構(gòu)成了該關(guān)係模式的關(guān)係。3.不同時(shí)刻,關(guān)係模式的關(guān)係會(huì)發(fā)生變化。對(duì)關(guān)係的描述成為關(guān)係模式,定義如下:2.定義關(guān)係模式關(guān)係模式可以形式化地表示為:

R(U,D,dom,F(xiàn))

R關(guān)係名

U

組成該關(guān)係的屬性名集合

D

屬性組U中屬性所來(lái)自的域

dom屬性向域的映象集合

F

屬性間的數(shù)據(jù)依賴(lài)關(guān)係集合定義關(guān)係模式(續(xù))例:導(dǎo)師和研究生出自同一個(gè)域——人,取不同的屬性名,並在模式中定義屬性向域的映象,即說(shuō)明它們分別出自哪個(gè)域:

dom(SUPERVISOR-PERSON)=dom(POSTGRADUATE-PERSON)=PERSON定義關(guān)係模式(續(xù))關(guān)係模式通??梢院?jiǎn)記為

R(U)

R(A1,A2,…,An)

R關(guān)係名A1,A2,…,An屬性名注:功能變數(shù)名稱(chēng)及屬性向域的映象常常直接說(shuō)明為屬性的類(lèi)型、長(zhǎng)度3.關(guān)係模式與關(guān)係關(guān)係模式對(duì)關(guān)係的描述靜態(tài)的、穩(wěn)定的關(guān)係關(guān)係模式在某一時(shí)刻的狀態(tài)或內(nèi)容動(dòng)態(tài)的、隨時(shí)間不斷變化的關(guān)係模式和關(guān)係往往統(tǒng)稱(chēng)為關(guān)係通過(guò)上下文加以區(qū)別2.1關(guān)係數(shù)據(jù)結(jié)構(gòu)2.1.1關(guān)係2.1.2關(guān)係模式2.1.3關(guān)係資料庫(kù)2.2.3關(guān)係資料庫(kù)1.關(guān)係資料庫(kù)2.關(guān)係資料庫(kù)的型與值1.關(guān)係資料庫(kù)

在一個(gè)給定的應(yīng)用領(lǐng)域中,所有實(shí)體及實(shí)體之間聯(lián)繫的關(guān)係的集合構(gòu)成一個(gè)關(guān)係資料庫(kù)。2.關(guān)係資料庫(kù)的型與值關(guān)係資料庫(kù)也有型和值之分關(guān)係資料庫(kù)的型稱(chēng)為關(guān)係資料庫(kù)模式,是對(duì)關(guān)係資料庫(kù)的描述若干域的定義在這些域上定義的若干關(guān)係模式關(guān)係資料庫(kù)的值是這些關(guān)係模式在某一時(shí)刻對(duì)應(yīng)的關(guān)係的集合,通常簡(jiǎn)稱(chēng)為關(guān)係資料庫(kù)第二章關(guān)係資料庫(kù)2.1關(guān)係數(shù)據(jù)結(jié)構(gòu)及形式化定義2.2關(guān)係操作2.3關(guān)係的完整性2.4關(guān)係代數(shù)2.5關(guān)係演算2.6小結(jié)2.2關(guān)係操作

2.2.1基本的關(guān)係操作2.2.2關(guān)係數(shù)據(jù)語(yǔ)言的種類(lèi)關(guān)係操作集合(續(xù))1)基本的關(guān)係操作查詢(xún)操作選擇、投影、連接、除、並、交、差、笛卡兒積數(shù)據(jù)更新操作插入、刪除、修改查詢(xún)的表達(dá)能力是其中最主要的部分關(guān)係操作集合(續(xù))關(guān)係操作的特點(diǎn)集合操作方式,即操作的對(duì)象和結(jié)果都是集合。非關(guān)係數(shù)據(jù)模型的數(shù)據(jù)操作方式:一次一記錄檔系統(tǒng)的數(shù)據(jù)操作方式關(guān)係操作集合(續(xù))2.2.2關(guān)係數(shù)據(jù)語(yǔ)言的分類(lèi)1.關(guān)係代數(shù)語(yǔ)言用對(duì)關(guān)係的運(yùn)算來(lái)表達(dá)查詢(xún)要求典型代表:ISBL關(guān)係操作集合(續(xù))2.關(guān)係演算語(yǔ)言:用謂詞來(lái)表達(dá)查詢(xún)要求元組關(guān)係演算語(yǔ)言謂詞變?cè)幕緦?duì)象是元組變數(shù)典型代表:APLHA,QUEL域關(guān)係演算語(yǔ)言謂詞變?cè)幕緦?duì)象是域變數(shù)典型代表:QBE3.具有關(guān)係代數(shù)和關(guān)係演算雙重特點(diǎn)的語(yǔ)言典型代表:SQL關(guān)係操作集合(續(xù))

關(guān)係數(shù)據(jù)語(yǔ)言的特點(diǎn)關(guān)係語(yǔ)言是一種高度非過(guò)程化的語(yǔ)言存取路徑的選擇由DBMS的優(yōu)化機(jī)制來(lái)完成用戶(hù)不必用迴圈結(jié)構(gòu)就可以完成數(shù)據(jù)操作能夠嵌入高級(jí)語(yǔ)言中使用關(guān)係代數(shù)、元組關(guān)係演算和域關(guān)係演算三種語(yǔ)言在表達(dá)能力上完全等價(jià)。三種語(yǔ)言都是抽象的查詢(xún)語(yǔ)言,與具體的RDBMS中實(shí)現(xiàn)的實(shí)際語(yǔ)言並不完全一樣,但能用作評(píng)估實(shí)際系統(tǒng)中查詢(xún)語(yǔ)言能力的標(biāo)準(zhǔn)和基礎(chǔ)。第二章關(guān)係資料庫(kù)2.1關(guān)係數(shù)據(jù)結(jié)構(gòu)及形式化定義2.2關(guān)係操作2.3關(guān)係的完整性2.4關(guān)係代數(shù)2.5關(guān)係演算2.6小結(jié)關(guān)係的完整性(續(xù))2.3.1關(guān)係的三類(lèi)完整性約束2.3.2實(shí)體完整性2.3.3參照完整性2.3.4用戶(hù)定義的完整性2.3關(guān)係的完整性關(guān)係模型的完整性規(guī)則是對(duì)關(guān)係的某種約束條件。關(guān)係模型中三類(lèi)完整性約束:實(shí)體完整性參照完整性用戶(hù)定義的完整性實(shí)體完整性和參照完整性是關(guān)係模型必須滿(mǎn)足的完整性約束條件,被稱(chēng)作是關(guān)係的兩個(gè)不變性,應(yīng)該由關(guān)係系統(tǒng)自動(dòng)支持。1.關(guān)係的三類(lèi)完整性約束實(shí)體完整性通常由關(guān)係系統(tǒng)自動(dòng)支持參照完整性早期系統(tǒng)不支持,目前大型系統(tǒng)能自動(dòng)支持用戶(hù)定義的完整性反映應(yīng)用領(lǐng)域需要遵循的約束條件,體現(xiàn)了具體領(lǐng)域中的語(yǔ)義約束用戶(hù)定義後由系統(tǒng)支持關(guān)係的完整性(續(xù))2.3.1關(guān)係的三類(lèi)完整性約束2.3.2實(shí)體完整性2.3.3參照完整性2.3.4用戶(hù)定義的完整性2.3.1實(shí)體完整性規(guī)則五2.1實(shí)體完整性規(guī)則(EntityIntegrity)若屬性A是基本關(guān)係R的主屬性,則屬性A不能取空值。例SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)POSTGRADUATE屬性為主碼(假設(shè)研究生不會(huì)重名),則其不能取空值實(shí)體完整性(續(xù))關(guān)係模型必須遵守實(shí)體完整性規(guī)則的原因(1)實(shí)體完整性規(guī)則是針對(duì)基本關(guān)係而言的。一個(gè)基本表通常對(duì)應(yīng)現(xiàn)實(shí)世界的一個(gè)實(shí)體集。(2)現(xiàn)實(shí)世界中的實(shí)體和實(shí)體間的聯(lián)繫都是可區(qū)分的,即它們具有某種唯一性標(biāo)識(shí)。(3)相應(yīng)地,關(guān)係模型中以主碼作為唯一性標(biāo)識(shí)。實(shí)體完整性(續(xù))(4)主碼中的屬性即主屬性不能取空值??罩稻褪恰安恢馈被颉盁o(wú)意義”的值。主屬性取空值,就說(shuō)明存在某個(gè)不可標(biāo)識(shí)的實(shí)體,即存在不可區(qū)分的實(shí)體,這與第(2)點(diǎn)相矛盾,因此這個(gè)規(guī)則稱(chēng)為實(shí)體完整性。實(shí)體完整性(續(xù))注意:實(shí)體完整性規(guī)則規(guī)定基本關(guān)係的所有主屬性都不能取空值例選修(學(xué)號(hào),課程號(hào),成績(jī))“學(xué)號(hào)、課程號(hào)”為主碼,則兩個(gè)屬性都不能取空值。關(guān)係的完整性2.3.1關(guān)係的三類(lèi)完整性約束2.3.2實(shí)體完整性2.3.3參照完整性2.3.4用戶(hù)定義的完整性2.3.2參照完整性1.關(guān)係間的引用2.外碼3.參照完整性規(guī)則1.關(guān)係間的引用在關(guān)係模型中實(shí)體及實(shí)體間的聯(lián)繫都是用關(guān)係來(lái)描述的,因此可能存在著關(guān)係與關(guān)係間的引用。例1學(xué)生實(shí)體、專(zhuān)業(yè)實(shí)體以及專(zhuān)業(yè)與學(xué)生間的一對(duì)多聯(lián)繫學(xué)生(學(xué)號(hào),姓名,性別,專(zhuān)業(yè)號(hào),年齡)專(zhuān)業(yè)(專(zhuān)業(yè)號(hào),專(zhuān)業(yè)名)關(guān)係間的引用(續(xù))例2學(xué)生、課程、學(xué)生與課程之間的多對(duì)多聯(lián)繫學(xué)生(學(xué)號(hào),姓名,性別,專(zhuān)業(yè)號(hào),年齡)課程(課程號(hào),課程名,學(xué)分)選修(學(xué)號(hào),課程號(hào),成績(jī))

學(xué)生學(xué)生選課課程關(guān)係間的引用(續(xù))例3學(xué)生實(shí)體及其內(nèi)部的領(lǐng)導(dǎo)聯(lián)繫(一對(duì)多)

學(xué)生(學(xué)號(hào),姓名,性別,專(zhuān)業(yè)號(hào),年齡,班長(zhǎng))2.外碼(ForeignKey)定義2.5設(shè)F是基本關(guān)係R的一個(gè)或一組屬性,但不是關(guān)係R的碼。如果F與基本關(guān)係S的主碼Ks相對(duì)應(yīng),則稱(chēng)F是基本關(guān)係R的外碼。基本關(guān)係R稱(chēng)為參照關(guān)係(ReferencingRelation)基本關(guān)係S稱(chēng)為被參照關(guān)係(ReferencedRelation)或目標(biāo)關(guān)係(TargetRelation)。外碼(續(xù))說(shuō)明:關(guān)係R和S不一定是不同的關(guān)係。目標(biāo)關(guān)係S的主碼Ks和參照關(guān)係的外碼F必須定義在同一個(gè)(或一組)域上。外碼並不一定要與相應(yīng)的主碼同名。當(dāng)外碼與相應(yīng)的主碼屬於不同關(guān)係時(shí),往往取相同的名字,以便於識(shí)別。3.參照完整性規(guī)則規(guī)則2.2若屬性(或?qū)傩越M)F是基本關(guān)係R的外碼它與基本關(guān)係S的主碼Ks相對(duì)應(yīng)(基本關(guān)係R和S不一定是不同的關(guān)係),則對(duì)於R中每個(gè)元組在F上的值必須為:

或者取空值(F的每個(gè)屬性值均為空值)

或者等於S中某個(gè)元組的主碼值。參照完整性規(guī)則(續(xù))學(xué)生關(guān)係中每個(gè)元組的“專(zhuān)業(yè)號(hào)”屬性只取下麵兩類(lèi)值:(1)空值,表示尚未給該學(xué)生分配專(zhuān)業(yè)(2)非空值,這時(shí)該值必須是專(zhuān)業(yè)關(guān)係中某個(gè)元組的“專(zhuān)業(yè)號(hào)”值,表示該學(xué)生不可能分配到一個(gè)不存在的專(zhuān)業(yè)中參照完整性規(guī)則(續(xù))

選修(學(xué)號(hào),課程號(hào),成績(jī))“學(xué)號(hào)”和“課程號(hào)”是選修關(guān)係中的主屬性,按照實(shí)體完整性和參照完整性規(guī)則,它們只能取相應(yīng)被參照關(guān)係中已經(jīng)存在的主碼值。參照完整性規(guī)則(續(xù))學(xué)生(學(xué)號(hào),姓名,性別,專(zhuān)業(yè)號(hào),年齡,班長(zhǎng))“班長(zhǎng)”屬性值可以取兩類(lèi)值:(1)空值,表示該學(xué)生所在班級(jí)尚未選出班長(zhǎng),或該學(xué)生本人即是班長(zhǎng);(2)非空值,這時(shí)該值必須是本關(guān)係中某個(gè)元組的學(xué)號(hào)值關(guān)係的完整性(續(xù))2.3.1關(guān)係的三類(lèi)完整性約束2.3.2實(shí)體完整性2.3.3參照完整性2.3.4用戶(hù)定義的完整性2.3.3用戶(hù)定義的完整性用戶(hù)定義的完整性是針對(duì)某一具體關(guān)係資料庫(kù)的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿(mǎn)足的語(yǔ)義要求。關(guān)係模型應(yīng)提供定義和檢驗(yàn)這類(lèi)完整性的機(jī)制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由應(yīng)用程式承擔(dān)這一功能。用戶(hù)定義的完整性(續(xù))例:

課程(課程號(hào),課程名,學(xué)分)“課程號(hào)”屬性必須取唯一值非主屬性“課程名”也不能取空值“學(xué)分”屬性只能取值{1,2,3,4}小結(jié)關(guān)係數(shù)據(jù)結(jié)構(gòu)

關(guān)係域笛卡爾積關(guān)係關(guān)係,屬性,元組候選碼,主碼,主屬性基本關(guān)係的性質(zhì)關(guān)係模式關(guān)係資料庫(kù)關(guān)係的數(shù)據(jù)操作集合查詢(xún)選擇、投影、連接、除、並、交、差數(shù)據(jù)更新插入、刪除、修改關(guān)係的完整性約束實(shí)體完整性參照完整性外碼用戶(hù)定義的完整性

下課了。。。追求休息一會(huì)兒。。。第二章關(guān)係資料庫(kù)2.1關(guān)係數(shù)據(jù)結(jié)構(gòu)及形式化定義2.2關(guān)係操作2.3關(guān)係的完整性2.4關(guān)係代數(shù)2.5關(guān)係演算2.6小結(jié)2.4

關(guān)係代數(shù)

概述

傳統(tǒng)的集合運(yùn)算專(zhuān)門(mén)的關(guān)係運(yùn)算概述1.關(guān)係代數(shù)2.關(guān)係代數(shù)運(yùn)算的三個(gè)要素3.關(guān)係代數(shù)運(yùn)算的分類(lèi)4.一些約定概述1.關(guān)係代數(shù) 一種抽象的查詢(xún)語(yǔ)言 用對(duì)關(guān)係的運(yùn)算來(lái)表達(dá)查詢(xún)概述(續(xù))2.關(guān)係代數(shù)運(yùn)算的三個(gè)要素運(yùn)算對(duì)象:關(guān)係運(yùn)算結(jié)果:關(guān)係運(yùn)算符:有集合運(yùn)算符、專(zhuān)門(mén)的關(guān)係運(yùn)算符、算術(shù)比較符和邏輯運(yùn)算符四類(lèi)概述(續(xù))3.關(guān)係代數(shù)運(yùn)算的分類(lèi) 傳統(tǒng)的集合運(yùn)算並、差、交、廣義笛卡爾積 專(zhuān)門(mén)的關(guān)係運(yùn)算選擇、投影、連接、除概述(續(xù))4.一些約定(表示記號(hào)

)(1)R,t

R,t[Ai]

(2)A,t[A],A(3)trts稱(chēng)為元組的連接(4)象集Zx給定一個(gè)關(guān)係R(X,Z),X和Z為屬性組。當(dāng)t[X]=x時(shí),x在R中的象集(ImagesSet)為:

Zx={t[Z]|t

R,t[X]=x}

它表示R中屬性組X上值為x的諸元組在Z上分量的集合。2.4

關(guān)係代數(shù)

概述

傳統(tǒng)的集合運(yùn)算

專(zhuān)門(mén)的關(guān)係運(yùn)算2.4.1傳統(tǒng)的集合運(yùn)算並差交廣義笛卡爾積1.並(Union)R和S具有相同的目n(即兩個(gè)關(guān)係都有n個(gè)屬性)相應(yīng)的屬性取自同一個(gè)域R∪S

仍為n目關(guān)係,由屬於R或?qū)凫禨的元組組成

R∪S={t|t

R∨t

S}並(續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∪S

2.差(Difference)R和S具有相同的目n相應(yīng)的屬性取自同一個(gè)域R-S

仍為n目關(guān)係,由屬於R而不屬於S的所有元組組成

R-S={t|t

R∧t

S}差(續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-S

3.交(Intersection)R和S具有相同的目n相應(yīng)的屬性取自同一個(gè)域R∩S仍為n目關(guān)係,由既屬於R又屬於S的元組組成

R∩S={t|t

R∧t

S} R∩S=R–(R-S)交(續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∩S

4.廣義笛卡爾積(ExtendedCartesianProduct)Rn目關(guān)係,k1個(gè)元組Sm目關(guān)係,k2個(gè)元組R×S

列:(n+m)列的元組的集合元組的前n列是關(guān)係R的一個(gè)元組後m列是關(guān)係S的一個(gè)元組行:k1×k2個(gè)元組R×S={tr

ts|tr

R∧ts

S}廣義笛卡爾積(續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR×S

ABCa1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c12.4

關(guān)係代數(shù)概述傳統(tǒng)的集合運(yùn)算專(zhuān)門(mén)的關(guān)係運(yùn)算2.4.2專(zhuān)門(mén)的關(guān)係運(yùn)算選擇投影連接除1.選擇(Selection)1)選擇又稱(chēng)為限制(Restriction)2)選擇運(yùn)算符的含義在關(guān)係R中選擇滿(mǎn)足給定條件的諸元組

σF(R)={t|t

R∧F(t)='真'}F:選擇條件,是一個(gè)邏輯運(yùn)算式

選擇(續(xù))3)選擇運(yùn)算是從行的角度進(jìn)行的運(yùn)算4)舉例 設(shè)有一個(gè)學(xué)生-課程資料庫(kù),包括學(xué)生關(guān)係Student、課程關(guān)係Course和選修關(guān)係SC。σ選擇(續(xù))學(xué)號(hào)Sno姓名Sname性別Ssex年齡Sage所在系Sdept95001李勇男20IS95002劉晨女19CS95003王敏女18MA95004張立男19CS(a)

Student例1例2例4例3例9選擇(續(xù))(b)Course課程號(hào)課程名先行課學(xué)分CnoCnameCpnoCcredit1資料庫(kù)542數(shù)學(xué)

23資訊系統(tǒng)144操作系統(tǒng)635數(shù)據(jù)結(jié)構(gòu)746數(shù)據(jù)處理

27PASCAL語(yǔ)言64例9選擇(續(xù))

(c)SC學(xué)號(hào)課程號(hào)成績(jī)SnoCnoGrade9500119295001285950013889500229095002380例7例9選擇(續(xù))[例1]查詢(xún)電腦科學(xué)系(CS)全體學(xué)生

σSdept

=‘CS'(Student)

或σ5=‘IS'(Student)SnoSnameSsexSageSdept95002劉晨女19CS95004張立男19CS選擇(續(xù))[例2]查詢(xún)年齡小於20歲的學(xué)生資訊

σSage<20(Student)

或σ4<20(Student)

SnoSnameSsexSageSdept95002劉晨女19CS95003王敏女18MA95004張立男19CS選擇(續(xù))[例3]查詢(xún)1號(hào)課程且成績(jī)?cè)?0分以上的學(xué)生資訊

σCno=‘1’^Grade>90(SC)

或σGrade>90(

σCno=‘1’(SC))

或σCno=‘1’(SC)∩σGrade>90(SC)

選擇(續(xù))[例4]查詢(xún)沒(méi)有選修1號(hào)課程的學(xué)生資訊

2.投影(Projection)1)投影運(yùn)算符的含義從R中選擇出若干屬性列組成新的關(guān)係

πA(R)={t[A]|t

R} A:R中的屬性列

2.投影(Projection)2)投影操作主要是從列的角度進(jìn)行運(yùn)算但投影之後不僅取消了原關(guān)係中的某些列,而且還可能取消某些元組(避免重複行)π投影(續(xù))3)舉例[例]查詢(xún)學(xué)生的姓名和所在系即求Student關(guān)係上學(xué)生姓名和所在系兩個(gè)屬性上的投影

πSname,Sdept(Student)

或π2,5(Student)結(jié)果:

投影(續(xù))SnameSdept李勇CS劉晨IS王敏MA張立IS投影(續(xù))[例]查詢(xún)學(xué)生關(guān)係Student中都有哪些系

πSdept(Student)

結(jié)果:SdeptCSISMA選擇(續(xù))[例]查詢(xún)選修1號(hào)課程的學(xué)生學(xué)號(hào)

πSnoσCno=’1’(SC)選擇(續(xù))[例]查詢(xún)沒(méi)有選修1號(hào)課程的學(xué)生學(xué)號(hào)

πSno(Student)-πSnoσCno=’1’(SC)選擇(續(xù))[例]查詢(xún)選修1號(hào)課程的學(xué)生姓名

3.連接(Join)1)連接也稱(chēng)為θ連接2)連接運(yùn)算的含義從兩個(gè)關(guān)係的笛卡爾積中

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論