數(shù)據(jù)庫(kù)原理及應(yīng)用教程_第1頁(yè)
數(shù)據(jù)庫(kù)原理及應(yīng)用教程_第2頁(yè)
數(shù)據(jù)庫(kù)原理及應(yīng)用教程_第3頁(yè)
數(shù)據(jù)庫(kù)原理及應(yīng)用教程_第4頁(yè)
數(shù)據(jù)庫(kù)原理及應(yīng)用教程_第5頁(yè)
已閱讀5頁(yè),還剩216頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)應(yīng)用技術(shù)數(shù)據(jù)庫(kù)原理及應(yīng)用教程第一章數(shù)據(jù)庫(kù)系統(tǒng)概述(1)第二章關(guān)系數(shù)據(jù)庫(kù)(2)第三章關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言-SQL(4)第四章關(guān)系數(shù)據(jù)庫(kù)理論(3)第五章數(shù)據(jù)庫(kù)安全保護(hù)(2)第六章數(shù)據(jù)庫(kù)設(shè)計(jì)(2)第七章SQLServer2000高級(jí)應(yīng)用(2)第一章數(shù)據(jù)庫(kù)系統(tǒng)概述1.1數(shù)據(jù)庫(kù)系統(tǒng)的產(chǎn)生、發(fā)展和當(dāng)前流行的數(shù)據(jù)庫(kù)1.2數(shù)據(jù)庫(kù)系統(tǒng)的組成1.3數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu)1.4數(shù)據(jù)庫(kù)管理系統(tǒng)1.5數(shù)據(jù)模式1.6四種數(shù)據(jù)模型1.1數(shù)據(jù)庫(kù)系統(tǒng)的產(chǎn)生、發(fā)展和當(dāng)前流行的數(shù)據(jù)庫(kù)隨著計(jì)算機(jī)硬件和軟件的發(fā)展,數(shù)據(jù)管理經(jīng)歷了人工管理、文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)三個(gè)發(fā)展階段人工管理階段(50年代中期以前)文件系統(tǒng)階段(50年代后期至60年代中期)數(shù)據(jù)庫(kù)系統(tǒng)階段(60年代末開(kāi)始)1.1數(shù)據(jù)庫(kù)系統(tǒng)的產(chǎn)生、發(fā)展和當(dāng)前流行的數(shù)據(jù)庫(kù)1964年,美國(guó)通用電氣公司成功開(kāi)發(fā)了世界上的第一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)——IDS(IntegratedDataStore)。IDS奠定了網(wǎng)狀數(shù)據(jù)庫(kù)的基礎(chǔ),并且得到了廣泛的發(fā)行和應(yīng)用,成為數(shù)據(jù)庫(kù)系統(tǒng)發(fā)展史上的一座豐碑。1968年,美國(guó)國(guó)際商用機(jī)器公司(IBM)也推出世界上第一個(gè)層次數(shù)據(jù)庫(kù)系統(tǒng)IMS(InformationManagementSystem),同樣在數(shù)據(jù)庫(kù)系統(tǒng)發(fā)展史上占有重要的地位。1.1數(shù)據(jù)庫(kù)系統(tǒng)的產(chǎn)生、發(fā)展和當(dāng)前流行的數(shù)據(jù)庫(kù)七十年代初,E.F.Codd在總結(jié)前面的層次、網(wǎng)狀數(shù)據(jù)庫(kù)優(yōu)缺點(diǎn)的基礎(chǔ)上,提出了關(guān)系數(shù)據(jù)模型的概念。他提出了關(guān)系代數(shù)和關(guān)系演算(直到今天,在E.F.Codd的這些基本理論還在左右這數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展,也依然是高校計(jì)算機(jī)專業(yè)課堂上所要講述的重要內(nèi)容)。1.1數(shù)據(jù)庫(kù)系統(tǒng)的產(chǎn)生、發(fā)展和當(dāng)前流行的數(shù)據(jù)庫(kù)在理論上,確立了完整的關(guān)系模型理論、數(shù)據(jù)依賴?yán)碚摵完P(guān)系數(shù)據(jù)庫(kù)的設(shè)計(jì)理論(在后面將重點(diǎn)講述這些關(guān)系數(shù)據(jù)庫(kù)的基本理論);在實(shí)踐上,世界上出現(xiàn)了很多著名的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),比較著名的如SystemR,INGRES,Oracle等。1.1數(shù)據(jù)庫(kù)系統(tǒng)的產(chǎn)生、發(fā)展和當(dāng)前流行的數(shù)據(jù)庫(kù)/china/sql/2008/

//課堂提問(wèn)1、P421.131.152、P422.12.10第一章數(shù)據(jù)庫(kù)系統(tǒng)概述1.1數(shù)據(jù)庫(kù)系統(tǒng)的產(chǎn)生、發(fā)展和當(dāng)前流行的數(shù)據(jù)庫(kù)1.2數(shù)據(jù)庫(kù)系統(tǒng)的組成1.3數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu)1.4數(shù)據(jù)庫(kù)管理系統(tǒng)1.5數(shù)據(jù)模式1.6四種數(shù)據(jù)模型1.2數(shù)據(jù)庫(kù)系統(tǒng)的組成數(shù)據(jù)庫(kù)系統(tǒng)通常是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng)構(gòu)成,由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)用戶、計(jì)算機(jī)硬件系統(tǒng)和計(jì)算機(jī)軟件系統(tǒng)等級(jí)部分組成。1.2數(shù)據(jù)庫(kù)系統(tǒng)的組成用戶1用戶2用戶n用戶…數(shù)據(jù)庫(kù)管理員軟件系統(tǒng)應(yīng)用系統(tǒng)應(yīng)用開(kāi)發(fā)工具DBMS操作系統(tǒng)(OS)數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)是存儲(chǔ)在計(jì)算機(jī)內(nèi)、有組織的、可共享的數(shù)據(jù)集合。 數(shù)據(jù)庫(kù)中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和存儲(chǔ),具有較少的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并為各個(gè)用戶共享。用戶用戶是指使用數(shù)據(jù)庫(kù)的人,他們可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)、維護(hù)和檢索等操作。第一類用戶:終端用戶;第二類用戶:應(yīng)用程序員第三類用戶:數(shù)據(jù)庫(kù)管理員(DBA)軟件系統(tǒng)軟件系統(tǒng)主要包括數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)及其開(kāi)發(fā)工具、操作系統(tǒng)和應(yīng)用系統(tǒng)。DBMS完成對(duì)硬件的訪問(wèn),并對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行存取、維護(hù)和管理,完成數(shù)據(jù)庫(kù)系統(tǒng)的各類人員、應(yīng)用程序等對(duì)數(shù)據(jù)庫(kù)的各種操作請(qǐng)求。DBMS是數(shù)據(jù)庫(kù)系統(tǒng)的核心軟件。硬件系統(tǒng)硬件系統(tǒng)指存儲(chǔ)和運(yùn)行數(shù)據(jù)庫(kù)系統(tǒng)的硬件設(shè)備1.2數(shù)據(jù)庫(kù)系統(tǒng)的組成應(yīng)用系統(tǒng)應(yīng)用開(kāi)發(fā)工具DBMS操作系統(tǒng)硬件課堂提問(wèn)1、P433.62、P411.11.23、P422.42.5第一章數(shù)據(jù)庫(kù)系統(tǒng)概述1.1數(shù)據(jù)庫(kù)系統(tǒng)的產(chǎn)生、發(fā)展和當(dāng)前流行的數(shù)據(jù)庫(kù)1.2數(shù)據(jù)庫(kù)系統(tǒng)的組成1.3數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu)1.4數(shù)據(jù)庫(kù)管理系統(tǒng)1.5數(shù)據(jù)模式1.6四種數(shù)據(jù)模型1.3數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu)(重點(diǎn))數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)模式的概念數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)的二級(jí)映像與數(shù)據(jù)獨(dú)立性數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式與二級(jí)映像的優(yōu)點(diǎn)1.3數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu)可以從多種不同的角度考查數(shù)據(jù)庫(kù)系統(tǒng)的結(jié)構(gòu)。從數(shù)據(jù)庫(kù)管理系統(tǒng)的角度看,數(shù)據(jù)庫(kù)系統(tǒng)通常采用三級(jí)模式結(jié)構(gòu),這是數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)部的體系結(jié)構(gòu);從數(shù)據(jù)庫(kù)最終用戶的角度看,數(shù)據(jù)庫(kù)系統(tǒng)的結(jié)構(gòu)分為單用戶結(jié)構(gòu)、主從式結(jié)構(gòu)、分布式結(jié)構(gòu)、客戶/服務(wù)器結(jié)構(gòu)和瀏覽器/服務(wù)器結(jié)構(gòu),這是數(shù)據(jù)庫(kù)系統(tǒng)外部的體系結(jié)構(gòu)。1.3數(shù)據(jù)庫(kù)系統(tǒng)模式的概念模式(Schema)是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。例如:學(xué)生記錄定義為(學(xué)號(hào)、姓名、性別、系別、年齡),稱為記錄型,而(001101,張立,男,計(jì)算機(jī),20)則是該記錄型的一個(gè)記錄值。模式只是對(duì)記錄型的描述,而與具體的值無(wú)關(guān)。數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)部的體系結(jié)構(gòu)從邏輯上劃分為三級(jí):外模式、模式和內(nèi)模式;對(duì)用戶而言,可以對(duì)應(yīng)地分為:一般用戶級(jí)模式、概念級(jí)模式和物理模式;應(yīng)用1應(yīng)用2應(yīng)用n……外模式1……外模式m子模式/模式映象模式模式/內(nèi)模式映象內(nèi)模式數(shù)據(jù)庫(kù)圖1.8數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)用戶級(jí)概念級(jí)物理級(jí)模式(Schema)也稱為邏輯模式或概念模式,是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。模式處于三級(jí)結(jié)構(gòu)的中間層,不涉及數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬件環(huán)境,與具體的應(yīng)用程序也無(wú)關(guān),是整個(gè)數(shù)據(jù)庫(kù)實(shí)際存儲(chǔ)的抽象表示。一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)模式,是數(shù)據(jù)庫(kù)的整體邏輯。外模式又稱子模式或用戶模式,是三級(jí)結(jié)構(gòu)的最外層,是數(shù)據(jù)庫(kù)用戶能看到并允許使用的那部分局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。外模式一般是模式的子集,一個(gè)數(shù)據(jù)庫(kù)就可以有多個(gè)外模式。外模式是保證數(shù)據(jù)庫(kù)安全的一個(gè)有力措施。內(nèi)模式又稱存儲(chǔ)模式,是三級(jí)結(jié)構(gòu)中的最內(nèi)層,也是靠近物理存儲(chǔ)的一層,即與實(shí)際存儲(chǔ)數(shù)據(jù)方式有關(guān)的一層。是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示方法。由多個(gè)存儲(chǔ)記錄組成,但并非物理層,不必關(guān)心具體的存儲(chǔ)位置。數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)中,實(shí)際存在的只是物理級(jí)數(shù)據(jù)庫(kù),是數(shù)據(jù)訪問(wèn)的基礎(chǔ);概念級(jí)數(shù)據(jù)庫(kù)是物理級(jí)數(shù)據(jù)庫(kù)的一種抽象描述;用戶級(jí)數(shù)據(jù)庫(kù)是用戶對(duì)數(shù)據(jù)庫(kù)的接口。外模式可有多個(gè),而模式、內(nèi)模式只能各有一個(gè)。內(nèi)模式是整個(gè)數(shù)據(jù)庫(kù)實(shí)際存儲(chǔ)的表示,而模式是整個(gè)數(shù)據(jù)庫(kù)實(shí)際存儲(chǔ)的抽象表示,外模式是概念模式的某一部分的抽象表示數(shù)據(jù)庫(kù)系統(tǒng)的二級(jí)映像與數(shù)據(jù)獨(dú)立性數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式是對(duì)數(shù)據(jù)的三個(gè)抽象級(jí)別,它使用戶能邏輯地抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計(jì)算機(jī)內(nèi)部的存儲(chǔ)方式,把數(shù)據(jù)的具體組織交給DBMS管理。為了能夠在內(nèi)部實(shí)現(xiàn)這三個(gè)抽象層次的聯(lián)系和轉(zhuǎn)換,DBMS在三級(jí)模式之間提供了二級(jí)映象功能。數(shù)據(jù)庫(kù)系統(tǒng)的二級(jí)映像與數(shù)據(jù)獨(dú)立性外模式/模式映像模式/內(nèi)模式映像外模式/模式映像模式描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu),外模式描述的是數(shù)據(jù)局部邏輯結(jié)構(gòu);同一模式可以有任意多個(gè)外模式,每一個(gè)外模式都存在一個(gè)外模式/模式映像;確定了數(shù)據(jù)的局部邏輯結(jié)構(gòu)與全局邏輯結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系;保證了數(shù)據(jù)程序間的邏輯獨(dú)立性。模式/內(nèi)模式映像模式和內(nèi)模式是唯一的,所以模式/內(nèi)模式映像是唯一的;確定了數(shù)據(jù)的全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系存儲(chǔ)結(jié)構(gòu)變化時(shí),數(shù)據(jù)庫(kù)管理員對(duì)模式/內(nèi)模式映像作相應(yīng)的變化,是模式保持不變確保了數(shù)據(jù)的物理獨(dú)立性數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式與二級(jí)映像的優(yōu)點(diǎn)保證數(shù)據(jù)的獨(dú)立性模式和內(nèi)模式分開(kāi),保證了數(shù)據(jù)的物理獨(dú)立性;外模式和模式分開(kāi),保證了數(shù)據(jù)的邏輯獨(dú)立性。

