版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、An Introduction to Database System數(shù)據(jù)庫(kù)原理及應(yīng)用Principles and Applications of the Database 第1章緒論計(jì)算機(jī)科學(xué)與工程學(xué)院第1章 緒論本章導(dǎo)讀了解:數(shù)據(jù)庫(kù)的發(fā)展過(guò)程和數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的特點(diǎn) 掌握:數(shù)據(jù)、數(shù)據(jù)管理、數(shù)據(jù)庫(kù)、數(shù)據(jù)模型和概念模型等專業(yè)術(shù)語(yǔ)的內(nèi)涵 理解:數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)三者之間的關(guān)系 計(jì)算機(jī)科學(xué)與工程學(xué)院第1章 緒論本章要點(diǎn)數(shù)據(jù)、信息、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng) 數(shù)據(jù)管理技術(shù)的發(fā)展階段數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)、數(shù)據(jù)獨(dú)立性計(jì)算機(jī)科學(xué)與工程學(xué)院第1章 緒論1.1 數(shù)據(jù)庫(kù)系統(tǒng)概述 1.2
2、數(shù)據(jù)模型 1.3 數(shù)據(jù)庫(kù)系統(tǒng)體系結(jié)構(gòu)1.4 數(shù)據(jù)庫(kù)技術(shù)的新發(fā)展本章小結(jié)計(jì)算機(jī)科學(xué)與工程學(xué)院1.1 數(shù)據(jù)庫(kù)系統(tǒng)概述 1.1.1 數(shù)據(jù)與信息1.1.2 數(shù)據(jù)管理技術(shù)的產(chǎn)生與發(fā)展 1.1.3 數(shù)據(jù)庫(kù) 1.1.4 數(shù)據(jù)庫(kù)管理系統(tǒng) 1.1.5 數(shù)據(jù)庫(kù)系統(tǒng) 1.1.6 數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn) 1.1.7 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng) 計(jì)算機(jī)科學(xué)與工程學(xué)院1.1.1 數(shù)據(jù)與信息 數(shù)據(jù)是從觀察和測(cè)量中所收集到的事實(shí),也有人說(shuō)數(shù)據(jù)是描述事物的符號(hào)記錄,或者說(shuō)數(shù)據(jù)是載荷信息的各種符號(hào)。數(shù)據(jù)本質(zhì)上是對(duì)客觀事物特征的一種抽象的、符號(hào)化的表示,即用一定的符號(hào)表示那些從觀察或測(cè)量中所收集到的基本事實(shí) 數(shù)據(jù)經(jīng)過(guò)加工處理之后,將轉(zhuǎn)變?yōu)橛兄趯?shí)現(xiàn)
3、特定目的的信息。因此又可以說(shuō)信息是數(shù)據(jù)有意義的表現(xiàn),或者說(shuō)信息就是數(shù)據(jù)的含義。由此可見,信息實(shí)際上是經(jīng)過(guò)處理后的數(shù)據(jù)數(shù)據(jù)和信息是兩個(gè)聯(lián)系非常密切的概念,數(shù)據(jù)處理也稱為信息處理 計(jì)算機(jī)科學(xué)與工程學(xué)院1.1.2 數(shù)據(jù)管理技術(shù)的產(chǎn)生與發(fā)展 1人工管理階段 2文件系統(tǒng)階段 3數(shù)據(jù)庫(kù)系統(tǒng)階段 計(jì)算機(jī)科學(xué)與工程學(xué)院1人工管理階段 圖1-1人工管理階段 計(jì)算機(jī)科學(xué)與工程學(xué)院1人工管理階段人工管理階段存在以下問(wèn)題:(1)數(shù)據(jù)不獨(dú)立保存。(2)應(yīng)用程序管理數(shù)據(jù)。(3)數(shù)據(jù)不共享。(4)數(shù)據(jù)不具有獨(dú)立性。(5)數(shù)據(jù)沒(méi)有軟件系統(tǒng)進(jìn)行管理,程序員不僅要規(guī)定數(shù)據(jù)的邏輯結(jié)構(gòu),而且還要設(shè)計(jì)數(shù)據(jù)的物理結(jié)構(gòu),數(shù)據(jù)面向應(yīng)用。 計(jì)
4、算機(jī)科學(xué)與工程學(xué)院2文件系統(tǒng)階段在人工管理階段最明顯的缺點(diǎn)就是缺乏數(shù)據(jù)獨(dú)立性。所以在20世紀(jì)50年代后期至60年代中期,隨著計(jì)算機(jī)技術(shù)的發(fā)展,不但計(jì)算機(jī)的硬件有了磁盤等直接存儲(chǔ)設(shè)備,而且在操作系統(tǒng)中也有了專門的數(shù)據(jù)管理軟件,稱為文件系統(tǒng),數(shù)據(jù)管理進(jìn)入文件系統(tǒng)階段。在文件系統(tǒng)階段,程序與數(shù)據(jù)分別獨(dú)立存放,數(shù)據(jù)組成數(shù)據(jù)文件,并且獨(dú)立命名,程序通過(guò)文件名對(duì)文件中的數(shù)據(jù)進(jìn)行處理,在程序與數(shù)據(jù)之間的轉(zhuǎn)換由文件管理系統(tǒng)來(lái)完成。即采用“應(yīng)用程序文件管理系統(tǒng)數(shù)據(jù)文件”的存取方式。如圖1-2所示。計(jì)算機(jī)科學(xué)與工程學(xué)院2文件系統(tǒng)階段 圖1-2文件系統(tǒng)管理階段計(jì)算機(jī)科學(xué)與工程學(xué)院2文件系統(tǒng)階段盡管文件系統(tǒng)使得數(shù)據(jù)管
5、理技術(shù)有了重要進(jìn)展,數(shù)據(jù)可以長(zhǎng)期保存,可以由專門的文件系統(tǒng)進(jìn)行數(shù)據(jù)管理,但是仍然有很多根本性問(wèn)題沒(méi)有解決,如:(1)數(shù)據(jù)冗余度大、共享性差、易產(chǎn)生數(shù)據(jù)不一致性在文件系統(tǒng)中,數(shù)據(jù)文件是用戶各自建立的,為用戶自己或用戶組所有,即使是相同的數(shù)據(jù)也必須放在各自的文件中,因此數(shù)據(jù)共享性差,冗余度大。同時(shí)由于相同數(shù)據(jù)的重復(fù)存儲(chǔ)及各自管理,易產(chǎn)生數(shù)據(jù)的不一致性。如:在表1-1 人事文件、表1-2 教學(xué)文件、表1-3 科研文件、表1-4 體檢文件中都有編號(hào)、姓名、性別、職稱信息,這顯然造成了大量數(shù)據(jù)的冗余,并且如果該教師職稱發(fā)生了變化,在人事文件中改變了其相應(yīng)的職稱信息,但在教學(xué)、科研等文件中沒(méi)有被修改,就會(huì)
6、產(chǎn)生數(shù)據(jù)的不一致性。(2)數(shù)據(jù)獨(dú)立性差即應(yīng)用程序與數(shù)據(jù)之間的依賴性很強(qiáng)。數(shù)據(jù)文件完全是根據(jù)具體的應(yīng)用程序的要求而建立的,如果修改文件系統(tǒng)中文件的邏輯結(jié)構(gòu),那么必須修改應(yīng)用程序。同時(shí)由于語(yǔ)言環(huán)境的變化,當(dāng)修改應(yīng)用程序時(shí),也將引起文件數(shù)據(jù)結(jié)構(gòu)的改變,因此數(shù)據(jù)與程序間仍缺乏數(shù)據(jù)獨(dú)立性。例如:在表1-1 人事文件中插入一個(gè)所在單位和年齡屬性,將會(huì)引起應(yīng)用程序的變化。計(jì)算機(jī)科學(xué)與工程學(xué)院2文件系統(tǒng)階段(3)用戶負(fù)擔(dān)重文件系統(tǒng)雖然為用戶提供了一種簡(jiǎn)單的、統(tǒng)一的存取文件的方法,但文件的處理、數(shù)據(jù)的安全性、完整性得不到可靠保證,這些必須由用戶程序完成。如:在性別信息中,性別只能是“男”或“女”,如果是其它數(shù)據(jù)
7、則不能接受。但是,關(guān)于這個(gè)完整性的控制必須由用戶程序來(lái)完成。IF NOT (性別=“男” OR 性別=“女”)Print “性別不對(duì),性別只能是男或者女”ENDIF(4)數(shù)據(jù)無(wú)結(jié)構(gòu)數(shù)據(jù)文件是按位置存放的,記錄之間沒(méi)有聯(lián)系,數(shù)據(jù)是無(wú)結(jié)構(gòu)的。除此之外,文件系統(tǒng)一般不支持多個(gè)應(yīng)用程序?qū)ν晃募牟l(fā)訪問(wèn),數(shù)據(jù)處理的效率較低。同時(shí),使用方式不夠靈活。每個(gè)數(shù)據(jù)文件只限于一定的應(yīng)用,難于對(duì)其進(jìn)行修改和擴(kuò)充。計(jì)算機(jī)科學(xué)與工程學(xué)院3數(shù)據(jù)庫(kù)系統(tǒng)階段20世紀(jì)60年代后期,為了克服文件系統(tǒng)存在的問(wèn)題,同時(shí)為了適應(yīng)日益迅速增長(zhǎng)的數(shù)據(jù)處理的需求,人們開始探索新的數(shù)據(jù)管理方法與工具。數(shù)據(jù)庫(kù)技術(shù)應(yīng)運(yùn)而生。數(shù)據(jù)庫(kù)技術(shù)的目標(biāo)主
8、要是解決數(shù)據(jù)獨(dú)立性問(wèn)題,即克服程序與數(shù)據(jù)文件相互依賴,同時(shí)要解決數(shù)據(jù)冗余、數(shù)據(jù)安全性、數(shù)據(jù)完整性等問(wèn)題,因此,出現(xiàn)了統(tǒng)一管理數(shù)據(jù)的專門軟件系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)。從文件系統(tǒng)發(fā)展到數(shù)據(jù)庫(kù)系統(tǒng)是數(shù)據(jù)管理發(fā)展的一個(gè)重大轉(zhuǎn)變,它將過(guò)去在文件系統(tǒng)中的以程序設(shè)計(jì)為核心,數(shù)據(jù)服從程序設(shè)計(jì)的數(shù)據(jù)管理模式改變?yōu)橐詳?shù)據(jù)庫(kù)設(shè)計(jì)為核心,應(yīng)用程序設(shè)計(jì)退居次位的數(shù)據(jù)管理模式。如圖1-3所示。計(jì)算機(jī)科學(xué)與工程學(xué)院 3數(shù)據(jù)庫(kù)系統(tǒng)階段圖1-3 數(shù)據(jù)庫(kù)系統(tǒng)管理階段計(jì)算機(jī)科學(xué)與工程學(xué)院1.1.3 數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)是指在計(jì)算機(jī)的存儲(chǔ)設(shè)備上合理存放的相互關(guān)聯(lián)的有結(jié)構(gòu)的數(shù)據(jù)集合。這個(gè)定義具有如下含義:(1) 數(shù)據(jù)庫(kù)首先是指在計(jì)算機(jī)的存儲(chǔ)設(shè)備上存
9、放的,屬于計(jì)算機(jī)領(lǐng)域的一個(gè)術(shù)語(yǔ)。(2) 數(shù)據(jù)庫(kù)是一個(gè)數(shù)據(jù)集合。(3)這個(gè)數(shù)據(jù)集合是有結(jié)構(gòu)的,這一點(diǎn)也是和文件系統(tǒng)相比最大的特點(diǎn)之一。(4)這個(gè)數(shù)據(jù)集合是相關(guān)聯(lián)的數(shù)據(jù)集合。(5) 這個(gè)數(shù)據(jù)集合是合理存放的。到底如何合理存放?這是數(shù)據(jù)庫(kù)技術(shù)研究的關(guān)鍵問(wèn)題之一,在規(guī)范化理論和數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)專門討論。計(jì)算機(jī)科學(xué)與工程學(xué)院1.1.4 數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。主要功能是建立和維護(hù)數(shù)據(jù)庫(kù),接受和完成用戶訪問(wèn)數(shù)據(jù)庫(kù)的各種請(qǐng)求。1數(shù)據(jù)庫(kù)管理系統(tǒng)的主要功能(1)數(shù)據(jù)庫(kù)定義功能(2)數(shù)據(jù)庫(kù)管理功能(3)數(shù)據(jù)庫(kù)的建立和維護(hù)功能(4)數(shù)據(jù)組織、存儲(chǔ)和管理功能(5
10、)通信功能計(jì)算機(jī)科學(xué)與工程學(xué)院2數(shù)據(jù)庫(kù)管理系統(tǒng)應(yīng)該滿足的要求(1)容易使用(2)數(shù)據(jù)處理速度快、能力強(qiáng)(3)具有可發(fā)展性(4)具有物理數(shù)據(jù)獨(dú)立性和邏輯數(shù)據(jù)獨(dú)立性(5)確保數(shù)據(jù)的完整性(6)具有良好的數(shù)據(jù)保密性和安全性(7)兼容性好(8)和諧性計(jì)算機(jī)科學(xué)與工程學(xué)院2數(shù)據(jù)庫(kù)管理系統(tǒng)應(yīng)該滿足的要求(9)邏輯數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單(10)強(qiáng)有力的用戶語(yǔ)言計(jì)算機(jī)科學(xué)與工程學(xué)院3數(shù)據(jù)庫(kù)管理系統(tǒng)的組成(1)語(yǔ)言(2)數(shù)據(jù)庫(kù)運(yùn)行程序(3)數(shù)據(jù)庫(kù)維護(hù)程序圖1-4 給出了一個(gè)典型的DBMS程序模塊組成圖。 計(jì)算機(jī)科學(xué)與工程學(xué)院3數(shù)據(jù)庫(kù)管理系統(tǒng)的組成計(jì)算機(jī)科學(xué)與工程學(xué)院1.1.5 數(shù)據(jù)庫(kù)系統(tǒng) 數(shù)據(jù)庫(kù)系統(tǒng)(DBS)是實(shí)現(xiàn)有組織
11、地、動(dòng)態(tài)地存儲(chǔ)大量相關(guān)的結(jié)構(gòu)化數(shù)據(jù),方便用戶使用數(shù)據(jù)庫(kù)的計(jì)算機(jī)軟件、硬件資源組成的系統(tǒng)。數(shù)據(jù)庫(kù)系統(tǒng)一般由硬件、軟件、數(shù)據(jù)庫(kù)、用戶四部分組成。1.硬件2.軟件3.數(shù)據(jù)庫(kù)4.用戶計(jì)算機(jī)科學(xué)與工程學(xué)院1.1.6 數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)比較復(fù)雜的系統(tǒng),包括計(jì)算機(jī)的軟件、硬件環(huán)境以及數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)管理員等相互獨(dú)立而又相互聯(lián)系的若干部分組成。所以,很難用簡(jiǎn)練語(yǔ)言概括其全部特點(diǎn),但是用數(shù)據(jù)庫(kù)系統(tǒng)管理數(shù)據(jù)應(yīng)該具有以下基本特點(diǎn): 計(jì)算機(jī)科學(xué)與工程學(xué)院1.1.6 數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)1數(shù)據(jù)結(jié)構(gòu)化2數(shù)據(jù)冗余度小、共享性高、避免了數(shù)據(jù)的不一致性3具有較高的數(shù)據(jù)獨(dú)立性4數(shù)據(jù)由DBMS統(tǒng)一管理和控制
12、計(jì)算機(jī)科學(xué)與工程學(xué)院1.1.7 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng) 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)及其應(yīng)用程序的組成。即在數(shù)據(jù)庫(kù)系統(tǒng)環(huán)境下建立起來(lái)的為某種應(yīng)用服務(wù)的軟、硬件的集合。我們也經(jīng)常稱這種軟件為應(yīng)用軟件。數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)和數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)(DBAS)之間的關(guān)系如圖1-5所示。 圖1-5 DB、DBMS、DBS、DBAS關(guān)系計(jì)算機(jī)科學(xué)與工程學(xué)院1.2 數(shù)據(jù)模型1.2.1 數(shù)據(jù)模型概述1.2.2 數(shù)據(jù)模型基本要素1.2.3 概念模型1.2.4 常用數(shù)據(jù)模型計(jì)算機(jī)科學(xué)與工程學(xué)院1.2.1 數(shù)據(jù)模型概述在數(shù)據(jù)庫(kù)技術(shù)中數(shù)據(jù)模型是指現(xiàn)實(shí)世界數(shù)據(jù)和信息的模擬和抽象。用計(jì)算機(jī)模擬現(xiàn)實(shí)世界人們的各種事務(wù)管理活動(dòng)
13、,一般需要經(jīng)歷三個(gè)階段,一是人們必須對(duì)現(xiàn)實(shí)世界的事物進(jìn)行分析、抽象成概念模型;二是將概念模型轉(zhuǎn)換為便于計(jì)算機(jī)進(jìn)行處理的數(shù)據(jù)模型;三是將數(shù)據(jù)模型轉(zhuǎn)換為計(jì)算機(jī)能實(shí)現(xiàn)的存儲(chǔ)模型。這一過(guò)程如圖1-6所示。計(jì)算機(jī)科學(xué)與工程學(xué)院1.2.1 數(shù)據(jù)模型概述圖1-6現(xiàn)實(shí)世界到計(jì)算機(jī)世界的抽象過(guò)程計(jì)算機(jī)科學(xué)與工程學(xué)院1.2.1 數(shù)據(jù)模型概述在從現(xiàn)實(shí)世界到計(jì)算機(jī)世界的抽象過(guò)程中,必須具備如下要求:真實(shí)性。 易理解性。 易實(shí)現(xiàn)性。 數(shù)據(jù)模型的種類很多,目前被廣泛使用的數(shù)據(jù)模型分為兩類:一類是獨(dú)立于計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)模型,完全不涉及信息在計(jì)算機(jī)中的表示,這類模型稱為概念數(shù)據(jù)模型,簡(jiǎn)稱概念模型。概念模型是一種面向客觀世界,
14、面向用戶的模型,主要用于數(shù)據(jù)庫(kù)設(shè)計(jì)。例如E-R模型、擴(kuò)充的E-R模型等屬于概念模型; 計(jì)算機(jī)科學(xué)與工程學(xué)院1.2.1 數(shù)據(jù)模型概述另一類是直接面向數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),稱為邏輯數(shù)據(jù)模型,又稱為結(jié)構(gòu)數(shù)據(jù)模型。它是一種與數(shù)據(jù)庫(kù)管理系統(tǒng)相關(guān)的模型,主要用于DBMS的實(shí)現(xiàn),如層次模型、網(wǎng)狀模型、關(guān)系模型、面向?qū)ο竽P途鶎龠@類數(shù)據(jù)模型。 邏輯數(shù)據(jù)模型我們常常簡(jiǎn)稱數(shù)據(jù)模型,它有嚴(yán)格的定義。數(shù)據(jù)庫(kù)專家E.F. Codd認(rèn)為:一個(gè)基本數(shù)據(jù)模型是一組向用戶提供的規(guī)則,這些規(guī)則規(guī)定數(shù)據(jù)結(jié)構(gòu)如何組織以及允許進(jìn)行何種操作。通常,一個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)模型應(yīng)包含數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)完整性約束三個(gè)部分。計(jì)算機(jī)科學(xué)與工程學(xué)院1.
15、2.2 數(shù)據(jù)模型基本要素?cái)?shù)據(jù)模型具有數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束條件三個(gè)基本要素。認(rèn)識(shí)或描述一種數(shù)據(jù)模型也要從它的基本要素開始。(1)數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)是指對(duì)實(shí)體模型和實(shí)體間聯(lián)系的表達(dá)和實(shí)現(xiàn)。數(shù)據(jù)結(jié)構(gòu)規(guī)定了如何描述數(shù)據(jù)的類型、內(nèi)容、性質(zhì)和數(shù)據(jù)之間的相互關(guān)系。它是數(shù)據(jù)模型最基本的組成部分,規(guī)定了數(shù)據(jù)模型的靜態(tài)特性。在數(shù)據(jù)庫(kù)系統(tǒng)中通常按照數(shù)據(jù)結(jié)構(gòu)的類型來(lái)命名數(shù)據(jù)模型,例如采用層次型數(shù)據(jù)結(jié)構(gòu)、網(wǎng)狀型數(shù)據(jù)結(jié)構(gòu)、關(guān)系型數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)模型分別稱為層次模型、網(wǎng)狀模型和關(guān)系模型。計(jì)算機(jī)科學(xué)與工程學(xué)院1.2.2 數(shù)據(jù)模型基本要素(2)數(shù)據(jù)操作。數(shù)據(jù)操作是指一組用于指定數(shù)據(jù)結(jié)構(gòu)的任何有效實(shí)例執(zhí)行的操作或推導(dǎo)規(guī)則
16、。數(shù)據(jù)庫(kù)中主要的操作有查詢和更新(插入、刪除、修改)兩大類。數(shù)據(jù)模型要為這些操作定義確切的含義、操作規(guī)則和實(shí)現(xiàn)操作的語(yǔ)言。因此,數(shù)據(jù)操作規(guī)定了數(shù)據(jù)模型的動(dòng)態(tài)特性。計(jì)算機(jī)科學(xué)與工程學(xué)院1.2.2 數(shù)據(jù)模型基本要素(3)數(shù)據(jù)約束條件。數(shù)據(jù)完整性約束給出數(shù)據(jù)及其聯(lián)系應(yīng)具有的制約和依賴規(guī)則,它定義了給定數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定相容的數(shù)據(jù)庫(kù)狀態(tài)的集合和可容許的狀態(tài)改變,以保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確性、有效性和相容性。數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)的約束條件是數(shù)據(jù)模型的三要素,其中數(shù)據(jù)結(jié)構(gòu)是描述一個(gè)模型性質(zhì)的最重要的方面。計(jì)算機(jī)科學(xué)與工程學(xué)院1.2.3 概念模型概念模型是從現(xiàn)實(shí)世界到計(jì)
17、算機(jī)世界轉(zhuǎn)換的一個(gè)中間層次,在數(shù)據(jù)庫(kù)設(shè)計(jì)的過(guò)程中它是比較關(guān)鍵的一步。因此,概念模型必須能夠真實(shí)地反映現(xiàn)實(shí)世界中被管理事物的特征及其復(fù)雜的聯(lián)系,即應(yīng)該具有豐富的語(yǔ)義表達(dá)能力和直接模擬現(xiàn)實(shí)世界的能力,且具有直觀、自然、語(yǔ)義豐富、易于用戶理解的特點(diǎn)。目前,被廣泛使用的概念模型是E-R數(shù)據(jù)模型(Entity-Relationship data model),即實(shí)體聯(lián)系數(shù)據(jù)模型。計(jì)算機(jī)科學(xué)與工程學(xué)院1.2.3 概念模型1信息的三個(gè)領(lǐng)域(1)現(xiàn)實(shí)世界:現(xiàn)實(shí)世界是存在于人們頭腦之外的客觀世界,在這里所說(shuō)的現(xiàn)實(shí)世界是指人們對(duì)各種事務(wù)的管理活動(dòng)。研究分析現(xiàn)實(shí)世界事物的規(guī)律和特點(diǎn),是建立概念模型的基礎(chǔ)。現(xiàn)實(shí)世界由
18、各種各樣的實(shí)體組成,下面給出實(shí)體、實(shí)體特性、實(shí)體集和實(shí)體標(biāo)識(shí)符的概念。實(shí)體(Entity),是客觀存在并可相互區(qū)別的個(gè)體。實(shí)體可以是具體的對(duì)象,也可以是抽象的;可以是有生命的,也可以是無(wú)生命的。 計(jì)算機(jī)科學(xué)與工程學(xué)院1.2.3 概念模型實(shí)體特性(Entity Character),任何一個(gè)實(shí)體都具有它自己的特征或性質(zhì),如:描述學(xué)生的特征有學(xué)號(hào)、姓名、性別、年齡、身高、體重等,把描述實(shí)體的主要特征的這一特性稱為實(shí)體特性。實(shí)體集(Entity Sets),具有相同實(shí)體特性的一類實(shí)體的集合稱為實(shí)體集,如全校學(xué)生的集合組成學(xué)生實(shí)體集。實(shí)體標(biāo)識(shí)符(Entity Identifier),在實(shí)體集中唯一能確
19、定實(shí)體集中某個(gè)實(shí)體的最小實(shí)體特性集稱為實(shí)體標(biāo)識(shí)符。 計(jì)算機(jī)科學(xué)與工程學(xué)院1.2.3 概念模型(2)信息世界:現(xiàn)實(shí)世界中的實(shí)體,通過(guò)人們的感覺器官反映到頭腦中,形成信息,組成信息世界。簡(jiǎn)單的說(shuō)就是現(xiàn)實(shí)世界在人們頭腦中的反映。在信息世界里用實(shí)體記錄表示實(shí)體,用實(shí)體記錄集表示實(shí)體集,屬性表示實(shí)體集的特性,用標(biāo)識(shí)屬性表示一個(gè)實(shí)體標(biāo)識(shí)符。有關(guān)屬性的幾點(diǎn)說(shuō)明如下:計(jì)算機(jī)科學(xué)與工程學(xué)院1.2.3 概念模型一個(gè)實(shí)體記錄可以有若干個(gè)屬性,但是在研究某一實(shí)體記錄時(shí),關(guān)心的是那些感興趣的屬性,例如:如果要描述有關(guān)學(xué)生學(xué)習(xí)成績(jī)的話,對(duì)于身高、體重屬性就沒(méi)有必要關(guān)心。不能再細(xì)分的屬性稱為原子屬性。可以再細(xì)分的屬性稱為可
20、分屬性。原子屬性與可分屬性之間具有相對(duì)性,因此,在實(shí)際情況中,要根據(jù)具體問(wèn)題來(lái)使用屬性概念。計(jì)算機(jī)科學(xué)與工程學(xué)院1.2.3 概念模型 屬性有型與值之分。屬性的具體表現(xiàn)稱為屬性值。如性別就是一個(gè)屬性的型,而男、女就是性別屬性的值。屬性值是附屬于屬性的,有什么樣的屬性,就有什么樣的值,即屬性的型是相對(duì)穩(wěn)定的,屬性的值隨屬性型相對(duì)變化,在某種情況下是原子的,在另外一種情況下又是可分的,如性別在不考慮年齡的情況下,屬性值是男、女,它們是原子的,如果考慮到年齡,女性又分為幼女、女童、女青年、女中年、女老年等。每個(gè)屬性值都有一定的變化范圍。屬性取值的范圍稱為值域(Domain)。例如:性別屬性值域是男、女
21、;成績(jī)屬性值域是100。計(jì)算機(jī)科學(xué)與工程學(xué)院1.2.3 概念模型(3)計(jì)算機(jī)世界:在信息世界中有些信息可以直接用數(shù)字表示,有些信息可以用符號(hào)、文字等來(lái)表示。但在計(jì)算機(jī)世界中一切信息只能用二進(jìn)制數(shù)據(jù)表示,即在計(jì)算機(jī)世界中的信息必須是數(shù)字化的。因此,計(jì)算機(jī)世界也稱為數(shù)據(jù)世界。在計(jì)算機(jī)世界中常用下列術(shù)語(yǔ):計(jì)算機(jī)科學(xué)與工程學(xué)院1.2.3 概念模型記錄(Record):信息世界中的實(shí)體記錄在計(jì)算機(jī)世界中的表示。字段(Field):信息世界中的屬性在計(jì)算機(jī)中的表示,它是可以命名的最小信息單位。文件(File):信息世界中的實(shí)體記錄集在計(jì)算機(jī)世界中的表示。關(guān)鍵字(Key Word):能夠唯一標(biāo)識(shí)文件中的某一
22、個(gè)記錄的最小字段集。計(jì)算機(jī)科學(xué)與工程學(xué)院1.2.3 概念模型表1-5 三個(gè)世界所用術(shù)語(yǔ)及其對(duì)應(yīng)關(guān)系現(xiàn)實(shí)世界信息世界計(jì)算機(jī)世界實(shí)體集實(shí)體記錄集表實(shí)體實(shí)體記錄記錄實(shí)體特征屬性字段實(shí)體標(biāo)識(shí)符標(biāo)識(shí)屬性關(guān)鍵字計(jì)算機(jī)科學(xué)與工程學(xué)院2實(shí)體(集)間的聯(lián)系2實(shí)體(集)間的聯(lián)系在現(xiàn)實(shí)世界中實(shí)體集不是孤立存在的,它們之間的聯(lián)系是錯(cuò)綜復(fù)雜的,所以,在信息世界中我們不但關(guān)心每一個(gè)實(shí)體集、屬性,還關(guān)心實(shí)體集之間的聯(lián)系。聯(lián)系分為兩類,一類是實(shí)體內(nèi)部的聯(lián)系,反映的是一部分屬性值與另一部分屬性值之間的決定關(guān)系或依賴關(guān)系,即字段間的聯(lián)系。另一類是實(shí)體集間的聯(lián)系,反映在數(shù)據(jù)上就是記錄間的聯(lián)系。關(guān)于實(shí)體內(nèi)部的聯(lián)系重點(diǎn)關(guān)心的是關(guān)鍵字,
23、它起到?jīng)Q定作用,其它屬性依賴關(guān)鍵字,由于在規(guī)范化理論中要進(jìn)行詳細(xì)討論,所以,在這里重點(diǎn)討論實(shí)體間的聯(lián)系。根據(jù)參與聯(lián)系的實(shí)體集的數(shù)目不同,把聯(lián)系分為二元聯(lián)系和多元聯(lián)系。計(jì)算機(jī)科學(xué)與工程學(xué)院2實(shí)體(集)間的聯(lián)系(1)二元聯(lián)系:只有兩個(gè)實(shí)體集參與的聯(lián)系稱為二元聯(lián)系。二元聯(lián)系有以下三種類型:一對(duì)一(one to one)聯(lián)系設(shè)有兩個(gè)實(shí)體集A、B,如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,B中至多有一個(gè)實(shí)體與之有聯(lián)系,反之亦然,則稱A、B有一對(duì)一聯(lián)系(1:1聯(lián)系)。計(jì)算機(jī)科學(xué)與工程學(xué)院2實(shí)體(集)間的聯(lián)系學(xué)校校長(zhǎng)學(xué)校學(xué)生教師學(xué)生圖1-10計(jì)算機(jī)科學(xué)與工程學(xué)院2實(shí)體(集)間的聯(lián)系一對(duì)多(one to many)聯(lián)系
24、設(shè)有兩個(gè)實(shí)體集A、B,若A中每個(gè)實(shí)體與B中任意個(gè)實(shí)體(包括零個(gè))相聯(lián)系,而B中每個(gè)實(shí)體至多和A中一個(gè)實(shí)體有聯(lián)系,則稱A和B是一對(duì)多聯(lián)系(1:n聯(lián)系也用符號(hào))。 把1:n聯(lián)系倒轉(zhuǎn)過(guò)來(lái)便成為n:1的聯(lián)系。如學(xué)生實(shí)體集與學(xué)校實(shí)體集之間的聯(lián)系是n:1的。 計(jì)算機(jī)科學(xué)與工程學(xué)院2實(shí)體(集)間的聯(lián)系多對(duì)多(many to many)聯(lián)系設(shè)有兩個(gè)實(shí)體集A、B,若兩個(gè)實(shí)體集A、B中的每一個(gè)實(shí)體都和另一個(gè)實(shí)體集中任意個(gè)實(shí)體(包括零個(gè))有聯(lián)系,則稱A、B是多對(duì)多聯(lián)系(m:n聯(lián)系)。1:1聯(lián)系是1:n聯(lián)系的特例,而1:n聯(lián)系又是m:n聯(lián)系的特例。它們之間的包含關(guān)系如圖1-10所示。 計(jì)算機(jī)科學(xué)與工程學(xué)院2實(shí)體(集)
25、間的聯(lián)系(2)多元聯(lián)系:參與聯(lián)系的實(shí)體集的個(gè)數(shù)3時(shí),稱為多元聯(lián)系。與二元聯(lián)系一樣,多元聯(lián)系也分為1:1、1:n和m:n三種。例如。用來(lái)描述學(xué)生、教師和課程實(shí)體集之間的“教學(xué)”聯(lián)系是三元聯(lián)系,一個(gè)教師可以講授多門課程,并且可以有多個(gè)學(xué)生學(xué)習(xí)該課程;一門課程不但可以有多個(gè)學(xué)生學(xué)習(xí),還可以有多名教師來(lái)講授;一個(gè)學(xué)生可以有多個(gè)教師為其講授多門課程。如圖1-11所示。教師學(xué)生課程m:nr計(jì)算機(jī)科學(xué)與工程學(xué)院3E-R 圖3E-R 圖(Entity-Relationship Approach)關(guān)于概念模型的表示方法有很多,最著名的是實(shí)體-聯(lián)系方法,簡(jiǎn)稱E-R圖。E-R圖具有以下優(yōu)點(diǎn):能非常自然的描述現(xiàn)實(shí)世界
26、;圖形結(jié)構(gòu)簡(jiǎn)單;設(shè)計(jì)者和用戶易理解,并且可以互相交流;它是數(shù)據(jù)庫(kù)設(shè)計(jì)的中間步驟,易于向數(shù)據(jù)模型轉(zhuǎn)換。(1)E-R圖的圖形符號(hào)方 框:表示一實(shí)體集,在框內(nèi)寫上實(shí)體集的名字。計(jì)算機(jī)科學(xué)與工程學(xué)院3E-R 圖菱形框:表示聯(lián)系,菱形框內(nèi)標(biāo)明聯(lián)系名,與其相關(guān)的實(shí)體集之間用線段連接,且在連線邊上標(biāo)明聯(lián)系類型。橢圓框:表示屬性,在框內(nèi)寫上屬性的名字,并用無(wú)向邊連向與其相關(guān)的實(shí)體集或聯(lián)系。在E-R圖中,有時(shí)為了突出各實(shí)體集之間的聯(lián)系,可以先畫出實(shí)體集及其屬性,然后再重點(diǎn)畫出實(shí)體之間的聯(lián)系。如圖下圖所示: 計(jì)算機(jī)科學(xué)與工程學(xué)院3E-R 圖學(xué)校負(fù)責(zé)校長(zhǎng)教師聘任院系學(xué)生教學(xué)教師計(jì)算機(jī)科學(xué)與工程學(xué)院3E-R 圖(2)
27、繪制E-R圖的步驟第一步:通過(guò)對(duì)現(xiàn)實(shí)世界的分析、抽象,找出實(shí)體集及其屬性;第二步:找出實(shí)體集之間的聯(lián)系;第三步:找出實(shí)體集聯(lián)系的屬性第四步:繪制E-R圖。繪制E-R圖一般先繪制局部E-R圖,然后繪制全局E-R圖,詳細(xì)見數(shù)據(jù)庫(kù)設(shè)計(jì)。計(jì)算機(jī)科學(xué)與工程學(xué)院3E-R 圖例如:我們以教學(xué)情況為例,進(jìn)行E-R圖設(shè)計(jì)。第一步:首先找出相關(guān)實(shí)體集:學(xué)生(S) 教師(T) 課程(C) 院系(D)每個(gè)實(shí)體的屬性分別為: S: 學(xué)號(hào),學(xué)生姓名,出生日期,專業(yè),班級(jí) T: 編號(hào),教師姓名,職稱,所在教研室 C: 課程號(hào),課程名稱,學(xué)時(shí),考核方式 D: 院系代號(hào),院系名稱計(jì)算機(jī)科學(xué)與工程學(xué)院3E-R 圖第二步:找出實(shí)體
28、集之間的聯(lián)系S與C之間有聯(lián)系,且為m:n,因?yàn)橐粋€(gè)學(xué)生可以學(xué)習(xí)多門課程,反過(guò)來(lái)一門課程可以被多個(gè)學(xué)生學(xué)習(xí)。T與C之間有聯(lián)系,且為m:n,因?yàn)橐粋€(gè)教師可以講授多門課程,反過(guò)來(lái)一門課程可以被多個(gè)教師講授。D與S之間有聯(lián)系,且為1:n,因?yàn)橐粋€(gè)院系可以有多個(gè)學(xué)生,但是一個(gè)學(xué)生只屬于一個(gè)院系。D與T之間有聯(lián)系,且為1:n,因?yàn)橐粋€(gè)院系可以有多個(gè)教師,但是一個(gè)教師只屬于一個(gè)院系。計(jì)算機(jī)科學(xué)與工程學(xué)院3E-R 圖第三步:找出實(shí)體集之間聯(lián)系的屬性S與C之間聯(lián)系的結(jié)果用成績(jī)表示。T與C之間聯(lián)系以講授哪一個(gè)班級(jí)來(lái)表示。第四步:繪制E-R圖當(dāng)E-R圖比較復(fù)雜時(shí),為了使E-R圖簡(jiǎn)潔,可以使屬性不在E-R圖中出現(xiàn),即
29、單獨(dú)畫出每一個(gè)實(shí)體及實(shí)體屬性,在E-R圖中僅畫出實(shí)體集和它們之間的聯(lián)系,在E-R圖中每一個(gè)實(shí)體只允許出現(xiàn)一次,如圖1-14所示。計(jì)算機(jī)科學(xué)與工程學(xué)院3E-R 圖計(jì)算機(jī)科學(xué)與工程學(xué)院3E-R 圖教師編制院系授課課程學(xué)習(xí)學(xué)生成績(jī)SD授課班級(jí)m:1m:nm:n1:m計(jì)算機(jī)科學(xué)與工程學(xué)院1.2.4 常用數(shù)據(jù)模型常用的結(jié)構(gòu)數(shù)據(jù)模型有四種:層次模型、網(wǎng)狀模型、關(guān)系模型和面向?qū)ο竽P汀?層次模型層次模型是按照樹型(層次)結(jié)構(gòu)表示實(shí)體集與實(shí)體集之間的聯(lián)系模型。層次模型中用結(jié)點(diǎn)表示實(shí)體集,結(jié)點(diǎn)之間聯(lián)系的基本方式是1:n。層次模型滿足如下條件:有且只有一個(gè)結(jié)點(diǎn)沒(méi)有雙親結(jié)點(diǎn)(稱為根結(jié)點(diǎn));根以外的其它結(jié)點(diǎn)有且只有一
30、個(gè)雙親結(jié)點(diǎn)。如圖1-15所示為層次模型的例子。計(jì)算機(jī)科學(xué)與工程學(xué)院1.2.4 常用數(shù)據(jù)模型圖1-15 層次模型例子計(jì)算機(jī)科學(xué)與工程學(xué)院2網(wǎng)狀模型 網(wǎng)狀數(shù)據(jù)模型基本特征是取消了層次模型的限制,它不但允許一個(gè)以上的結(jié)點(diǎn)無(wú)雙親,而且一個(gè)結(jié)點(diǎn)允許有一個(gè)以上的雙親。在網(wǎng)狀數(shù)據(jù)模型中,用有向圖結(jié)構(gòu)表示實(shí)體類型及實(shí)體間的聯(lián)系,有向圖中每個(gè)結(jié)點(diǎn)表示一個(gè)實(shí)體集,稱之為記錄型,用矩形框表示。記錄型之間的聯(lián)系通過(guò)“系”(Set)實(shí)現(xiàn),系用有向線段表示,箭頭指向1:n聯(lián)系的“n”方?!?”方的記錄稱為首記錄,“n”方的記錄稱為屬記錄。圖1-17是網(wǎng)狀結(jié)構(gòu)的一個(gè)例子。 計(jì)算機(jī)科學(xué)與工程學(xué)院2網(wǎng)狀模型圖1-17 網(wǎng)狀結(jié)構(gòu)
31、的一個(gè)例子計(jì)算機(jī)科學(xué)與工程學(xué)院3關(guān)系模型 關(guān)系數(shù)據(jù)模型的主要特征是用二維表格表示現(xiàn)實(shí)世界實(shí)體集及實(shí)體集間的聯(lián)系。在數(shù)學(xué)上關(guān)系有嚴(yán)格的定義,它與前兩種模型相比數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單,容易被初學(xué)者理解。計(jì)算機(jī)科學(xué)與工程學(xué)院3關(guān)系模型作為關(guān)系,具有如下性質(zhì):關(guān)系中的每一個(gè)屬性都是不可分解的,即所有域都應(yīng)是原子數(shù)據(jù)的集合;沒(méi)有完全相同的行和列,行、列的排列順序是無(wú)關(guān)緊要的。在關(guān)系模型中有一個(gè)比較重要的概念就是關(guān)系模式。關(guān)系模式是關(guān)系中信息內(nèi)容結(jié)構(gòu)的描述。它包括關(guān)系名、屬性名、每個(gè)屬性列的取值集合、數(shù)據(jù)完整性約束條件以及各屬性間固有的數(shù)據(jù)依賴關(guān)系等。因此,關(guān)系模式可表示為:R(U,D,DOM,F(xiàn))其中:R是關(guān)系名
32、 U是組成關(guān)系R的全部屬性的集合D是U中屬性取值的值域DOM是屬性列到域的映射;即DOM:UD,且每個(gè)屬性Ai所有可能的取值集合構(gòu)成Di(i=1,2,n),并允許Di =Dj,ijF是屬性集間的一組數(shù)據(jù)依賴計(jì)算機(jī)科學(xué)與工程學(xué)院3關(guān)系模型在不涉及完整性約束及數(shù)據(jù)依賴情況下,為了簡(jiǎn)化,可用R(U)表示關(guān)系模式。例如學(xué)生關(guān)系模式可表示為:S(學(xué)號(hào),姓名,性別,年齡,所在院系)在層次和網(wǎng)狀模型中,聯(lián)系是用指針來(lái)實(shí)現(xiàn)的,而在關(guān)系模型中,聯(lián)系是通過(guò)關(guān)系模式中的屬性來(lái)體現(xiàn)。 計(jì)算機(jī)科學(xué)與工程學(xué)院3關(guān)系模型在關(guān)系數(shù)據(jù)庫(kù)中,對(duì)數(shù)據(jù)庫(kù)的查詢和更新操作都?xì)w結(jié)為對(duì)關(guān)系的運(yùn)算。即以一個(gè)或多個(gè)關(guān)系為運(yùn)算對(duì)象,對(duì)它們進(jìn)行某
33、些運(yùn)算形成一個(gè)新關(guān)系,提供用戶所需數(shù)據(jù)。關(guān)系運(yùn)算按其表達(dá)查詢方式的不同分為兩大類:關(guān)系代數(shù)和關(guān)系演算。關(guān)系代數(shù)是由一組以關(guān)系作為運(yùn)算對(duì)象的特定的關(guān)系運(yùn)算所組成,用戶通過(guò)這組運(yùn)算對(duì)一個(gè)或多個(gè)關(guān)系進(jìn)行“組合”與“分割”,從而得到所需的新關(guān)系。關(guān)系代數(shù)運(yùn)算又可分為兩類:傳統(tǒng)的集合運(yùn)算和專門的關(guān)系運(yùn)算。傳統(tǒng)的集合運(yùn)算包括并運(yùn)算、差運(yùn)算,交運(yùn)算和笛卡爾乘積運(yùn)算等。專門的關(guān)系運(yùn)算是根據(jù)數(shù)據(jù)庫(kù)操作需要而定義的一組運(yùn)算,它包括:選擇運(yùn)算、投影運(yùn)算、連接運(yùn)算、自然連接運(yùn)算和除運(yùn)算等。關(guān)系演算是以數(shù)理邏輯中的謂詞演算來(lái)表達(dá)關(guān)系的操作。關(guān)系演算根據(jù)使用謂詞變量類型的不同,可分為元組關(guān)系演算和域關(guān)系演算。關(guān)系數(shù)據(jù)模型
34、中的關(guān)系代數(shù)和關(guān)系演算,為關(guān)系運(yùn)算提供了豐富的操作功能。計(jì)算機(jī)科學(xué)與工程學(xué)院3關(guān)系模型關(guān)系模型的數(shù)據(jù)約束通常由三類完整性約束提供支持,以保證對(duì)關(guān)系數(shù)據(jù)庫(kù)進(jìn)行操作時(shí)不破壞數(shù)據(jù)的一致性。(1)實(shí)體完整性約束:實(shí)體完整性約束是指任一關(guān)系中標(biāo)識(shí)屬性(關(guān)鍵字)的值,不能為NULL,否則,無(wú)法識(shí)別關(guān)系中的元組。(2)參照完整性約束:參照完整性是不同關(guān)系間的一種約束,當(dāng)存在關(guān)系間的引用時(shí),要求不能引用不存在的元組。若屬性組F是關(guān)系R(U)的外關(guān)鍵字,并是關(guān)系S(U)的關(guān)鍵字(即F不是R(U)的關(guān)鍵字,而是S(U)的關(guān)鍵字,稱F是R(U)的外關(guān)鍵字),則對(duì)于R(U)中的每個(gè)元組在屬性組F上的值必須為:或取空值
35、(NULL);或等于S(U)中某個(gè)元組的關(guān)鍵字值。(3)用戶定義完整性約束:如值的類型、寬度等。計(jì)算機(jī)科學(xué)與工程學(xué)院3關(guān)系模型關(guān)系模型和層次模型、網(wǎng)狀模型的最大差別是用關(guān)鍵字而不是用指針導(dǎo)航數(shù)據(jù),除此之外,關(guān)系模型的主要優(yōu)點(diǎn)有:1)關(guān)系模型有堅(jiān)實(shí)的理論基礎(chǔ) 2)二維表不僅能表示實(shí)體集,而且能方便地表示實(shí)體集間的聯(lián)系,它有很強(qiáng)的表達(dá)能力,這是層次模型和網(wǎng)狀模型所不及的 3)簡(jiǎn)單 4)數(shù)據(jù)獨(dú)立性高 計(jì)算機(jī)科學(xué)與工程學(xué)院4面向?qū)ο髷?shù)據(jù)模型 面向?qū)ο髷?shù)據(jù)模型(Object-Oriented Data Model 簡(jiǎn)稱OO數(shù)據(jù)模型)是面向?qū)ο蟪绦蛟O(shè)計(jì)方法與數(shù)據(jù)庫(kù)技術(shù)相結(jié)合的產(chǎn)物。它的基本目標(biāo)是以更接近人
36、類思維的方式描述客觀世界的事物及其聯(lián)系,且使描述問(wèn)題的問(wèn)題空間和解決問(wèn)題的方法空間在結(jié)構(gòu)上盡可能一致,以便對(duì)客觀實(shí)體進(jìn)行結(jié)構(gòu)模擬和行為模擬。計(jì)算機(jī)科學(xué)與工程學(xué)院4面向?qū)ο髷?shù)據(jù)模型在面向?qū)ο髷?shù)據(jù)模型中最基本的概念是對(duì)象和類。(1)對(duì)象(Object)(2)類和類的實(shí)例計(jì)算機(jī)科學(xué)與工程學(xué)院1.3 數(shù)據(jù)庫(kù)系統(tǒng)體系結(jié)構(gòu)1.3.1 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)一個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)從邏輯上可以劃分為三個(gè)層次:外部模式(External Schema),概念模式(Conceptual Schema)和內(nèi)部模式(Internal Schema),稱為數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)。這個(gè)結(jié)構(gòu)最早是在1971年通過(guò)的DBTG報(bào)告
37、中提出來(lái)的,后來(lái)收錄在1975年的ANSI/X3/SPARC(美國(guó)國(guó)家標(biāo)準(zhǔn)化組織/授權(quán)的標(biāo)準(zhǔn)委員會(huì)/系統(tǒng)規(guī)劃與需求委員會(huì))聯(lián)合成立的DBMS研究組的中期報(bào)告中。雖然目前DBMS產(chǎn)品非常多,并且多種多樣,但大多數(shù)系統(tǒng)在體系結(jié)構(gòu)上都具有三級(jí)結(jié)構(gòu)的特征,如圖1-21所示 計(jì)算機(jī)科學(xué)與工程學(xué)院1.3.1 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)用戶12外模式1外模式N外模式2概念模式內(nèi)模式外模式/概念模式映象概念模式/內(nèi)模式映象 DB用戶11用戶22用戶21用戶N1用戶N2圖1-21 數(shù)據(jù)庫(kù)系統(tǒng)三級(jí)模式結(jié)構(gòu)計(jì)算機(jī)科學(xué)與工程學(xué)院1.3.1 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)1概念模式(Conceptual Schema)概念模式
38、簡(jiǎn)稱模式,是由數(shù)據(jù)庫(kù)設(shè)計(jì)者綜合所有用戶數(shù)據(jù),按照統(tǒng)一的觀點(diǎn)構(gòu)造的對(duì)數(shù)據(jù)庫(kù)全局邏輯結(jié)構(gòu)的描述。一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)概念模式,它是數(shù)據(jù)庫(kù)系統(tǒng)三級(jí)模式結(jié)構(gòu)的中間層,既不涉及數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬件環(huán)境,也與具體的應(yīng)用程序及程序設(shè)計(jì)語(yǔ)言無(wú)關(guān)。概念模式由DBMS提供的模式描述語(yǔ)言(模式DDL)來(lái)定義和描述。計(jì)算機(jī)科學(xué)與工程學(xué)院1.3.1 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)(2外部模式(External Schema)外部模式又稱子模式,是用戶與數(shù)據(jù)庫(kù)之間的接口,是數(shù)據(jù)庫(kù)用戶(包括應(yīng)用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。從邏輯關(guān)系來(lái)看,外部模式是概念模式的一部分,或者說(shuō)外部模式是概念模式
39、的一個(gè)邏輯子集。一個(gè)數(shù)據(jù)庫(kù)可以有多個(gè)外部模式,外部模式表示了用戶所理解的實(shí)體、實(shí)體屬性和實(shí)體間的聯(lián)系。外部模式由DBMS提供的外部模式描述語(yǔ)言(外部模式DDL)來(lái)定義和描述。計(jì)算機(jī)科學(xué)與工程學(xué)院1.3.1 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)3內(nèi)部模式(Internal Schema)內(nèi)部模式也稱存儲(chǔ)模式,是對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示方式。一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)內(nèi)部模式。在內(nèi)部模式中規(guī)定了所有內(nèi)部記錄類型、索引和文件的組織方式,以及數(shù)據(jù)控制方面的細(xì)節(jié)。 因此,內(nèi)部模式是DBMS管理的最低層,它是物理存儲(chǔ)設(shè)備上存儲(chǔ)數(shù)據(jù)時(shí)的物理抽象。內(nèi)部模式由DBMS提供的內(nèi)部模式描述語(yǔ)言(
40、內(nèi)部模式DDL)來(lái)定義和描述。計(jì)算機(jī)科學(xué)與工程學(xué)院1.3.2 數(shù)據(jù)庫(kù)的兩級(jí)映像與數(shù)據(jù)獨(dú)立性 1.3.2 數(shù)據(jù)庫(kù)的兩級(jí)映像與數(shù)據(jù)獨(dú)立性 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式是對(duì)數(shù)據(jù)進(jìn)行三個(gè)級(jí)別的抽象。它把數(shù)據(jù)的具體組織留給DBMS去做,用戶只要抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在機(jī)器中的具體表示方式和存儲(chǔ)方式。為了實(shí)現(xiàn)這三個(gè)抽象級(jí)別的聯(lián)系和轉(zhuǎn)換,提高數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)獨(dú)立性,DBMS在這三級(jí)模式間提供了兩層映像:外模式/模式映像和模式/內(nèi)模式映像。所謂映像是一種對(duì)應(yīng)規(guī)則,它指出了映像雙方是如何進(jìn)行轉(zhuǎn)換的。數(shù)據(jù)庫(kù)的三級(jí)結(jié)構(gòu)是依靠映像來(lái)聯(lián)系和互相轉(zhuǎn)換的。正是這兩層映像保證了數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)具有較高的數(shù)據(jù)獨(dú)立性。計(jì)算機(jī)
41、科學(xué)與工程學(xué)院1.3.2 數(shù)據(jù)庫(kù)的兩級(jí)映像與數(shù)據(jù)獨(dú)立性1外模式/模式映像外模式/模式映像定義了各個(gè)外模式與模式間的映像關(guān)系。對(duì)應(yīng)于同一個(gè)模式可以有多個(gè)外模式,對(duì)于每一個(gè)外模式,數(shù)據(jù)庫(kù)系統(tǒng)都有一個(gè)外模式/模式映像,它定義了該外模式與模式之間的對(duì)應(yīng)關(guān)系。這些映像定義通常在各自的外模式中加以描述。2模式/內(nèi)模式映像模式/內(nèi)模式映像定義了數(shù)據(jù)庫(kù)全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系。數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)定義了數(shù)據(jù)庫(kù)的三個(gè)抽象層次:物理數(shù)據(jù)庫(kù)、概念數(shù)據(jù)庫(kù)和邏輯數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)系統(tǒng)的三種不同模式只是提供處理數(shù)據(jù)的框架,而填入這些框架中的數(shù)據(jù)才是數(shù)據(jù)庫(kù)的內(nèi)容。根據(jù)三級(jí)模式結(jié)構(gòu)引出的數(shù)據(jù)庫(kù)抽象層次,是從不同角
42、度觀察數(shù)據(jù)庫(kù)的視圖,圖1-22給出數(shù)據(jù)庫(kù)的分級(jí)結(jié)構(gòu)與抽象層次的對(duì)應(yīng)關(guān)系。 計(jì)算機(jī)科學(xué)與工程學(xué)院1.3.2 數(shù)據(jù)庫(kù)的兩級(jí)映像與數(shù)據(jù)獨(dú)立性圖1-22 系統(tǒng)的分級(jí)結(jié)構(gòu)與抽象層次對(duì)應(yīng)圖計(jì)算機(jī)科學(xué)與工程學(xué)院1.3.3 用戶通過(guò)DBMS訪問(wèn)數(shù)據(jù)庫(kù)的過(guò)程 數(shù)據(jù)庫(kù)管理系統(tǒng)是一個(gè)負(fù)責(zé)數(shù)據(jù)庫(kù)的定義、建立、操作、管理和維護(hù)的軟件系統(tǒng)。它是數(shù)據(jù)庫(kù)系統(tǒng)的核心組成部分,也是用戶的應(yīng)用程序和物理數(shù)據(jù)庫(kù)之間的橋梁。用戶、程序員、DBA對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的一切操作,包括定義、查詢、更新及各種控制,都是通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行的。DBMS的工作示意圖如圖1-23所示。 計(jì)算機(jī)科學(xué)與工程學(xué)院1.3.3 用戶通過(guò)DBMS訪問(wèn)數(shù)據(jù)庫(kù)的過(guò)程圖1
43、-23 用戶訪問(wèn)數(shù)據(jù)庫(kù)的過(guò)程 計(jì)算機(jī)科學(xué)與工程學(xué)院1.3.3 用戶通過(guò)DBMS訪問(wèn)數(shù)據(jù)庫(kù)的過(guò)程DBMS的工作過(guò)程如下: 接受應(yīng)用程序的數(shù)據(jù)請(qǐng)求。 DBMS對(duì)用戶的操作請(qǐng)求進(jìn)行分析(DMBS類似于一個(gè)操作命令解釋器,把用戶程序的數(shù)據(jù)操作語(yǔ)句轉(zhuǎn)換為具體的物理數(shù)據(jù)處理,它又像一個(gè)向?qū)?,把用戶?duì)數(shù)據(jù)庫(kù)的一次訪問(wèn)從用戶數(shù)據(jù)庫(kù)帶到概念數(shù)據(jù)庫(kù),再導(dǎo)向物理數(shù)據(jù)庫(kù),從而有效地實(shí)現(xiàn)了數(shù)據(jù)庫(kù)三級(jí)模式間的轉(zhuǎn)換)。 由于在計(jì)算機(jī)的存儲(chǔ)設(shè)備上的數(shù)據(jù)數(shù)據(jù)庫(kù)管理系統(tǒng)不能直接操作,必須由操作系統(tǒng)統(tǒng)一管理調(diào)度,所以,數(shù)據(jù)庫(kù)管理系統(tǒng)要向操作系統(tǒng)發(fā)出操作請(qǐng)求。 操作系統(tǒng)接到命令后,對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行處理,將結(jié)果送到系統(tǒng)緩沖區(qū),并發(fā)
44、出讀完標(biāo)志; DBMS接到回答信號(hào)后,將緩沖區(qū)的數(shù)據(jù)經(jīng)過(guò)模式映射,變成用戶的邏輯記錄送到用戶工作區(qū),同時(shí)給用戶回答成功與否的信息。上述操作過(guò)程可以用圖1-24所示。tr ts計(jì)算機(jī)科學(xué)與工程學(xué)院1.3.3 用戶通過(guò)DBMS訪問(wèn)數(shù)據(jù)庫(kù)的過(guò)程圖1-24 DBMS的工作模式計(jì)算機(jī)科學(xué)與工程學(xué)院1.4 數(shù)據(jù)庫(kù)技術(shù)的新發(fā)展 1分布式數(shù)據(jù)庫(kù)2并行數(shù)據(jù)庫(kù)3演繹數(shù)據(jù)庫(kù)、知識(shí)庫(kù)和主動(dòng)數(shù)據(jù)庫(kù)4多媒體數(shù)據(jù)庫(kù)5模糊數(shù)據(jù)庫(kù)計(jì)算機(jī)科學(xué)與工程學(xué)院本章小結(jié)數(shù)據(jù)管理技術(shù)的發(fā)展主要經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)是有關(guān)數(shù)據(jù)庫(kù)的基本概念。數(shù)據(jù)模型是指現(xiàn)實(shí)世界數(shù)據(jù)和
45、信息的模擬,在從現(xiàn)實(shí)世界到計(jì)算機(jī)世界的抽象過(guò)程中,要求必須具備真實(shí)性、易理解性和易實(shí)現(xiàn)性。數(shù)據(jù)庫(kù)系統(tǒng)是采用了數(shù)據(jù)庫(kù)技術(shù)的計(jì)算機(jī)系統(tǒng),主要由硬件、軟件和用戶組成,其中DBMS是數(shù)據(jù)庫(kù)系統(tǒng)的核心。數(shù)據(jù)庫(kù)的數(shù)據(jù)模式由外模式、模式和內(nèi)模式三級(jí)模式構(gòu)成。在三級(jí)模式之間提供了兩級(jí)映象:外模式/模式映象和模式/內(nèi)模式映像,這兩層映象保證了數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性。通過(guò)本章的學(xué)習(xí),應(yīng)該:掌握信息、數(shù)據(jù)、數(shù)據(jù)庫(kù)的概念。理解數(shù)據(jù)庫(kù)技術(shù)的起源與發(fā)展。掌握數(shù)據(jù)庫(kù)技術(shù)的特點(diǎn)。掌握數(shù)據(jù)管理系統(tǒng)的功能與結(jié)構(gòu)。掌握數(shù)據(jù)庫(kù)系統(tǒng)的組成、數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)和數(shù)據(jù)獨(dú)立性。計(jì)算機(jī)科學(xué)與工程學(xué)院 下課
46、了。追求數(shù)據(jù)庫(kù)原理及應(yīng)用Principles and Applications of the Database An Introduction to Database System第二章 關(guān)系數(shù)據(jù)庫(kù)第二章 關(guān)系數(shù)據(jù)庫(kù)本章導(dǎo)讀了解:用域關(guān)系演算式表達(dá)查詢要求;關(guān)系數(shù)據(jù)庫(kù)查詢優(yōu)化的重要性理解:關(guān)系模型的基本概念 掌握:關(guān)系數(shù)據(jù)庫(kù)的重要概念,包括關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)、關(guān)系的完整性以及關(guān)系操作。用關(guān)系代數(shù)和元組關(guān)系演算表達(dá)查詢要求。掌握查詢處理各個(gè)步驟的主要功能。能夠把SQL語(yǔ)句轉(zhuǎn)換成查詢樹,對(duì)查詢樹進(jìn)行代數(shù)優(yōu)化,轉(zhuǎn)換成優(yōu)化的查詢樹。計(jì)算機(jī)科學(xué)與工程學(xué)院第二章 關(guān)系數(shù)據(jù)庫(kù)重點(diǎn): 1關(guān)系模型 2關(guān)系數(shù)據(jù)結(jié)
47、構(gòu)及形式化定義:域、笛卡爾積、元組、關(guān)系、侯選碼、主碼、 關(guān)系模式、關(guān)系數(shù)據(jù)庫(kù) 3關(guān)系的完整性:實(shí)體完整性、參照完整性、用戶定義的完整性 難點(diǎn): 1關(guān)系代數(shù):并、差、交、廣義笛卡爾積等傳統(tǒng)的集合運(yùn)算;選擇、投影、連接、除等專門的關(guān)系運(yùn)算 2關(guān)系演算:元組關(guān)系演算;域關(guān)系演算 3. 查詢優(yōu)化:關(guān)系代數(shù)的優(yōu)化算法 計(jì)算機(jī)科學(xué)與工程學(xué)院第二章 關(guān)系數(shù)據(jù)庫(kù)本章要點(diǎn)關(guān)系模型的基本概念關(guān)系數(shù)據(jù)庫(kù)的重要概念關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義用關(guān)系代數(shù)表達(dá)查詢要求用關(guān)系代數(shù)表達(dá)查詢優(yōu)化及優(yōu)化的算法和策略用元組關(guān)系演算表達(dá)查詢要求用域關(guān)系演算表達(dá)查詢要求 計(jì)算機(jī)科學(xué)與工程學(xué)院關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介提出關(guān)系模型的是美國(guó)IBM公司的
48、E.F.Codd1970年提出關(guān)系數(shù)據(jù)模型E.F.Codd, “A Relational Model of Data for Large Shared Data Banks”, Communication of the ACM,1970之后,提出了關(guān)系代數(shù)和關(guān)系演算的概念1972年提出了關(guān)系的第一、第二、第三范式1974年提出了關(guān)系的BC范式計(jì)算機(jī)科學(xué)與工程學(xué)院第二章 關(guān)系數(shù)據(jù)庫(kù)2.1 關(guān)系2.2 關(guān)系代數(shù)2.3 查詢優(yōu)化2.4 關(guān)系演算*本章小結(jié)計(jì)算機(jī)科學(xué)與工程學(xué)院2.1 關(guān)系2.1.1 關(guān)系定義2.1.2 碼的定義2.1.3 關(guān)系數(shù)據(jù)庫(kù)2.1.4 關(guān)系操作2.1.5 關(guān)系完整性約束計(jì)算機(jī)科
49、學(xué)與工程學(xué)院2.1.1 關(guān)系定義單一的數(shù)據(jù)結(jié)構(gòu)關(guān)系現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來(lái)表示邏輯結(jié)構(gòu)二維表 從用戶角度,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表建立在集合代數(shù)的基礎(chǔ)上 計(jì)算機(jī)科學(xué)與工程學(xué)院2.1.1 關(guān)系定義 域(Domain) 2. 笛卡爾積 3. 關(guān)系計(jì)算機(jī)科學(xué)與工程學(xué)院 域(Domain)定義2.1 域是一組具有相同數(shù)據(jù)類型的值的集合。 例如:姓名:吳娟,李小麗,王小芬性別:男,女專業(yè):國(guó)際貿(mào)易,日語(yǔ),經(jīng)濟(jì)管理成績(jī):0100的整數(shù)集合計(jì)算機(jī)科學(xué)與工程學(xué)院2. 笛卡爾積定義2.2 給定一組域D1,D2,Dn,這些域中可以有相同的。那么D1,D2,Dn的笛卡爾積為: D1D
50、2Dn (d1,d2,dn)diDi,i1,2,n所有域的所有取值的一個(gè)組合不能重復(fù)計(jì)算機(jī)科學(xué)與工程學(xué)院2. 笛卡爾積設(shè)有三個(gè)域,D1為書名集合,D2為作者集合,D3為出版社集合: D1=基督山伯爵,蘇菲的世界,老人與海D2=大仲馬,賈德,海明威D3=譯文出版社,作家出版社 計(jì)算機(jī)科學(xué)與工程學(xué)院2. 笛卡爾積元組(Tuple)笛卡爾積中每一個(gè)元素(d1,d2,dn)叫作一個(gè)n元組(n-tuple)或簡(jiǎn)稱元組(Tuple)(基督山伯爵,大仲馬,譯文出版社 )、(基督山伯爵,大仲馬,作家出版社 )等都是元組 分量(Component)笛卡爾積元素(d1,d2,dn)中的每一個(gè)值di叫作一個(gè)分量基督
51、山伯爵、大仲馬、譯文出版社、作家出版社等都是分量 計(jì)算機(jī)科學(xué)與工程學(xué)院2. 笛卡爾積基數(shù)(Cardinal number)若Di(i1,2,n)為有限集,其基數(shù)為mi(i1,2,n),則D1D2Dn的基數(shù)M為:笛卡爾積的表示方法笛卡爾積可表示為一個(gè)二維表表中的每行對(duì)應(yīng)一個(gè)元組,表中的每列對(duì)應(yīng)一個(gè)域計(jì)算機(jī)科學(xué)與工程學(xué)院 計(jì)算機(jī)科學(xué)與工程學(xué)院表2-1 D1,D2,D3的笛卡爾積書名(D1)作者(D2)出版社(D3)基督山伯爵大仲馬譯文出版社基督山伯爵大仲馬作家出版社基督山伯爵賈德譯文出版社基督山伯爵賈德作家出版社基督山伯爵海明威譯文出版社基督山伯爵海明威作家出版社蘇菲的世界大仲馬譯文出版社蘇菲的世
52、界大仲馬作家出版社蘇菲的世界賈德譯文出版社蘇菲的世界賈德作家出版社蘇菲的世界海明威譯文出版社蘇菲的世界海明威作家出版社老人與海大仲馬譯文出版社老人與海大仲馬作家出版社老人與海賈德譯文出版社老人與海賈德作家出版社老人與海海明威譯文出版社老人與海海明威作家出版社3. 關(guān)系定義2.3 D1D2Dn的子集叫作在域D1,D2,Dn上的關(guān)系,表示為 R(D1,D2,Dn)其中: R:關(guān)系名n:關(guān)系的目或度(Degree)計(jì)算機(jī)科學(xué)與工程學(xué)院3. 關(guān)系D1,D2,Dn的笛卡爾積的某個(gè)子集才有實(shí)際含義例:表2.1 的笛卡爾積沒(méi)有實(shí)際意義 取出有實(shí)際意義的元組來(lái)構(gòu)造關(guān)系關(guān)系:BAP(書名,作者,出版社)如表2-
53、2所示才為圖書、作者及出版社之間的一個(gè)正確的關(guān)系。計(jì)算機(jī)科學(xué)與工程學(xué)院表2-2 圖書情況對(duì)照表書名(D1)作者(D2)出版社(D3)基督山伯爵大仲馬譯文出版社蘇菲的世界賈德作家出版社老人與海海明威譯文出版社計(jì)算機(jī)科學(xué)與工程學(xué)院3. 關(guān)系在關(guān)系數(shù)據(jù)模型中,有三類關(guān)系:基本關(guān)系(基本表或基表)實(shí)際存在的表,是實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示查詢表查詢結(jié)果對(duì)應(yīng)的表視圖表由基本表或其他視圖表導(dǎo)出的表,是虛表,不對(duì)應(yīng)實(shí)際存儲(chǔ)的數(shù)據(jù)計(jì)算機(jī)科學(xué)與工程學(xué)院3. 關(guān)系基本關(guān)系的性質(zhì)(1) 列的同質(zhì)性(2)異列同域性,即不同的列可出自同一個(gè)域其中的每一列稱為一個(gè)屬性不同的屬性要給予不同的屬性名(3)列的無(wú)序性,即列的順序可
54、以任意交換(4)元組不重復(fù)性,即關(guān)系中任意兩行(元組)不能相同 (5)行的無(wú)序性,即行的順序可以任意交換 計(jì)算機(jī)科學(xué)與工程學(xué)院基本關(guān)系的性質(zhì)(續(xù))(6) 分量必須取原子值這是規(guī)范條件中最基本的一條 表2.3 非范化關(guān)系書名(D1)作者(D2)出版社(D3)Press1Press2蘇菲的世界賈德作家出版社譯文出版社作家出版社老人與海海明威計(jì)算機(jī)科學(xué)與工程學(xué)院2.1 關(guān)系2.1.1 關(guān)系定義2.1.2 碼的定義2.1.3 關(guān)系數(shù)據(jù)庫(kù)2.1.4 關(guān)系操作2.1.5 關(guān)系完整性約束計(jì)算機(jī)科學(xué)與工程學(xué)院2.1.2 碼的定義(1)候選碼(Candidate key)若關(guān)系中的某一屬性或?qū)傩越M的值能唯一地標(biāo)
55、識(shí)一個(gè)元組,則稱該關(guān)系中所有滿足此要求的屬性或?qū)傩越M為候選碼。最簡(jiǎn)單的情況是,候選碼只有一個(gè)。(2)全碼(All-key)最極端的情況:關(guān)系模式的所有屬性組是這個(gè)關(guān)系模式的候選碼,稱為全碼(All-key)計(jì)算機(jī)科學(xué)與工程學(xué)院2.1.2 碼的定義(3)主碼若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼(Primary key)候選碼的諸屬性稱為主屬性(Prime attribute)不包含在任何侯選碼中的屬性稱為非主屬性( Non-Prime attribute)或非碼屬性(Non-key attribute) 計(jì)算機(jī)科學(xué)與工程學(xué)院主碼舉例假設(shè)有學(xué)生關(guān)系和借閱關(guān)系分別為:STUDENT(借書證號(hào)
56、,姓名,專業(yè),性別,出生時(shí)間,借書數(shù),照片,辦證日期)BORROW(借書證號(hào),ISBN,借書時(shí)間,應(yīng)還時(shí)間)在關(guān)系STUDENT中,“借書證號(hào)” 是一個(gè)候選碼。假設(shè)在同專業(yè)中沒(méi)有同名的學(xué)生,那么“姓名與專業(yè)”也可以作為一個(gè)候選碼。關(guān)系的候選碼可以有多個(gè),但同時(shí)只能使用一個(gè)做為主碼,不能同時(shí)使用多個(gè)候選碼。計(jì)算機(jī)科學(xué)與工程學(xué)院2.1.2 碼的定義(4)外碼若一個(gè)關(guān)系R2中的一個(gè)屬性子集S是另一個(gè)關(guān)系R1的主碼所對(duì)應(yīng)的屬性組,則稱S為R2的外碼,并稱關(guān)系R2為參照關(guān)系(Referencing Relation),關(guān)系R1為被參照(Referenced Relation)關(guān)系或目標(biāo)關(guān)系(Target
57、 Relation)。 在BORROW關(guān)系中,借書證號(hào)是它的外碼,其取值依賴于STUDENT關(guān)系中的借書證號(hào)字段。 計(jì)算機(jī)科學(xué)與工程學(xué)院2.1 關(guān)系2.1.1 關(guān)系定義2.1.2 碼的定義2.1.3 關(guān)系數(shù)據(jù)庫(kù)2.1.4 關(guān)系操作2.1.5 關(guān)系完整性約束計(jì)算機(jī)科學(xué)與工程學(xué)院2.1.3 關(guān)系數(shù)據(jù)庫(kù)關(guān)系模式(Relation Schema)是型關(guān)系是值關(guān)系模式是對(duì)關(guān)系的描述元組集合的結(jié)構(gòu)屬性構(gòu)成屬性來(lái)自的域 屬性與域之間的映象關(guān)系元組語(yǔ)義以及完整性約束條件屬性間的數(shù)據(jù)依賴關(guān)系集合計(jì)算機(jī)科學(xué)與工程學(xué)院2.1.3 關(guān)系數(shù)據(jù)庫(kù)定義2.4 關(guān)系的描述稱為關(guān)系模式,可以形式化地表示為: R(U,D,DOM
58、,F(xiàn))其中:R 關(guān)系名 U 組成該關(guān)系的屬性名集合 D 屬性組U中屬性所來(lái)自的域 DOM 屬性向域的映象集合 F 屬性間的數(shù)據(jù)依賴關(guān)系集合計(jì)算機(jī)科學(xué)與工程學(xué)院2.1.3 關(guān)系數(shù)據(jù)庫(kù)例:在STUDENT關(guān)系模式中,出生日期和辦證日期均來(lái)自于同一個(gè)域時(shí)間域,取不同的屬性名,并在模式中定義屬性向域的映象,即說(shuō)明它們分別出自哪個(gè)域,如:DOM(出生日期)=DOM(辦證日期)=TIME計(jì)算機(jī)科學(xué)與工程學(xué)院2.1.3 關(guān)系數(shù)據(jù)庫(kù)關(guān)系模式通常可以簡(jiǎn)記為 R (U) 或 R (A1,A2,An)R: 關(guān)系名A1,A2,An : 屬性名注:域名及屬性向域的映象常常直接說(shuō)明為 屬性的類型、長(zhǎng)度計(jì)算機(jī)科學(xué)與工程學(xué)院
59、關(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)稱為關(guān)系 通過(guò)上下文加以區(qū)別計(jì)算機(jī)科學(xué)與工程學(xué)院2.1.3 關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)庫(kù)在一個(gè)給定的應(yīng)用領(lǐng)域中,所有關(guān)系的集合構(gòu)成一個(gè)關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)庫(kù)的型與值計(jì)算機(jī)科學(xué)與工程學(xué)院關(guān)系數(shù)據(jù)庫(kù)的型與值關(guān)系數(shù)據(jù)庫(kù)的型: 關(guān)系數(shù)據(jù)庫(kù)模式 對(duì)關(guān)系數(shù)據(jù)庫(kù)的描述。關(guān)系數(shù)據(jù)庫(kù)模式包括若干域的定義在這些域上定義的若干關(guān)系模式關(guān)系數(shù)據(jù)庫(kù)的值: 關(guān)系模式在某一時(shí)刻對(duì)應(yīng)的關(guān)系的集合,簡(jiǎn)稱為關(guān)系數(shù)據(jù)庫(kù)計(jì)算機(jī)科學(xué)與工程學(xué)院2.1 關(guān)系2.1.1 關(guān)系定義2.1.2 碼的定義2.1.3 關(guān)系數(shù)據(jù)庫(kù)2.1
60、.4 關(guān)系操作2.1.5 關(guān)系完整性約束計(jì)算機(jī)科學(xué)與工程學(xué)院2.1.4 關(guān)系操作關(guān)系操作的特點(diǎn)集合操作方式:操作的對(duì)象和結(jié)果都是集合,一次一集合的方式 常用的關(guān)系操作查詢:檢索更新:插入、刪除、修改等計(jì)算機(jī)科學(xué)與工程學(xué)院2.1.4 關(guān)系操作(1)數(shù)據(jù)查詢(可分解為三種基本操作)一個(gè)關(guān)系內(nèi)屬性的指定(列的選擇);一個(gè)關(guān)系內(nèi)元組的指定(行的選擇);兩個(gè)或多個(gè)關(guān)系的合并。數(shù)據(jù)執(zhí)行的算法如下:i如果查詢來(lái)自一個(gè)關(guān)系R,則直接執(zhí)行ii;如果查詢來(lái)自兩個(gè)或者多個(gè)關(guān)系,則首先執(zhí)行(如果是多于兩個(gè)的關(guān)系,可能要多次執(zhí)行),直至將兩個(gè)或多個(gè)關(guān)系合并成一個(gè)關(guān)系R;ii從關(guān)系R中檢索出滿足條件的數(shù)據(jù)。計(jì)算機(jī)科學(xué)與工
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024上海市銷售代理合同范本
- 2024專賣店申請(qǐng)加盟合同書標(biāo)準(zhǔn)格式參考
- 鹽城師范學(xué)院《素描含速寫》2021-2022學(xué)年第一學(xué)期期末試卷
- 鹽城師范學(xué)院《中國(guó)共產(chǎn)黨思想政治教育史》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年重氮化合物項(xiàng)目建議書
- 2024個(gè)人土地抵押借款合同范本
- 2024投資入股協(xié)議合同范本投資協(xié)議合同范本參考2
- 北京版一年級(jí)下冊(cè)數(shù)學(xué)第五單元 認(rèn)識(shí)圖形 測(cè)試卷帶解析答案
- 抗體實(shí)驗(yàn)室項(xiàng)目環(huán)評(píng)報(bào)告表
- 人員素質(zhì)測(cè)評(píng)理論與方法練習(xí)試題及答案
- 呼吸科辯證施膳
- 內(nèi)部控制評(píng)價(jià)工作方案.doc
- ISIS路由協(xié)議
- 海洋立管課程概述.
- 工程結(jié)算單(樣本)
- 論排球跳發(fā)球技術(shù)的動(dòng)作結(jié)構(gòu)和特點(diǎn)
- 《福建省建筑安裝工程費(fèi)用定額》(2017版)正式版20176XXXX615
- 蘇教版二年級(jí)(上)數(shù)學(xué)全冊(cè)集體備課
- 《領(lǐng)導(dǎo)對(duì)下級(jí)工作表現(xiàn)的評(píng)價(jià)范文 》
- 城市綠地系統(tǒng)規(guī)劃案例分析三亞
- 水肥一體化施工組織設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論