簡(jiǎn)化了用戶接口按照外模式編寫應(yīng)用程序或輸入命令,不需要了解數(shù)據(jù)內(nèi)部的存儲(chǔ)結(jié)構(gòu)有利于數(shù)據(jù)共享不同的外模式下可有多個(gè)用戶共享系統(tǒng)中的數(shù)據(jù),減少了數(shù)據(jù)冗余有利于數(shù)據(jù)的安全保密在外模式下根據(jù)需求進(jìn)行操作,只能對(duì)限定的數(shù)據(jù)操作,保證了其他數(shù)據(jù)的安全。課堂提問(wèn)1、P433.73.82、P411.11.21.31.81.101.111.143、P422.32.42.52.72.9第一章數(shù)據(jù)庫(kù)系統(tǒng)概述1.1數(shù)據(jù)庫(kù)系統(tǒng)的產(chǎn)生、發(fā)展和當(dāng)前流行的數(shù)據(jù)庫(kù)1.2數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)系統(tǒng)的組成1.3數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu)1.4數(shù)據(jù)庫(kù)管理系統(tǒng)1.5數(shù)據(jù)模式1.6四種數(shù)據(jù)模型1.4數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)是對(duì)數(shù)據(jù)進(jìn)行管理的大型系統(tǒng)軟件,它是數(shù)據(jù)庫(kù)系統(tǒng)的核心組成部分,用戶在數(shù)據(jù)庫(kù)系統(tǒng)中的一切操作,包括數(shù)據(jù)定義、查詢、更新及各種控制,都是通過(guò)DBMS進(jìn)行的。DBMS就是實(shí)現(xiàn)把用戶意義下的抽象的邏輯數(shù)據(jù)處理轉(zhuǎn)換成計(jì)算機(jī)中的具體的物理數(shù)據(jù)的處理軟件,這給用戶帶來(lái)很大的方便。數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS的主要功能DBMS的組成DBMS的數(shù)據(jù)存取的過(guò)程DBMS的主要功能1、數(shù)據(jù)定義

DBMS提供數(shù)據(jù)定義語(yǔ)言DDL(DataDefineLanguage),定義數(shù)據(jù)的模式、外模式和內(nèi)模式三級(jí)模式結(jié)構(gòu),定義模式/內(nèi)模式和外模式/模式二級(jí)映象,定義有關(guān)的約束條件,例如,為保證數(shù)據(jù)庫(kù)安全而定義的用戶口令和存取權(quán)限,為保證正確語(yǔ)義而定義完整性規(guī)則。DBMS的主要功能2.數(shù)據(jù)操縱

DBMS提供數(shù)據(jù)操縱語(yǔ)言DML(DataManipulationLanguage)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的基本操作,包括檢索、插入、修改、刪除等。

SQL語(yǔ)言就是DML的一種。DBMS的主要功能3.數(shù)據(jù)庫(kù)運(yùn)行管理

DBMS對(duì)數(shù)據(jù)庫(kù)的控制主要通過(guò)四個(gè)方面實(shí)現(xiàn):數(shù)據(jù)的安全性控制數(shù)據(jù)的完整性控制多用戶環(huán)境下的并發(fā)控制數(shù)據(jù)庫(kù)的恢復(fù)以確保數(shù)據(jù)正確有效和數(shù)據(jù)庫(kù)系統(tǒng)的正常運(yùn)行。DBMS的主要功能4.數(shù)據(jù)庫(kù)的建立和維護(hù)功能包括數(shù)據(jù)庫(kù)的初始數(shù)據(jù)的裝入,數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)、恢復(fù)、重組織,系統(tǒng)性能監(jiān)視、分析等功能。5.數(shù)據(jù)通信接口DBMS提供與其他軟件系統(tǒng)進(jìn)行通信的功能。實(shí)現(xiàn)用戶程序與DBMS之間的通信,通常與操作系統(tǒng)協(xié)調(diào)完成。DBMS的主要功能4.數(shù)據(jù)庫(kù)的建立和維護(hù)功能包括數(shù)據(jù)庫(kù)的初始數(shù)據(jù)的裝入,數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)、恢復(fù)、重組織,系統(tǒng)性能監(jiān)視、分析等功能。5.數(shù)據(jù)通信接口DBMS提供與其他軟件系統(tǒng)進(jìn)行通信的功能。實(shí)現(xiàn)用戶程序與DBMS之間的通信,通常與操作系統(tǒng)協(xié)調(diào)完成。DBMS的主要功能6.數(shù)據(jù)組織、存儲(chǔ)和管理

DBMS負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)中需要存放的各種數(shù)據(jù)如:數(shù)據(jù)字典、用戶數(shù)據(jù)、存取路徑等的組織、存儲(chǔ)和管理工作,確定以何種文件結(jié)構(gòu)和存取方式物理地組織這些數(shù)據(jù),以提高存儲(chǔ)空間利用率和對(duì)數(shù)據(jù)庫(kù)進(jìn)行增、刪、查和該的效率等。DBMS的組成DBMS是許多程序所組成的一個(gè)大型軟件系統(tǒng)每個(gè)程序都有自己的功能共同完成DBMS的一件或幾件工作。DBMS的組成語(yǔ)言編譯處理程序系統(tǒng)運(yùn)行控制程序系統(tǒng)建立、維護(hù)程序數(shù)據(jù)字典DBMS的數(shù)據(jù)存取的過(guò)程在數(shù)據(jù)庫(kù)系統(tǒng)中,DBMS與操作系統(tǒng)、應(yīng)用程序、硬件等協(xié)同工作,共同完成數(shù)據(jù)各種存取操作,其中DBMS起著關(guān)鍵的作用。DBMS對(duì)數(shù)據(jù)的存取通常需要以下幾個(gè)步驟:用戶使用某種特定的數(shù)據(jù)操作語(yǔ)言向DBMS發(fā)出存取請(qǐng)求;DBMS的數(shù)據(jù)存取的過(guò)程DBMS接受請(qǐng)求并解釋轉(zhuǎn)換成機(jī)器代碼指令;DBMS依次檢查外模式、外模式/模式映象、模式、模式/內(nèi)模式映象及存儲(chǔ)結(jié)構(gòu)定義;DBMS對(duì)存儲(chǔ)數(shù)據(jù)庫(kù)執(zhí)行必要的存取操作;從對(duì)數(shù)據(jù)庫(kù)的存取操作中接受結(jié)果DBMS的數(shù)據(jù)存取的過(guò)程對(duì)得到的結(jié)果進(jìn)行必要的處理,如格式轉(zhuǎn)換等將處理的結(jié)果返回給用戶上述存取過(guò)程中還包括安全性控制、完整性控制,以確保數(shù)據(jù)的正確性、有效性和一致性。課堂提問(wèn)1.1.71.91.12第一章數(shù)據(jù)庫(kù)系統(tǒng)概述1.1數(shù)據(jù)庫(kù)系統(tǒng)的產(chǎn)生、發(fā)展和當(dāng)前流行的數(shù)據(jù)庫(kù)1.2數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)系統(tǒng)的組成1.3數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu)1.4數(shù)據(jù)庫(kù)管理系統(tǒng)1.5數(shù)據(jù)模式1.6四種數(shù)據(jù)模型1.5數(shù)據(jù)模式數(shù)據(jù)模型的概念三個(gè)世界的劃分及其有關(guān)概念數(shù)據(jù)模型的分類實(shí)體聯(lián)系模型及E-R圖數(shù)據(jù)模型的組成要素?cái)?shù)據(jù)模型的概念數(shù)據(jù)模型是數(shù)據(jù)的框架,該框架描述了數(shù)據(jù)及其聯(lián)系的組織方式、表達(dá)方式和存取路徑,是數(shù)據(jù)庫(kù)系統(tǒng)的核心和基礎(chǔ)各種機(jī)器上實(shí)現(xiàn)的DBMS軟件都基于某種數(shù)據(jù)模型它的數(shù)據(jù)結(jié)構(gòu)直接影響到數(shù)據(jù)庫(kù)系統(tǒng)的其他部分的性能,也是數(shù)據(jù)定義和數(shù)據(jù)操縱語(yǔ)言的基礎(chǔ)是設(shè)計(jì)數(shù)據(jù)庫(kù)的一項(xiàng)首要任務(wù)三個(gè)世界的劃分及其有關(guān)概念1、三個(gè)世界的劃分將現(xiàn)實(shí)世界的事物及聯(lián)系抽象成信息世界的信息模型,然后再抽象成計(jì)算機(jī)世界的數(shù)據(jù)模型信息模型不依賴于具體的計(jì)算機(jī)系統(tǒng),是計(jì)算機(jī)內(nèi)部數(shù)據(jù)的抽象表示,是概念模型概念模型經(jīng)過(guò)抽象,轉(zhuǎn)換成計(jì)算機(jī)上某一DBMS支持的數(shù)據(jù)模型三個(gè)世界的劃分及其有關(guān)概念現(xiàn)實(shí)世界概念模型認(rèn)識(shí)抽象DBMS支持的數(shù)據(jù)模型信息世界計(jì)算機(jī)世界現(xiàn)實(shí)世界三個(gè)世界的劃分及其有關(guān)概念2、現(xiàn)實(shí)世界是客觀存在的世界每個(gè)事物都有自己的特征或性質(zhì)事務(wù)之間是有相互聯(lián)系的三個(gè)世界的劃分及其有關(guān)概念3、信息世界及其有關(guān)基本概念實(shí)體(Entity):客觀存在并可以相互區(qū)別的事物 客觀存在并且可以相互區(qū)別的“事物”稱為實(shí)體。實(shí)體可以是可觸及的對(duì)象,如一個(gè)學(xué)生,一本書,一輛汽車;也可以是抽象的事件,如一堂課,一次比賽等。三個(gè)世界的劃分及其有關(guān)概念屬性(Attributes):實(shí)體的某一特性稱為屬性,一個(gè)實(shí)體可以有多個(gè)屬性。如學(xué)生實(shí)體有學(xué)號(hào)、姓名、年齡、性別、系等方面的屬性。屬性有"型"和“值”之分,"型"即為屬性名,如姓名、年齡、性別是屬性的型;“值”即為屬性的具體內(nèi)容,如(990001,張立,20,男,計(jì)算機(jī))這些屬性值的集合表示了一個(gè)學(xué)生實(shí)體。三個(gè)世界的劃分及其有關(guān)概念實(shí)體型(EntityType) 若干個(gè)屬性型組成的集合可以表示一個(gè)實(shí)體的類型,簡(jiǎn)稱實(shí)體型。如學(xué)生(學(xué)號(hào),姓名,年齡,性別,系)就是一個(gè)實(shí)體型。實(shí)體集(EntitySet)

同型實(shí)體的集合稱為實(shí)體集。如所有的學(xué)生、所有的課程等。三個(gè)世界的劃分及其有關(guān)概念鍵(Key) 能唯一標(biāo)識(shí)一個(gè)實(shí)體的屬性或?qū)傩约Q為實(shí)體的鍵。如學(xué)生的學(xué)號(hào),學(xué)生的姓名可能有重名,不能作為學(xué)生實(shí)體的鍵。域(Domain) 屬性值的取值范圍稱為該屬性的域。如學(xué)號(hào)的域?yàn)?位整數(shù),姓名的域?yàn)樽址?,年齡的域?yàn)樾∮?0的整數(shù),性別的域?yàn)椋校?。三個(gè)世界的劃分及其有關(guān)概念聯(lián)系(Relationship)在現(xiàn)實(shí)世界中,事物內(nèi)部以及事物之間是有聯(lián)系的,這些聯(lián)系同樣也要抽象和反映到信息世界中來(lái),在信息世界中將被抽象為實(shí)體型內(nèi)部的聯(lián)系和實(shí)體型之間的聯(lián)系。三個(gè)世界的劃分及其有關(guān)概念聯(lián)系(Relationship)實(shí)體內(nèi)部的聯(lián)系通常是指組成實(shí)體的各屬性之間的聯(lián)系;實(shí)體之間的聯(lián)系通常是指不同實(shí)體集之間的聯(lián)系。反映實(shí)體型及其聯(lián)系的結(jié)構(gòu)形式稱為實(shí)體模型,也稱作信息模型,它是現(xiàn)實(shí)世界及其聯(lián)系的抽象表示。三個(gè)世界的劃分及其有關(guān)概念兩個(gè)實(shí)體型之間的聯(lián)系有如下三種類型:(1)一對(duì)一聯(lián)系(1:1) 實(shí)體集A中的一個(gè)實(shí)體至多與實(shí)體集B中的一個(gè)實(shí)體相對(duì)應(yīng),反之亦然,則稱實(shí)體集A與實(shí)體集B為一對(duì)一的聯(lián)系。記作1:1。如:班級(jí)與班長(zhǎng),觀眾與座位,病人與床位。三個(gè)世界的劃分及其有關(guān)概念兩個(gè)實(shí)體型之間的聯(lián)系有如下三種類型:(2)一對(duì)多聯(lián)系(1:n) 實(shí)體集A中的一個(gè)實(shí)體與實(shí)體集B中的多個(gè)實(shí)體相對(duì)應(yīng),反之,實(shí)體集B中的一個(gè)實(shí)體至多與實(shí)體集A中的一個(gè)實(shí)體相對(duì)應(yīng)。記作1:n。如:班級(jí)與學(xué)生、公司與職員、省與市。三個(gè)世界的劃分及其有關(guān)概念兩個(gè)實(shí)體型之間的聯(lián)系有如下三種類型:(3)多對(duì)多(m:n) 實(shí)體集A中的一個(gè)實(shí)體與實(shí)體集B中的多個(gè)實(shí)體相對(duì)應(yīng),反之,實(shí)體集B中的一個(gè)實(shí)體與實(shí)體集A中的多個(gè)實(shí)體相對(duì)應(yīng)。記作(m:n)。如:教師與學(xué)生,學(xué)生與課程,工廠與產(chǎn)品。三個(gè)世界的劃分及其有關(guān)概念實(shí)際上,一對(duì)一聯(lián)系是一對(duì)多聯(lián)系的特例,而一對(duì)多聯(lián)系又是多對(duì)多聯(lián)系的特例??梢杂脠D形來(lái)表示兩個(gè)實(shí)體型之間的這三類聯(lián)系

ABABAB(a)(b)(c)三個(gè)世界的劃分及其有關(guān)概念4計(jì)算機(jī)世界中的基本概念 信息世界中的實(shí)體抽象為計(jì)算機(jī)世界中的數(shù)據(jù),存儲(chǔ)在計(jì)算機(jī)中。在計(jì)算機(jī)世界中,常用的主要概念如下:字段(Field) 對(duì)應(yīng)于屬性的數(shù)據(jù)稱為字段,也稱為數(shù)據(jù)項(xiàng)。字段的命名往往和屬性名相同。 如學(xué)生有學(xué)號(hào)、姓名、年齡、性別、系等字段。三個(gè)世界的劃分及其有關(guān)概念4計(jì)算機(jī)世界中的基本概念記錄(Record) 對(duì)應(yīng)于每個(gè)實(shí)體的數(shù)據(jù)稱為記錄。 如一個(gè)學(xué)生(990001,張立,20,男,計(jì)算機(jī))為一個(gè)記錄。 文件(File) 對(duì)應(yīng)于實(shí)體集的數(shù)據(jù)稱為文件。 如所有學(xué)生的記錄組成了一個(gè)學(xué)生文件。三個(gè)世界的劃分及其有關(guān)概念4計(jì)算機(jī)世界中的基本概念關(guān)鍵字(key) 能唯一標(biāo)識(shí)文件中每個(gè)記錄的字段或字段集,稱為記錄的關(guān)鍵字。 如在學(xué)生文件中,學(xué)號(hào)可以唯一標(biāo)識(shí)一個(gè)學(xué)生記錄,因此,學(xué)號(hào)可以作為學(xué)生記錄的關(guān)鍵字。三個(gè)世界的劃分及其有關(guān)概念在計(jì)算機(jī)世界中,信息模型被抽象為數(shù)據(jù)模型,實(shí)體型內(nèi)部的聯(lián)系抽象為同一記錄內(nèi)部各字段間的聯(lián)系,實(shí)體型之間的聯(lián)系抽象為記錄與記錄之間的聯(lián)系?,F(xiàn)實(shí)世界是設(shè)計(jì)數(shù)據(jù)庫(kù)的出發(fā)點(diǎn),也是使用數(shù)據(jù)庫(kù)的最終歸宿。實(shí)體模型和數(shù)據(jù)模型是現(xiàn)實(shí)世界事物及其聯(lián)系的兩級(jí)抽象。而數(shù)據(jù)模型是實(shí)現(xiàn)數(shù)據(jù)庫(kù)系統(tǒng)的根據(jù)。三個(gè)世界的劃分及其有關(guān)概念通過(guò)以上的介紹,我們可總結(jié)出三個(gè)世界中各術(shù)語(yǔ)的對(duì)應(yīng)關(guān)系:

現(xiàn)實(shí)世界--信息世界--計(jì)算機(jī)世界 事物總體--

實(shí)體集--

文件 事物個(gè)體--

實(shí)體--

記錄 特征 --

屬性--

字段 事物間聯(lián)系--

實(shí)體模型--

數(shù)據(jù)模型數(shù)據(jù)模型的分類根據(jù)模型應(yīng)用的不同目的,將模型劃分為兩類:概念模型邏輯模型和物理模型概念模型也成為信息模型是按用戶的觀點(diǎn)對(duì)數(shù)據(jù)和信息建模,不依賴與具體的計(jì)算機(jī)系統(tǒng)描述某個(gè)特定組織所關(guān)心的信息結(jié)構(gòu)用于數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)用戶和數(shù)據(jù)庫(kù)設(shè)計(jì)人員之間交流的工具實(shí)體模型,簡(jiǎn)稱E-R模型邏輯模型和物理模型邏輯模型是按計(jì)算機(jī)的觀點(diǎn)對(duì)數(shù)據(jù)建模,有嚴(yán)格的形式化定義邏輯模型主要用于DBMS的實(shí)現(xiàn),即數(shù)據(jù)庫(kù)是按照DBMS規(guī)定的數(shù)據(jù)模型組織和建立起來(lái)的。物理模型是對(duì)數(shù)據(jù)最底層的抽象,描述數(shù)據(jù)在磁盤或磁帶上的存儲(chǔ)方式和存取方式,是面向計(jì)算機(jī)系統(tǒng)的。實(shí)體聯(lián)系模型及E-R圖廣泛應(yīng)用于數(shù)據(jù)庫(kù)設(shè)計(jì)工作中的一種概念模型,利用E-R圖來(lái)表示實(shí)體及其之間的聯(lián)系E-R圖的基本成分包含實(shí)體型、屬性和聯(lián)系實(shí)體型:用矩形框表示,框內(nèi)注明實(shí)體名稱屬性:用橢圓表示,框內(nèi)標(biāo)注屬性名稱,并用無(wú)向邊與有關(guān)實(shí)體相連聯(lián)系:聯(lián)系用菱形表示,框內(nèi)標(biāo)注聯(lián)系名稱,并用無(wú)向邊與有關(guān)實(shí)體相連,同時(shí)在無(wú)向邊旁標(biāo)上聯(lián)系的類型實(shí)體聯(lián)系模型及E-R圖課程選修學(xué)號(hào)學(xué)號(hào)學(xué)號(hào)學(xué)號(hào)學(xué)號(hào)學(xué)號(hào)學(xué)號(hào)學(xué)號(hào)學(xué)號(hào)學(xué)生nm數(shù)據(jù)模型的組成要素由于數(shù)據(jù)模型是現(xiàn)實(shí)世界中的事物及其聯(lián)系的一種模擬和抽象表示,是一種形式化描述數(shù)據(jù)、數(shù)據(jù)間聯(lián)系以及有關(guān)語(yǔ)義約束規(guī)則的方法。數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)庫(kù)的組成對(duì)象以及對(duì)象間的聯(lián)系數(shù)據(jù)操作:數(shù)據(jù)庫(kù)中的各種數(shù)據(jù)允許執(zhí)行的操作的集合數(shù)據(jù)的完整性約束:保證數(shù)據(jù)的正確、有效和相容課堂提問(wèn)1.1.51.62.62.112.143.11第一章數(shù)據(jù)庫(kù)系統(tǒng)概述1.1數(shù)據(jù)庫(kù)系統(tǒng)的產(chǎn)生、發(fā)展和當(dāng)前流行的數(shù)據(jù)庫(kù)1.2數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)系統(tǒng)的組成1.3數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu)1.4數(shù)據(jù)庫(kù)管理系統(tǒng)1.5數(shù)據(jù)模式1.6四種數(shù)據(jù)模型四種數(shù)據(jù)模型層次模型網(wǎng)狀模型關(guān)系模型面向?qū)ο竽P完P(guān)系模型關(guān)系模型是發(fā)展較晚的一種模型,1970年美國(guó)IBM公司的研究員E.F.Codd首次提出了數(shù)據(jù)庫(kù)系統(tǒng)的關(guān)系模型。他發(fā)表了題為“大型共享數(shù)據(jù)銀行數(shù)據(jù)的關(guān)系模型”(ARelationModelofDataforLargeSharedDataBanks),在文中解釋了關(guān)系模型,定義了某些關(guān)系代數(shù)運(yùn)算,研究了數(shù)據(jù)的函數(shù)相關(guān)性,定義了關(guān)系的第三范式,從而開(kāi)創(chuàng)了數(shù)據(jù)庫(kù)的關(guān)系方法和數(shù)據(jù)規(guī)范化理論的研究關(guān)系模型他為此獲得了1981年的圖靈獎(jiǎng)。此后許多人把研究方向轉(zhuǎn)到關(guān)系方法上,陸續(xù)出現(xiàn)了關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。1977年IBM公司研制的關(guān)系數(shù)據(jù)庫(kù)的代表SystemR開(kāi)始運(yùn)行,其后又進(jìn)行了不斷的改進(jìn)和擴(kuò)充,出現(xiàn)了基于SystemR的數(shù)據(jù)庫(kù)系統(tǒng)SQL/DB。關(guān)系模型20世紀(jì)80年代以來(lái),計(jì)算機(jī)廠商新推出的數(shù)據(jù)庫(kù)管理系統(tǒng)幾乎都支持關(guān)系模型,非關(guān)系系統(tǒng)的產(chǎn)品也都加上了關(guān)系接口。數(shù)據(jù)庫(kù)領(lǐng)域當(dāng)前的研究工作也都是以關(guān)系方法為基礎(chǔ)。關(guān)系數(shù)據(jù)庫(kù)已成為目前應(yīng)用最廣泛的數(shù)據(jù)庫(kù)系統(tǒng),如現(xiàn)在廣泛使用的小型數(shù)據(jù)庫(kù)系統(tǒng)Foxpro、Acess,大型數(shù)據(jù)庫(kù)系統(tǒng)Oracle、Informix、Sybase、SQLServer等都是關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。關(guān)系模型1.關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)以及有關(guān)概念關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)是一個(gè)“二維表框架”組成的集合,每個(gè)二維表又可稱為關(guān)系,所以關(guān)系模型是“關(guān)系框架”的集合。關(guān)系模型與層次模型、網(wǎng)狀模型不同,它是建立在嚴(yán)格的數(shù)學(xué)概念之上的。關(guān)系模型1.關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)以及有關(guān)概念圖1.22給出了教學(xué)數(shù)據(jù)庫(kù)的關(guān)系模型及其實(shí)例,包含五個(gè)關(guān)系:教師關(guān)系T、學(xué)生關(guān)系S、課程關(guān)系C、選課關(guān)系SC和授課關(guān)系TC,分別對(duì)應(yīng)五張表。下面以圖1.22為例,介紹關(guān)系模型中所涉及的一些基概念。T(教師關(guān)系)TNO教師號(hào)TN姓名SEX性別AGE年齡PROF職稱SAL工資COMM崗位津貼DEPT系別T1李力男47教授15003000計(jì)算機(jī)T2王平女28講師8001200信息T3劉偉男30講師9001200計(jì)算機(jī)T4張雪女51教授16003000自動(dòng)化T5張?zhí)m女39副教授13002000信息S(學(xué)生關(guān)系)SNO學(xué)號(hào)SN姓名SEX性別AGE年齡DEPT系別S1趙亦女17計(jì)算機(jī)S2錢爾男18信息S3孫珊女20信息S4李思男21自動(dòng)化S5周武男19計(jì)算機(jī)S6吳麗女20自動(dòng)化C(課程關(guān)系)CNO課程號(hào)CN課程名CT課時(shí)C1程序設(shè)計(jì)60C2微機(jī)原理80C3數(shù)字邏輯60C4數(shù)據(jù)結(jié)構(gòu)80C5數(shù)據(jù)庫(kù)60C6編譯原理60C7操作系統(tǒng)60SC(選課關(guān)系)TC(授課關(guān)系)SNO學(xué)號(hào)CNO課程號(hào)SCORE成績(jī)

TNO教師號(hào)CNO課程號(hào)S1C190

T1C1S1C285

T1C4S2C557

T2C5S2C680

T3C1S2C7

T3C5S2C570

T4C2S3C10

T4C3S3C270

T5C5S3C485

T5C7S4C193

S4C285

S4C383

S5C289

關(guān)系模型(1)關(guān)系(Relation) 一個(gè)關(guān)系對(duì)應(yīng)一張二維表(2)元組(Tuple) 表格中的一行,如S表中的一個(gè)學(xué)生記錄即為一個(gè)元組。關(guān)系模型(3)屬性(Attribute) 表格中的一列,相當(dāng)于記錄中的一個(gè)字段,如S表中有五個(gè)屬性(學(xué)號(hào),姓名,性別,年齡,系別)。(4)關(guān)鍵字(Key) 可唯一標(biāo)識(shí)元組的屬性或?qū)傩约卜Q為關(guān)系鍵或主碼,如S表中學(xué)號(hào)可以唯一確定一個(gè)學(xué)生,為學(xué)生關(guān)系的主碼。(5)域(Domain) 屬性的取值范圍,如年齡的域是(14~40),性別的域是(男,女)。(6)分量 每一行對(duì)應(yīng)的列的屬性值,即元組中的一個(gè)屬性值,如學(xué)號(hào)、姓名、年齡等均是一個(gè)分量。關(guān)系模型(7)關(guān)系模式對(duì)關(guān)系的描述,一般表示為:關(guān)系名(屬性1,屬性2,……屬性n),如:學(xué)生(學(xué)號(hào),姓名,性別,年齡,系別)。在關(guān)系模型中,實(shí)體是用關(guān)系來(lái)表示的,如:學(xué)生(學(xué)號(hào),姓名,性別,年齡,系別)課程(課程號(hào),課程名,課時(shí))實(shí)體間的關(guān)系也是用關(guān)系來(lái)表示的,如:學(xué)生和課程之間的關(guān)系選課關(guān)系(學(xué)號(hào),課程號(hào),成績(jī))關(guān)系模型關(guān)系模型(8)關(guān)系實(shí)例:是關(guān)系模式的“值”,是關(guān)系的數(shù)據(jù),相當(dāng)于二維表中的數(shù)據(jù)關(guān)系模型2.關(guān)系模型的數(shù)據(jù)操縱與完整性約束數(shù)據(jù)操縱主要包括查詢、插入、刪除和修改數(shù)據(jù),這些操作必須滿足關(guān)系的完整性約束條件,即實(shí)體完整性、參照完整性和用戶定義的完整性。關(guān)系模型3、關(guān)系模型的優(yōu)缺點(diǎn)關(guān)系模型的優(yōu)點(diǎn)主要有:(1)與非關(guān)系模型不同,它有較強(qiáng)的數(shù)學(xué)理論根據(jù)。(2)數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單、清晰,用戶易懂易用,不僅用關(guān)系描述實(shí)體,而且用關(guān)系描述實(shí)體間的聯(lián)系。(3)關(guān)系模型的存取路徑對(duì)用戶透明,從而具有更高的數(shù)據(jù)獨(dú)立性、更好的安全保密性,也簡(jiǎn)化了程序員的工作和數(shù)據(jù)庫(kù)建立和開(kāi)發(fā)的工作。關(guān)系模型3、關(guān)系模型的優(yōu)缺點(diǎn)關(guān)系模型的缺點(diǎn)主要有:由于存取路徑對(duì)用戶透明,查詢效率往往不如非關(guān)系模型,因此,為了提高性能,必須對(duì)用戶的查詢表示進(jìn)行優(yōu)化,增加了開(kāi)發(fā)數(shù)據(jù)庫(kù)管理系統(tǒng)的負(fù)擔(dān)。第二章關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)庫(kù)是支持關(guān)系模型的數(shù)據(jù)庫(kù)系統(tǒng)。關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束三部分組成。第二章關(guān)系數(shù)據(jù)庫(kù)2.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及其形式化定義2.2關(guān)系的鍵與關(guān)系的完整性2.3關(guān)系代數(shù)2.4關(guān)系演算2.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及其形式化定義關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)是關(guān)系。實(shí)體以及實(shí)體之間的聯(lián)系都由關(guān)系來(lái)表示。2.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及其形式化定義2.1.1關(guān)系的形式化定義以及有關(guān)概念2.1.2關(guān)系的性質(zhì)2.1.3關(guān)系模式2.1.4關(guān)系數(shù)據(jù)庫(kù)與關(guān)系數(shù)據(jù)庫(kù)模式2.1.1關(guān)系的形式化定義以及有關(guān)概念1、域(Domain)域是一組具有相同數(shù)據(jù)類型的值的集合,又稱為值域。(用D表示)域中所包含的值的個(gè)數(shù)稱為域的基數(shù)(用m表示)。關(guān)系中用域表示屬性的取值范圍。域名無(wú)排列次序。 例如:D1={李力,王平,劉偉} m1=3 D2={男,女} m2=2 D3={47,28,30} m3=3 2.1.1關(guān)系的形式化定義以及有關(guān)概念1、域(Domain)D1={李力,王平,劉偉} m1=3 D2={男,女} m2=2 D3={47,28,30} m3=3 2.1.1關(guān)系的形式化定義以及有關(guān)概念2、

笛卡爾積(CartesianProduct)

給定一組域D1,D2,…,Dn(它們可以包含相同的元素,即可以完全不同,也可以部分或全部相同)。D1,D2,…,Dn的笛卡爾積為D1×D2×……×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}。2.1.1關(guān)系的形式化定義以及有關(guān)概念2、

笛卡爾積(CartesianProduct)

其中:1.元素中的每一個(gè)di叫做一個(gè)分量(Component),來(lái)自相應(yīng)的域(di∈Di)2.每一個(gè)元素(d1,d2,d3,…,dn)叫做一個(gè)n元組(n-tuple),簡(jiǎn)稱元組(Tuple)。2.1.1關(guān)系的形式化定義以及有關(guān)概念2、

笛卡爾積(CartesianProduct) 3.若Di(i=1,2,……n)為有限集,Di中的集合元素個(gè)數(shù)稱為Di的基數(shù),用mi(i=1,2,……n)表示,則笛卡爾積D1×D2×……×Dn的基數(shù)M(即元素(d1,d2,……dn)的個(gè)數(shù))為所有域的基數(shù)的累乘之積,即

M=2.1.1關(guān)系的形式化定義以及有關(guān)概念2、

笛卡爾積(CartesianProduct)

例如:上述表示教師關(guān)系中姓名、性別兩個(gè)域的笛卡爾積為:D1×D2={(李力,男),(李力,女),(王平,男),(王平,女),(劉偉,男),(劉偉,女)}其中:李力、王平、劉偉、男、女都是分量(李力,男),(李力,女)等是元組其基數(shù)M=m1×m2=3*2=6元組的個(gè)數(shù)為62.1.1關(guān)系的形式化定義以及有關(guān)概念2、

笛卡爾積(CartesianProduct) 4.笛卡爾積可用二維表的形式表示表2.1D1和D2的笛卡爾積姓名性別李力男李力女王平男王平女劉偉男劉偉女2.1.1關(guān)系的形式化定義以及有關(guān)概念2、

笛卡爾積(CartesianProduct)

笛卡爾積實(shí)際是一個(gè)二維表,表的框架由域構(gòu)成,表的任意一行就是一個(gè)元組,表中的每一列來(lái)自同一域,如第一個(gè)分量來(lái)自D1,第二個(gè)分量來(lái)自D2。2.1.1關(guān)系的形式化定義以及有關(guān)概念3、

關(guān)系(Relation)

笛卡爾積D1×D2×…×Dn的任一子集稱為定義在域D1,D2,…Dn上的n元關(guān)系(Relation),可用R(D1,D2……Dn)表示。

如上例D1×D2笛卡爾積的子集可以構(gòu)成教師關(guān)系T1,如下表:2.1.1關(guān)系的形式化定義以及有關(guān)概念3、

關(guān)系(Relation)

姓名性別李力男王平女劉偉男姓名性別李力男李力女王平男王平女劉偉男劉偉女2.1.1關(guān)系的形式化定義以及有關(guān)概念3、

關(guān)系(Relation)

1)

R為關(guān)系名,n稱為關(guān)系的目或度(Degree)。當(dāng)n=1時(shí),稱為單元關(guān)系。當(dāng)n=2時(shí),稱為二元關(guān)系?!?dāng)n=n時(shí),稱為n元關(guān)系。2.1.1關(guān)系的形式化定義以及有關(guān)概念3、

關(guān)系(Relation)

1)

R為關(guān)系名,n稱為關(guān)系的目或度(Degree)。當(dāng)n=1時(shí),稱為單元關(guān)系。當(dāng)n=2時(shí),稱為二元關(guān)系。…當(dāng)n=n時(shí),稱為n元關(guān)系。2.1.1關(guān)系的形式化定義以及有關(guān)概念3、

關(guān)系(Relation)

2)該子集中的元素是關(guān)系中的元組,用r表示,關(guān)系中元組個(gè)數(shù)是關(guān)系的基數(shù)。如(李力,男),(王平,女),(劉偉,男)為三個(gè)元組,關(guān)系T的基數(shù)為3。2.1.1關(guān)系的形式化定義以及有關(guān)概念3、

關(guān)系(Relation)

3)可以把關(guān)系看成一個(gè)二維表。其中,(1)表的框架由域Di(i=1,2,……n)構(gòu)成;(2)表的任意一行對(duì)應(yīng)一個(gè)元組;(3)表的每一列來(lái)自同一域;(4)域可以相同,為了加以區(qū)別,每列起一個(gè)名字,稱為屬性,n目關(guān)系有n個(gè)屬性,屬性的名字唯一,屬性的取值范圍Di(i=1,2,…,n)稱為值域;2.1.1關(guān)系的形式化定義以及有關(guān)概念3、

關(guān)系(Relation)

3)可以把關(guān)系看成一個(gè)二維表。其中,(5)具有相同關(guān)系框架的關(guān)系成為同類關(guān)系。姓名性別張雪女張?zhí)m女姓名性別李力男王平女劉偉男2.1.1關(guān)系的形式化定義以及有關(guān)概念3、

關(guān)系(Relation)

4)數(shù)學(xué)上關(guān)系是笛卡爾積的任意子集,但在實(shí)際應(yīng)用中關(guān)系是笛卡爾積中所取的有意義的子集。姓名性別李力男李力女姓名性別李力男李力女王平男王平女劉偉男劉偉女2.1.1關(guān)系的形式化定義以及有關(guān)概念3、

關(guān)系(Relation)

在關(guān)系模型中,關(guān)系可進(jìn)一步定義為:定義在域D1,D2,……Dn(不要求完全相異)上的關(guān)系由關(guān)系頭(Heading)和關(guān)系體(Body)組成。關(guān)系頭:由屬性名A1,A2,…,An的集合組成,每個(gè)屬性Ai正好對(duì)應(yīng)一個(gè)域Di(i=1,2,…,n),關(guān)系頭,也稱關(guān)系框架,相對(duì)固定,是關(guān)系的數(shù)據(jù)結(jié)構(gòu)的描述。關(guān)系體:是指關(guān)系結(jié)構(gòu)中的內(nèi)容或者數(shù)據(jù),并非固定不變,它隨元組的建立、刪除或修改而變化。2.1.1關(guān)系的形式化定義以及有關(guān)概念3、

關(guān)系(Relation)

姓名性別李力男王平女劉偉男2.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及其形式化定義2.1.1關(guān)系的形式化定義以及有關(guān)概念2.1.2關(guān)系的性質(zhì)2.1.3關(guān)系模式2.1.4關(guān)系數(shù)據(jù)庫(kù)與關(guān)系數(shù)據(jù)庫(kù)模式2.1.2關(guān)系的性質(zhì)盡管關(guān)系與二維表格、傳統(tǒng)的數(shù)據(jù)文件是非常類似的,但它們之間又有重要的區(qū)別。

嚴(yán)格地說(shuō),關(guān)系是種規(guī)范化了的二維表中行的集合,為了使相應(yīng)的數(shù)據(jù)操作簡(jiǎn)化,在關(guān)系模型中,對(duì)關(guān)系作了種種限制,關(guān)系具有如下特性:2.1.2關(guān)系的性質(zhì)關(guān)系中不允許出現(xiàn)相同的元組。 因?yàn)閿?shù)學(xué)上集合中沒(méi)有相同的元素,而關(guān)系是元組的集合,所以作為集合元素的元組應(yīng)該是唯一的。2.1.2關(guān)系的性質(zhì)2.關(guān)系中元組的順序(即行序)是無(wú)關(guān)緊要的,在一個(gè)關(guān)系中可以任意交換兩行的次序。

因?yàn)榧现械脑厥菬o(wú)序的,所以作為集合元素的元組也是無(wú)序的。根據(jù)關(guān)系的這個(gè)性質(zhì),可以改變?cè)M的順序使其具有某種排序,然后按照順序查詢數(shù)據(jù),可以提高查詢速度。2.1.2關(guān)系的性質(zhì)3.關(guān)系中屬性的順序是無(wú)關(guān)緊要的,即列的順序可以任意交換。 交換時(shí),應(yīng)連同屬性名一起交換,否則將得到不同的關(guān)系。性別姓名男李力女王平男劉偉姓名性別李力男王平女劉偉男2.1.2關(guān)系的性質(zhì)4.同一屬性名下的各個(gè)屬性值必須來(lái)自同一個(gè)域,是同一類型的數(shù)據(jù)。5.關(guān)系中各個(gè)屬性必須有不同的名字,不同的屬性可來(lái)自同一個(gè)域,即它們的分量可以取自同一個(gè)域。2.1.2關(guān)系的性質(zhì)6.關(guān)系中每一分量必須是不可分的數(shù)據(jù)項(xiàng)。 或者說(shuō)所有屬性值都是原子的,即是一個(gè)確定的值,而不是值的集合。屬性值可以為空值,表示“未知”或“不可使用”,即不可“表中有表”。滿足此條件的關(guān)系稱為規(guī)范化關(guān)系,否則稱為非規(guī)范化關(guān)系。

2.1.2關(guān)系的性質(zhì)6.關(guān)系中每一分量必須是不可分的數(shù)據(jù)項(xiàng)。

姓名籍貫

姓名省市/縣省市/縣

張強(qiáng)吉林長(zhǎng)春

張強(qiáng)吉林長(zhǎng)春王麗山西大同

王麗山西大同第二章關(guān)系數(shù)據(jù)庫(kù)2.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及其形式化定義2.2關(guān)系的鍵與關(guān)系的完整性2.3關(guān)系代數(shù)2.4關(guān)系演算2.2關(guān)系的鍵與關(guān)系的完整性2.2.1候選鍵與主關(guān)系鍵2.2.2外部關(guān)系鍵2.2.3關(guān)系的完整性2.2.1候選鍵與主關(guān)系鍵1.候選鍵(CandidateKey)

能唯一標(biāo)識(shí)關(guān)系中元組的屬性或?qū)傩约?,則稱該屬性或?qū)傩约癁楹蜻x鍵(CandidateKey),也稱候選關(guān)鍵字或候選碼。2.2.1候選鍵與主關(guān)系鍵1.候選鍵(CandidateKey)

設(shè)關(guān)系R有屬性A1,A2,……An,其屬性集K=(Ai,Aj,……Ak),當(dāng)且僅當(dāng)滿足下列條件時(shí),K被稱為候選鍵:2.2.1候選鍵與主關(guān)系鍵1.候選鍵(CandidateKey)唯一性(Uniqueness):關(guān)系R的任意兩個(gè)不同元組,其屬性集K的值是不同的。最小性(Minimally):組成關(guān)系鍵的屬性集(Ai,Aj,……Ak)中,任一屬性都不能從屬性集K中刪掉,否則將破壞唯一性的性質(zhì)。2.2.1候選鍵與主關(guān)系鍵2.主關(guān)系鍵(PrimaryKey)

如果一個(gè)關(guān)系中有多個(gè)候選鍵,可以從中選擇一個(gè)作為查詢、插入或刪除元組的操作變量,被選用的候選鍵稱為主關(guān)系鍵(PrimaryKey),或簡(jiǎn)稱為主鍵、主碼、關(guān)系鍵、關(guān)鍵字。2.2.1候選鍵與主關(guān)系鍵2.主關(guān)系鍵(PrimaryKey)

每個(gè)關(guān)系必需選擇一個(gè)主關(guān)系鍵,選定以后,不能隨意改變。每個(gè)關(guān)系必定有且僅有一個(gè)主關(guān)系鍵,因?yàn)殛P(guān)系的元組無(wú)重復(fù),至少關(guān)系的所有屬性的組合可作為主關(guān)系鍵,通常用較小的屬性組合作為主關(guān)系鍵。2.2.1候選鍵與主關(guān)系鍵3.主屬性與非碼屬性主屬性(PrimeAttribute):包含在主碼中的的各屬性稱為主屬性。非碼屬性(Non-PrimeAttribute):不包含在任何候選碼中的屬性稱為非碼屬性。2.2.1候選鍵與主關(guān)系鍵3.主屬性與非碼屬性在最簡(jiǎn)單的情況下,一個(gè)候選碼只包含一個(gè)屬性;在最極終端的情況下,所有屬性的組合是關(guān)系的候選碼,這時(shí)稱為全碼(all-key)。2.2關(guān)系的鍵與關(guān)系的完整性2.2.1候選鍵與主關(guān)系鍵2.2.2外部關(guān)系鍵2.2.3關(guān)系的完整性2.2.2外部關(guān)系鍵如果關(guān)系R2的一個(gè)或一組屬性X不是R2的主碼,而是另一關(guān)系R1的主碼,則該屬性或?qū)傩越MX稱為關(guān)系R2的外部關(guān)系鍵或外碼(Foreignkey)。關(guān)系R2為參照關(guān)系(referencingrelation),關(guān)系R1為被參照關(guān)系(referencedrelation)。被參照關(guān)系的主碼和參照關(guān)系的外碼必須定義在同一個(gè)域上。2.2.2外部關(guān)系鍵TNO教師號(hào)CNO課程號(hào)T1C1T1C4T2C5T3C1T3C5T4C2T4C3T5C5T5C7TNTNOPROF李力T1教授王平T2講師劉偉T3講師張雪T4教授張?zhí)mT5副教授2.2關(guān)系的鍵與關(guān)系的完整性2.2.1候選鍵與主關(guān)系鍵2.2.2外部關(guān)系鍵2.2.3關(guān)系的完整性2.2.3關(guān)系的完整性為了維護(hù)數(shù)據(jù)庫(kù)中數(shù)據(jù)與現(xiàn)實(shí)世界的一致性,對(duì)關(guān)系數(shù)據(jù)庫(kù)的插入、刪除和修改操作必須有一定的約束條件,這就是關(guān)系模型的三類完整性:實(shí)體完整性參照完整性用戶自定義的完整性實(shí)體完整性實(shí)體完整性是指主關(guān)系鍵的值不能為空或部分為空。關(guān)系模型中的一個(gè)元組對(duì)應(yīng)一個(gè)實(shí)體,一個(gè)關(guān)系則對(duì)應(yīng)一個(gè)實(shí)體集?,F(xiàn)實(shí)世界中的實(shí)體是可區(qū)分的,即它們具有某種唯一性標(biāo)識(shí)。與此相對(duì)應(yīng),關(guān)系模型中以主關(guān)系鍵來(lái)唯一標(biāo)識(shí)元組。實(shí)體完整性如果主關(guān)系鍵中的值為空或部分為空,即主屬性為空,則不符合關(guān)系鍵的定義條件,不能唯一標(biāo)識(shí)元組及與其相對(duì)應(yīng)的實(shí)體。這就說(shuō)明存在不可區(qū)分的實(shí)體,從而與現(xiàn)實(shí)世界中的實(shí)體是可以區(qū)分的事實(shí)相矛盾。因此主關(guān)系鍵的值不能為空或部分為空。參照完整性如果關(guān)系R2的外部關(guān)系鍵X與關(guān)系R1的主關(guān)系鍵相符,則X的每個(gè)值或者等于R1中主關(guān)系鍵的某一個(gè)值,或者取空值。2.2.2外部關(guān)系鍵TNO教師號(hào)CNO課程號(hào)T1C1T1C4T2C5T3C1T3C5T4C2T4C3T5C5T5C7TNTNOPROF李力T1教授王平T2講師劉偉T3講師張雪T4教授張?zhí)mT5副教授參照完整性SNO學(xué)號(hào)SN姓名SEX性別AGE年齡DEPT所在系

DEPT所在系A(chǔ)DDR地址S1趙亦女17計(jì)算機(jī)

計(jì)算機(jī)1號(hào)樓S2錢爾男18信息

信息1號(hào)樓…

自動(dòng)化2號(hào)樓S11王威男19

S(學(xué)生關(guān)系)D(系別關(guān)系)參照完整性實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,被稱作關(guān)系的兩個(gè)不變性。任何關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)都應(yīng)該支持這兩類完整性。除此之外,不同的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)由于應(yīng)用環(huán)境的不同,往往還需要一些特殊的約束條件,這就是用戶定義完整性。用戶自定義完整性用戶定義完整性是針對(duì)某一具體關(guān)系數(shù)據(jù)庫(kù)的約束條件。它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語(yǔ)義要求。第二章關(guān)系數(shù)據(jù)庫(kù)2.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及其形式化定義2.2關(guān)系的鍵與關(guān)系的完整性2.3關(guān)系代數(shù)2.4關(guān)系演算2.3

關(guān)系代數(shù)關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作和關(guān)系完整性約束三部分組成;關(guān)系操作包括查詢操作和更新操作;關(guān)系操作采用集合操作方式,操作的對(duì)象和結(jié)果都是集合,也稱為一次一集合。2.3

關(guān)系代數(shù)關(guān)系代數(shù):用關(guān)系的運(yùn)算來(lái)表達(dá)查詢要求;關(guān)系演算:用謂詞來(lái)表達(dá)查詢要求元組關(guān)系演算:謂詞變?cè)幕緦?duì)象是元組變量域關(guān)系演算:謂詞變?cè)幕緦?duì)象是元組變量2.3

關(guān)系代數(shù)關(guān)系代數(shù):用關(guān)系的運(yùn)算來(lái)表達(dá)查詢要求;關(guān)系演算:用謂詞來(lái)表達(dá)查詢要求元組關(guān)系演算:謂詞變?cè)幕緦?duì)象是元組變量域關(guān)系演算:謂詞變?cè)幕緦?duì)象是元組變量2.3

關(guān)系代數(shù)傳統(tǒng)的集合運(yùn)算:將關(guān)系看作元組的集合;專門集合運(yùn)算:涉及行運(yùn)算和列運(yùn)算傳統(tǒng)的集合運(yùn)算傳統(tǒng)的集合運(yùn)算:將關(guān)系看作元組的集合;專門集合運(yùn)算:涉及行運(yùn)算和列運(yùn)算傳統(tǒng)的集合運(yùn)算定義2.8設(shè)給定兩個(gè)關(guān)系R、S,若滿足:(1)

具有相同的度n;(2)

R中第i個(gè)屬性和S中第i個(gè)屬性必須來(lái)自同一個(gè)域。則說(shuō)關(guān)系R、S是相容的。除笛卡爾積外,要求參加運(yùn)算的關(guān)系必須滿足上述的相容性定義。傳統(tǒng)的集合運(yùn)算ABCABCa1b1c1a1b1c1a1b1c2a2b2c1a2b2c1a2b3c2RS1.并(Union)關(guān)系R和關(guān)系S的并由屬于R或?qū)儆赟的元組組成,即R和S的所有元組合并,刪去重復(fù)元組,組成一個(gè)新關(guān)系,其結(jié)果仍為n目關(guān)系。記作:

R∪S={t|t∈R∨t∈S}對(duì)于關(guān)系數(shù)據(jù)庫(kù),記錄的插入和添加可通過(guò)并運(yùn)算實(shí)現(xiàn)。1.并(Union)ABCa1b1c1a1b1c2a2b2c1ABCa1b1c1a2b2c1a2b3c2RSABCa1b1c1a2b2c1a2b3c2a1b1c2R∪S2.差(Difference)關(guān)系R與關(guān)系S的差由屬于R而不屬于S的所有元組組成,即R中刪去與S中相同的元組,組成一個(gè)新關(guān)系,其結(jié)果仍為n目關(guān)系。記作:

R-S={t|t∈R∧┐t∈S}通過(guò)差運(yùn)算,可實(shí)現(xiàn)關(guān)系數(shù)據(jù)庫(kù)記錄的刪除。2.差(Difference)ABCa1b1c1a1b1c2a2b2c1ABCa1b1c1a2b2c1a2b3c2RSABCa1b1c2R-S3.交(Intersection)關(guān)系R與關(guān)系S的交由既屬于R又屬于S的元組組成,即R與S中相同的元組,組成一個(gè)新關(guān)系,其結(jié)果仍為n目關(guān)系。記作:

R∩S={t|t∈Rt∈S}如果兩個(gè)關(guān)系沒(méi)有相同的元組,那么它們的交為空。3.交(Intersection)兩個(gè)關(guān)系的并和差運(yùn)算為基本運(yùn)算(即不能用其他運(yùn)算表達(dá)的運(yùn)算)而交運(yùn)算為非基本運(yùn)算,交運(yùn)算可以用差運(yùn)算來(lái)表示:

R∩S=R-(R-S)3.交(Intersection)ABCa1b1c1a1b1c2a2b2c1ABCa1b1c1a2b2c1a2b3c2RSABCa1b1c2R∩

Sa2b2c14.廣義笛卡爾積(ExtendedCartesianProduct)兩個(gè)分別為n目和m目關(guān)系R和S的廣義笛卡爾積是一個(gè)(n+m)列的元組的集合元組的前n列是關(guān)系R的一個(gè)元組,后m列是關(guān)系S的一個(gè)元組若R有k1個(gè)元組,S有k2個(gè)元組,則關(guān)系R和關(guān)系S的廣義笛卡爾積有k1*k2個(gè)元組,記作

R×S={tr⌒ts|tr∈R,∧ts∈S}4.廣義笛卡爾積(ExtendedCartesianProduct)ABCa1b1c1a1b1c2a2b2c1ABCa1b1c1a2b2c1a2b3c2RSR×

SABCABCa1b1c1a1b1c1a1b1c1a2b2c1a1b1c1a2b3c2a1b1c2a1b1c1a1b1c2a2b2c1a1b1c2a2b3c2a2b2c1a1b1c1a2b2c1a2b2c1a2b2c1a2b3c2專門集合運(yùn)算由于傳統(tǒng)的集合運(yùn)算,只是從行的角度進(jìn)行,而要靈活地實(shí)現(xiàn)關(guān)系數(shù)據(jù)庫(kù)多樣的查詢操作,必須引入專門的關(guān)系運(yùn)算。在講專門的關(guān)系運(yùn)算之前,為敘述上的方便先引入幾個(gè)概念。專門集合運(yùn)算設(shè)關(guān)系模式為R(A1,A2,……An),它的一個(gè)關(guān)系為R,t∈R表示t是R的一個(gè)元組,t[Ai]則表示元組t中相應(yīng)于屬性Ai的一個(gè)分量。專門集合運(yùn)算若A={Ai1,Ai2,……,Aik},其中Ai1,Ai2,……,Aik是A1,A2,……,An中的一部分,則A稱為屬性列或域列,?則表示{A1,A2,……,An}中去掉{Ai1,Ai2,……,Aik}后剩余的屬性組。t[A]={t[Ai1],t[Ai2],……,t[Aik]}表示元組t在屬性列A上諸分量的集合。專門集合運(yùn)算R為n目關(guān)系,S為m目關(guān)系,tr∈R,ts∈S,trts稱為元組的連接(concatenation),它是一個(gè)n+m列的元組,前n個(gè)分量為R的一個(gè)n元組,后m個(gè)分量為S中的一個(gè)m元組。專門集合運(yùn)算給定一個(gè)關(guān)系R(X,Z),X和Z為屬性組,定義當(dāng)t[X]=x時(shí),x在R中的象集(imageset),為Zx={t[Z]|t∈R,t[X]=x},它表示R中的屬性組X上值為x的諸元組在Z上分量的集合。1、選?。⊿election)選取運(yùn)算是單目運(yùn)算,是根據(jù)一定的條件在給定的關(guān)系R中選取若干個(gè)元組,組成一個(gè)新關(guān)系,記作:σF(R)={t|t∈R∧F(t)為真}其中:1、選?。⊿election)σ為選取運(yùn)算符F為選取的條件,它由運(yùn)算對(duì)象(屬性名、常數(shù)、簡(jiǎn)單函數(shù))、算術(shù)比較運(yùn)算符(>,≥,<,≤,=,≠)和邏輯運(yùn)算符(∨∧┐)連接起來(lái)的邏輯表達(dá)式,結(jié)果為邏輯值“真”或“假”。1、選?。⊿election)選取運(yùn)算實(shí)際上是從關(guān)系R中選取使邏輯表達(dá)式為真的元組,是從行的角度進(jìn)行的運(yùn)算。例1查詢計(jì)算機(jī)系的全體學(xué)生:σDEPT=’計(jì)算機(jī)’(S)或σ5=’計(jì)算機(jī)’(S)(其中5為DEPT的屬性序號(hào))S(學(xué)生關(guān)系)SNO學(xué)號(hào)SN姓名SEX性別AGE年齡DEPT系別S1趙亦女17計(jì)算機(jī)S2錢爾男18信息S3孫珊女20信息S4李思男21自動(dòng)化S5周武男19計(jì)算機(jī)S6吳麗女20自動(dòng)化1、選?。⊿election)SNOSNSEXAGEDEPTS1趙亦女17計(jì)算機(jī)S5周武男19計(jì)算機(jī)σDEPT=’計(jì)算機(jī)’(S)例2查詢工資高于1000元的男教師。σ(SAL>1000)∧(SEX=’男’)(T)T(教師關(guān)系)TNO教師號(hào)TN姓名SEX性別AGE年齡PROF職稱SAL工資COMM崗位津貼DEPT系別T1李力男47教授15003000計(jì)算機(jī)T2王平女28講師8001200信息T3劉偉男30講師9001200計(jì)算機(jī)T4張雪女51教授16003000自動(dòng)化T5張?zhí)m女39副教授13002000信息1、選取(Selection)TNOTNSEXAGEPROFSALCOMMDEPTT1李力男47教授15003000計(jì)算機(jī)2.投影(Projection)投影運(yùn)算也是單目運(yùn)算,關(guān)系R上的投影是從R中選擇出若干屬性列,組成新的關(guān)系,即對(duì)關(guān)系在垂直方向進(jìn)行的運(yùn)算,從左到右按照指定的若干屬性及順序取出相應(yīng)列,刪去重復(fù)元組。記作:ΠA(R)={t[A]|t∈R}2.投影(Projection)其中:A為R中的屬性列Π為投影運(yùn)算符。2.投影(Projection)從其定義可看出,投影運(yùn)算是從列的角度進(jìn)行的運(yùn)算,這正是選取運(yùn)算和投影運(yùn)算的區(qū)別所在。選取運(yùn)算是從關(guān)系的水平方向上進(jìn)行運(yùn)算的,而投影運(yùn)算則是從關(guān)系的垂直方向上進(jìn)行的。2.投影(Projection)例查詢教師的姓名及其職稱。ΠTN,TNO,PROF(T)或Π2,1,5(T)(其中2,1,5分別為TN、TNO和PROF的屬性序號(hào))T(教師關(guān)系)TNO教師號(hào)TN姓名SEX性別AGE年齡PROF職稱SAL工資COMM崗位津貼DEPT系別T1李力男47教授15003000計(jì)算機(jī)T2王平女28講師8001200信息T3劉偉男30講師9001200計(jì)算機(jī)T4張雪女51教授16003000自動(dòng)化T5張?zhí)m女39副教授13002000信息2.投影(Projection)TNTNOPROF李力T1教授王平T2講師劉偉T3講師張雪T4教授張?zhí)mT5副教授投影運(yùn)算可以改變關(guān)系的屬性次序2.投影(Projection)例2.7查詢教師關(guān)系中有哪些系。ΠDEPT(T)T(教師關(guān)系)TNO教師號(hào)TN姓名SEX性別AGE年齡PROF職稱SAL工資COMM崗位津貼DEPT系別T1李力男47教授15003000計(jì)算機(jī)T2王平女28講師8001200信息T3劉偉男30講師9001200計(jì)算機(jī)T4張雪女51教授16003000自動(dòng)化T5張?zhí)m女39副教授13002000信息2.投影(Projection)投影后取消了某些屬性列后,就可能出現(xiàn)重復(fù)行,應(yīng)該取消這些完全相同的行。投影之后,不但減少了屬性,元組也可能減少,新關(guān)系與原關(guān)系不相容。DEPT計(jì)算機(jī)信息自動(dòng)化2.投影(Projection)例查詢講授C5課程的教師號(hào)ΠTNO(σCNO=’C5’(TC))TC(授課關(guān)系)TNO教師號(hào)CNO課程號(hào)T1C1T1C4T2C5T3C1T3C5T4C2T4C3T5C5T5C72.投影(Projection)結(jié)果為:選取運(yùn)算和投影運(yùn)算相結(jié)合,先在授課表中選取滿足條件的元組,再于TNO屬性上進(jìn)行投影。TNOT2T3T5TNOCNOT2C5T3C5T5C53.連接(Join)連接運(yùn)算是二目運(yùn)算,是從兩個(gè)關(guān)系的笛卡爾積中選取滿足連接條件的元組,組成新的關(guān)系。設(shè)關(guān)系R(A1,A2,……An)及S(B1,B2,……Bm),連接屬性集X包含于{A1,A2,……An},及Y包含于{B1,B2,……Bm}3.連接(Join)X與Y中屬性列數(shù)目相等,且相對(duì)應(yīng)屬性有共同的域。若Z={A1,A2……An}/X(/X:去掉X之外的屬性)及W={B1,B2……Bm}/Y,則R及S可表示為R(Z,X),S(W,Y);3.連接(Join)關(guān)系R和S在連接屬性X和Y上的連接,就是以R×S笛卡爾積中,選取X屬性列上的分量與Y屬性列上的分量滿足給定θ比較條件的那些元組在R×S上選取在連接屬性X,Y上滿足θ條件的子集,組成新的關(guān)系新關(guān)系的度為n+m。3.連接(Join)記作:R∞S={tr⌒ts

|tr∈R∧ts∈S∧

tr[X]θts[Y]為真}其中,∞是連接運(yùn)算符,θ為算術(shù)比較運(yùn)算符,也稱θ連接;XθY3.連接(Join)XθY為連接條件;θ為“=”時(shí),稱為等值連接;θ為“<”時(shí),稱為小于連接;θ為“>”時(shí),稱為大于連接。連接運(yùn)算為非基本運(yùn)算,可以用選取運(yùn)算和廣義笛卡爾積運(yùn)算來(lái)表示:R∞S=σxθy(R×S)3.連接(Join)ABCa1b12a1b24a2b36a2b48BDb15b26b37b38

RS大于連接(C>D)AR.BCS.BDa2b36b15a2b48b15a2b48b26a2b48b37等值連接(C=D)BDb15b26b37b38ABCa1b12a1b24a2b36a2b48

RSAR.BCS.BDa2b36b26a2b48b383.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論