Chap5數(shù)據(jù)庫與交通地理信息系統(tǒng)part1_第1頁
Chap5數(shù)據(jù)庫與交通地理信息系統(tǒng)part1_第2頁
Chap5數(shù)據(jù)庫與交通地理信息系統(tǒng)part1_第3頁
Chap5數(shù)據(jù)庫與交通地理信息系統(tǒng)part1_第4頁
Chap5數(shù)據(jù)庫與交通地理信息系統(tǒng)part1_第5頁
已閱讀5頁,還剩85頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫與交通地理信息系統(tǒng)1主要內(nèi)容數(shù)據(jù)庫基礎(chǔ)交通地理信息系統(tǒng)2本次課主要內(nèi)容數(shù)據(jù)庫的發(fā)展歷程數(shù)據(jù)庫的數(shù)據(jù)描述數(shù)據(jù)抽象過程概念模型、邏輯模型、數(shù)據(jù)模型數(shù)據(jù)庫的體系結(jié)構(gòu)關(guān)系數(shù)據(jù)庫組成結(jié)構(gòu)化查詢語言(理解)3引言城市交通信息服務(wù)系統(tǒng)離不開數(shù)據(jù)的采集、分析與處理,而針對數(shù)據(jù)的上述操作,必然需要數(shù)據(jù)庫技術(shù)的支持。因此,可以說數(shù)據(jù)庫技術(shù)在當(dāng)今的信息服務(wù)系統(tǒng)中占有重要的地位4城市交通服務(wù)信息平臺主要功能數(shù)據(jù)抽取大量異構(gòu)數(shù)據(jù)必須經(jīng)過數(shù)據(jù)轉(zhuǎn)換、重新組織和規(guī)范化存入數(shù)據(jù)倉庫中,形成統(tǒng)一格式的明細(xì)交通數(shù)據(jù)數(shù)據(jù)存儲數(shù)據(jù)組織數(shù)據(jù)傳輸5數(shù)據(jù)庫技術(shù)發(fā)展歷程1963年,美國Honeywell公司的IDS(IntegratedDataStore)系統(tǒng)投入運(yùn)行,揭開了數(shù)據(jù)庫技術(shù)的序幕。20世紀(jì)70年代是數(shù)據(jù)庫蓬勃發(fā)展的年代,網(wǎng)狀系統(tǒng)和層次系統(tǒng)占據(jù)了整個數(shù)據(jù)庫商用市場,而關(guān)系系統(tǒng)僅處于實(shí)驗(yàn)階段。20世紀(jì)80年代,關(guān)系系統(tǒng)由于使用簡便以及硬件性能的改善,逐步代替網(wǎng)狀系統(tǒng)和層次系統(tǒng)占領(lǐng)了市場。20世紀(jì)90年代,關(guān)系數(shù)據(jù)庫已成為數(shù)據(jù)庫技術(shù)的主流。進(jìn)入21世紀(jì)以后,無論是市場的需求還是技術(shù)條件的成熟,對象數(shù)據(jù)庫技術(shù)、Web數(shù)據(jù)庫技術(shù)的推廣和普及已成定局。

6數(shù)據(jù)庫管理技術(shù)發(fā)展概況人工管理階段文件系統(tǒng)階段數(shù)據(jù)庫階段高級數(shù)據(jù)庫階段7數(shù)據(jù)庫管理技術(shù)發(fā)展概況人工管理階段

人工管理階段(上世紀(jì)50年代中期前),計(jì)算機(jī)主要用于科學(xué)計(jì)算。外部存儲器只有磁帶、卡片和紙帶等順序存儲設(shè)備。軟件只有匯編語言。數(shù)據(jù)處理的方式基本上是批處理。人工管理階段的數(shù)據(jù)管理有下列特點(diǎn): ①數(shù)據(jù)不保存在計(jì)算機(jī)內(nèi)。 ②無專用軟件對數(shù)據(jù)進(jìn)行管理。 ③只有程序(program)概念,沒有文件(file)概念。 ④數(shù)據(jù)面向程序。即一組數(shù)據(jù)對應(yīng)一個程序。8數(shù)據(jù)庫管理技術(shù)發(fā)展概況文件系統(tǒng)階段(上世紀(jì)50年代后期至60年代中期)計(jì)算機(jī)開始用于信息管理。隨著數(shù)據(jù)量的增加,數(shù)據(jù)的存儲、檢索和維護(hù)問題成為緊迫的需要,數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)管理技術(shù)迅速發(fā)展起來。此時,外部存儲器已有磁盤、磁鼓等直接存取存儲設(shè)備。軟件領(lǐng)域出現(xiàn)了高級語言和操作系統(tǒng)。操作系統(tǒng)中的文件系統(tǒng)是專門管理外存的數(shù)據(jù)管理軟件。數(shù)據(jù)處理的方式有批處理,也有聯(lián)機(jī)實(shí)時處理。

9數(shù)據(jù)庫管理技術(shù)發(fā)展概況文件系統(tǒng)階段的數(shù)據(jù)管理有以下特點(diǎn):①數(shù)據(jù)以“文件”形式可長期保存在外部存儲器的磁盤上。②數(shù)據(jù)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)有了區(qū)別,但比較簡單。③文件組織已多樣化。有索引文件、鏈接文件和直接存取文件等。④數(shù)據(jù)不再屬于某個特定的程序,可重復(fù)使用。⑤對數(shù)據(jù)的操作以記錄為單位。文件系統(tǒng)仍顯露出三個缺陷:①數(shù)據(jù)冗余(redundancy)②數(shù)據(jù)不一致(inconsistency)③數(shù)據(jù)聯(lián)系弱(poordatarelationship)

1011數(shù)據(jù)庫管理技術(shù)發(fā)展概況數(shù)據(jù)管理技術(shù)進(jìn)入數(shù)據(jù)庫階段的標(biāo)志是20世紀(jì)60年代末的三件大事:①1968年美國IBM公司推出層次模型的IMS系統(tǒng)。②1969年美國CODASYL組織發(fā)布了DBTG報告,總結(jié)了當(dāng)時各式各樣的數(shù)據(jù)庫,提出網(wǎng)狀模型。③1970年美國IBM公司的E.F.Codd連續(xù)發(fā)表論文,提出關(guān)系模型,奠定了關(guān)系數(shù)據(jù)庫的理論基礎(chǔ)。

12數(shù)據(jù)庫管理技術(shù)發(fā)展概況數(shù)據(jù)庫階段的數(shù)據(jù)管理具有以下特點(diǎn):①采用數(shù)據(jù)模型表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。②有較高的數(shù)據(jù)獨(dú)立性。③數(shù)據(jù)庫系統(tǒng)為用戶提供了方便的用戶接口。④數(shù)據(jù)庫系統(tǒng)提供了四方面的數(shù)據(jù)控制功能:并發(fā)控制,恢復(fù),完整性和安全性。⑤增加了系統(tǒng)的靈活性。13數(shù)據(jù)庫管理技術(shù)發(fā)展概況數(shù)據(jù)庫定義:長期存儲在計(jì)算機(jī)內(nèi)、有組織的、統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。DB能為各種用戶共享,具有較小冗余度、數(shù)據(jù)間聯(lián)系緊密而又有較高的數(shù)據(jù)獨(dú)立性等特點(diǎn)

14數(shù)據(jù)庫管理技術(shù)發(fā)展概況數(shù)據(jù)庫管理系統(tǒng)定義(DBMS): 位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,它為用戶或應(yīng)用程序提供訪問數(shù)據(jù)庫的方法,包括數(shù)據(jù)庫的建立、查詢、更新及各種數(shù)據(jù)控制。DBMS總是基于某種數(shù)據(jù)模型,可以分為層次型、網(wǎng)狀型、關(guān)系型和面向?qū)ο笮偷取?/p>

15數(shù)據(jù)庫管理技術(shù)發(fā)展概況數(shù)據(jù)庫系統(tǒng)(DatabaseSystem,DBS):是實(shí)現(xiàn)有組織地、動態(tài)地存儲大量關(guān)聯(lián)數(shù)據(jù)、方便多用戶訪問的計(jì)算機(jī)硬件、軟件和數(shù)據(jù)資源組成的系統(tǒng),即采用數(shù)據(jù)庫技術(shù)的計(jì)算機(jī)系統(tǒng)。數(shù)據(jù)庫技術(shù)(DBT):數(shù)據(jù)庫技術(shù)是研究數(shù)據(jù)庫的結(jié)構(gòu)、存儲、設(shè)計(jì)、管理和使用的一門軟件學(xué)科。16數(shù)據(jù)庫管理技術(shù)發(fā)展概況高級數(shù)據(jù)庫階段20世紀(jì)80年代分布式數(shù)據(jù)庫系統(tǒng)(DDBS)20世紀(jì)90年代對象數(shù)據(jù)庫系統(tǒng)(ODBS)開放數(shù)據(jù)庫互聯(lián)技術(shù)(ODBC)21世紀(jì)初

Web數(shù)據(jù)庫系統(tǒng)XML數(shù)據(jù)庫技術(shù)現(xiàn)代信息集成(DW、OLAP、DM)17數(shù)據(jù)描述在數(shù)據(jù)處理中,數(shù)據(jù)描述將涉及到不同的范疇。從事物的特性到計(jì)算機(jī)中的具體表示,實(shí)際上經(jīng)歷了三個階段概念設(shè)計(jì)中的數(shù)據(jù)描述邏輯設(shè)計(jì)中的數(shù)據(jù)描述物理設(shè)計(jì)中的數(shù)據(jù)描述18數(shù)據(jù)描述現(xiàn)實(shí)世界信息世界(概念模型)認(rèn)識抽象計(jì)算機(jī)世界(數(shù)據(jù)模型)19數(shù)據(jù)描述概念設(shè)計(jì)中的數(shù)據(jù)描述實(shí)體(entity):客觀存在,可相互區(qū)別的事物。實(shí)體集(entityset):性質(zhì)相同的同類實(shí)體的集合。屬性(attribute):實(shí)體有很多特性,每一個特性稱為屬性。每一個屬性有一個值域,其類型可以是整數(shù)型、實(shí)數(shù)型、字符串型等。實(shí)體標(biāo)識符(identifier):能惟一標(biāo)識實(shí)體的屬性或?qū)傩约?。稱為關(guān)鍵碼(key),或簡稱為鍵。20數(shù)據(jù)描述實(shí)體學(xué)生學(xué)號姓名性別年齡21數(shù)據(jù)描述邏輯設(shè)計(jì)中的數(shù)據(jù)描述字段(field):標(biāo)記實(shí)體屬性的命名單位,或數(shù)據(jù)項(xiàng)。是可命名的最小信息單位,又稱為數(shù)據(jù)元素或初等項(xiàng)。記錄(record):字段的有序集合。文件(file):同一類記錄的集合稱為文件。關(guān)鍵碼(key):能惟一標(biāo)識文件中每個記錄的字段或字段集,稱為記錄的關(guān)鍵碼(簡稱為鍵)。22數(shù)據(jù)描述術(shù)語的對應(yīng)關(guān)系概念設(shè)計(jì)邏輯設(shè)計(jì)

實(shí)體………記錄

屬性………字段(數(shù)據(jù)項(xiàng))

實(shí)體集………文件

實(shí)體標(biāo)識………關(guān)鍵碼23數(shù)據(jù)描述物理設(shè)計(jì)中的數(shù)據(jù)描述位(Bit,比特):一個二進(jìn)制位稱為“位”。字節(jié)(Byte):8比特為一個字節(jié),可存放一個字符所對應(yīng)的ASCII碼。字(Word):若干個字節(jié)組成一個字。一個字所含的二進(jìn)制位的位數(shù)稱為字長。塊(Block):又稱為物理塊或物理記錄。塊是內(nèi)存和外存交換信息的最小單位,每塊的大小,通常為210~214字節(jié)。桶(Bucket):外存的邏輯單位,一個桶可包含一個物理塊或多個在空間上不一定連續(xù)的物理塊。卷(Volume):一個輸入輸出設(shè)備所能裝載的全部有用信息,稱為“卷”。

24數(shù)據(jù)描述數(shù)據(jù)聯(lián)系的描述聯(lián)系(relationship)。現(xiàn)實(shí)世界中事物內(nèi)部以及事物之間是有聯(lián)系的,在概念模型中反映為實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的聯(lián)系。實(shí)體內(nèi)部的聯(lián)系通常是指組成實(shí)體的各屬性之間的聯(lián)系,而實(shí)體之間的聯(lián)系通常是指不同實(shí)體集之間的聯(lián)系。

二元聯(lián)系有以下三種類型:①一對一聯(lián)系:如果實(shí)體集E1中每個實(shí)體至多和實(shí)體集E2中的一個實(shí)體有聯(lián)系,反之亦然,記為“1:1”。②一對多聯(lián)系:如果實(shí)體集E1中每個實(shí)體可以與實(shí)體集E2中任意個(零個或多個)實(shí)體間有聯(lián)系,而E2中每個實(shí)體至多和E1中一個實(shí)體有聯(lián)系,記為“1:N”。③多對多聯(lián)系:如果實(shí)體集E1中每個實(shí)體可以與實(shí)體集E2中任意個(零個或多個)實(shí)體有聯(lián)系,反之亦然,記為“M:N”。25數(shù)據(jù)描述請指出下列聯(lián)系的類型一個學(xué)校只有一個校長,一個校長只能管理一個學(xué)校。

學(xué)校的一個系有多個專業(yè),而一個專業(yè)只屬于一個系。

一個學(xué)生可以選修多門課程,一門課程可以被多名學(xué)生選修。

26數(shù)據(jù)描述27數(shù)據(jù)抽象的過程

模型(model):對現(xiàn)實(shí)世界的抽象。數(shù)據(jù)模型:描述數(shù)據(jù)庫的結(jié)構(gòu)和語義,對現(xiàn)實(shí)世界的數(shù)據(jù)進(jìn)行抽象。從現(xiàn)實(shí)世界的信息到數(shù)據(jù)庫存儲的數(shù)據(jù)以及用戶使用的數(shù)據(jù)是一個逐步抽象過程。根據(jù)數(shù)據(jù)抽象的級別定義了四種模型:概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型、外部數(shù)據(jù)模型和內(nèi)部數(shù)據(jù)模型。一般,在提及時省略“數(shù)據(jù)”兩字。28數(shù)據(jù)抽象的過程表達(dá)用戶需求觀點(diǎn)的數(shù)據(jù)全局邏輯結(jié)構(gòu)的模型,稱為“概念模型”。表達(dá)計(jì)算機(jī)實(shí)現(xiàn)觀點(diǎn)的DB全局邏輯結(jié)構(gòu)的模型,稱為“邏輯模型”。表達(dá)用戶使用觀點(diǎn)的DB局部邏輯結(jié)構(gòu)的模型,稱為“外部模型”。表達(dá)DB物理結(jié)構(gòu)的模型,稱為“內(nèi)部模型”。2930數(shù)據(jù)抽象的過程數(shù)據(jù)抽象的過程,具體步驟如下:第1步:根據(jù)用戶需求,設(shè)計(jì)數(shù)據(jù)庫的概念模型,這是一個“綜合”的過程。第2步:根據(jù)轉(zhuǎn)換規(guī)則,把概念模型轉(zhuǎn)換成數(shù)據(jù)庫的邏輯模型,這是一個“轉(zhuǎn)換”的過程。第3步:根據(jù)用戶的業(yè)務(wù)特點(diǎn),設(shè)計(jì)不同的外部模型,給程序員使用。第4步:數(shù)據(jù)庫實(shí)現(xiàn)時,要根據(jù)邏輯模型設(shè)計(jì)其內(nèi)部模型。一般,上述第1步稱為DB的概念設(shè)計(jì),第2、3步稱為DB的邏輯設(shè)計(jì),第4步稱為DB的物理設(shè)計(jì)。31概念模型

概念模型的特點(diǎn)如下所述:(1)概念模型表達(dá)了數(shù)據(jù)的整體邏輯結(jié)構(gòu),它是系統(tǒng)用戶對整個應(yīng)用項(xiàng)目涉及的數(shù)據(jù)的全面描述。(2)概念模型是從用戶需求的觀點(diǎn)出發(fā),對數(shù)據(jù)建模。(3)概念模型獨(dú)立于硬件和軟件。硬件獨(dú)立意味著概念模型不依賴于硬件設(shè)備,軟件獨(dú)立意味著該模型不依賴于實(shí)現(xiàn)時的DBMS軟件。(4)概念模型是數(shù)據(jù)庫設(shè)計(jì)人員與用戶之間進(jìn)行交流的工具。32概念模型

ER模型是P.P.Chen于1976年提出的。ER模型直接從現(xiàn)實(shí)世界中抽象出實(shí)體類型及實(shí)體間聯(lián)系,然后用實(shí)體聯(lián)系圖(ER圖)表示數(shù)據(jù)模型。設(shè)計(jì)ER圖的方法稱為ER方法。ER圖是直接表示概念模型的有力工具。

33概念模型34概念模型35概念模型ER模型兩個明顯的優(yōu)點(diǎn):一是簡單,容易理解,真實(shí)地反映用戶的需求;二是與計(jì)算機(jī)無關(guān),用戶容易接受。ER模型已成為軟件工程的一個重要設(shè)計(jì)方法。但是ER模型只能說明實(shí)體間語義的聯(lián)系,還不能進(jìn)一步說明詳細(xì)的數(shù)據(jù)結(jié)構(gòu)。在數(shù)據(jù)庫設(shè)計(jì)時,遇到實(shí)際問題總是先設(shè)計(jì)一個ER模型,然后再把ER模型轉(zhuǎn)換成計(jì)算機(jī)能實(shí)現(xiàn)的數(shù)據(jù)模型,譬如關(guān)系模型。36邏輯模型在選定DBMS軟件后,需要將概念模型按照選定的DBMS的特點(diǎn)轉(zhuǎn)換成邏輯模型。邏輯模型具有下列特點(diǎn):(1)邏輯模型表達(dá)了DB的整體邏輯結(jié)構(gòu),是設(shè)計(jì)人員對整個應(yīng)用項(xiàng)目數(shù)據(jù)庫的全面描述。(2)邏輯模型是從數(shù)據(jù)庫實(shí)現(xiàn)的觀點(diǎn)出發(fā),對數(shù)據(jù)建模。(3)邏輯模型獨(dú)立于硬件,依賴于軟件(DBMS)。(4)邏輯模型是數(shù)據(jù)庫設(shè)計(jì)人員與應(yīng)用程序員之間交流的工具。37數(shù)據(jù)模型在數(shù)據(jù)庫中,數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分組成,是數(shù)據(jù)模型的三要素。這三者精確地描述了數(shù)據(jù)庫系統(tǒng)的靜態(tài)特性、動態(tài)特性和完整性約束條件。38數(shù)據(jù)模型常用的數(shù)據(jù)結(jié)構(gòu)有:

層次

網(wǎng)狀

關(guān)系

對象通常按數(shù)據(jù)結(jié)構(gòu)的類型來命名數(shù)據(jù)模型:

層次結(jié)構(gòu)命名為層次模型

網(wǎng)狀結(jié)構(gòu)命名為網(wǎng)狀模型網(wǎng)狀模型和層次模型稱為非關(guān)系模型。

3940數(shù)據(jù)模型用樹型(層次)結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱層次模型(HierarchicalModel)。樹的結(jié)點(diǎn)是記錄類型,每個非根結(jié)點(diǎn)有且只有一個父結(jié)點(diǎn),上一層記錄類型和下一層記錄類型之間的聯(lián)系是1:N聯(lián)系。層次模型數(shù)據(jù)庫的最大優(yōu)勢在于處理層次型數(shù)據(jù)效率比較高,但是,對于非層次式數(shù)據(jù)效率較低。此外,這種數(shù)據(jù)庫也較復(fù)雜。41數(shù)據(jù)模型42數(shù)據(jù)模型用有向圖結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為網(wǎng)狀模型(NetworkModel)。有向圖中的結(jié)點(diǎn)是記錄類型,箭頭表示從箭尾的記錄類型到箭頭的記錄類型間聯(lián)系是N:1聯(lián)系。網(wǎng)狀模型查找算法較層次模型要復(fù)雜一些,它是按結(jié)點(diǎn)內(nèi)保存的導(dǎo)航信息來實(shí)現(xiàn)的?,F(xiàn)在幾乎沒有人使用網(wǎng)狀數(shù)據(jù)庫了,但這種數(shù)據(jù)庫在數(shù)據(jù)庫技術(shù)的發(fā)展史上有著極為重要的地位。43數(shù)據(jù)模型關(guān)系模型在關(guān)系數(shù)據(jù)庫中,數(shù)據(jù)模型由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分組成。關(guān)系模型(RelationalModel)的主要特征是采用二維表格的形式來描述實(shí)體集,使得實(shí)體的描述和實(shí)體間聯(lián)系的描述成為單一的結(jié)構(gòu)類型→關(guān)系表示。對關(guān)系數(shù)據(jù)庫的描述稱為關(guān)系數(shù)據(jù)庫模式,關(guān)系數(shù)據(jù)庫模式是若干個關(guān)系模式的集合。關(guān)系模式相當(dāng)于前面提到的記錄類型,它的實(shí)例稱為關(guān)系,每個關(guān)系實(shí)際上是一張二維表格。44數(shù)據(jù)模型與前兩種模型相比,數(shù)據(jù)結(jié)構(gòu)簡單。關(guān)系模型和層次、網(wǎng)狀模型的最大差別是用碼而不是用指針導(dǎo)航數(shù)據(jù),其表格簡單,用戶只需用簡單的查詢語句就可以對數(shù)據(jù)庫進(jìn)行操作,并不涉及存儲結(jié)構(gòu)、訪問技術(shù)等細(xì)節(jié)。45

數(shù)據(jù)庫理論5.1.1數(shù)據(jù)模型解放路食品店解放路262號李國基桃園商場桃園路5號張山香香瓜果店北大街21號王宏白塔干鮮果店西大街56號宋亮北大街食品店北大街162號林青青友誼雜品店西大街511號李光明光華商店東大街35號何重慶路寶商店東大街001號秦淮江

店名地址經(jīng)辦人電話各實(shí)體關(guān)于屬性經(jīng)辦人的值文件結(jié)構(gòu)(實(shí)體屬性集)記錄(白塔干鮮果店

)文件SHOP(實(shí)體商店的集合)數(shù)據(jù)項(xiàng)(單個屬性的值)46數(shù)據(jù)庫的體系結(jié)構(gòu)1.三級模式結(jié)構(gòu)數(shù)據(jù)庫的體系結(jié)構(gòu)分為三級:外部級、概念級和內(nèi)部級。亦稱為三級模式結(jié)構(gòu)或數(shù)據(jù)抽象的三個級別。數(shù)據(jù)視圖(DataView)

:從某個角度看到的數(shù)據(jù)特性。47圖5.1三級模式結(jié)構(gòu)。外部級用戶局部邏輯結(jié)構(gòu)概念級內(nèi)部級(單個用戶視圖)(全局視圖)(存儲視圖)數(shù)據(jù)庫的整體數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫的物理結(jié)構(gòu)外部級最接近用戶,是單個用戶所能看到的數(shù)據(jù)特性,單個用戶使用的數(shù)據(jù)視圖的描述稱為外模式。概念級涉及到所有用戶的數(shù)據(jù)定義,也就是全局性的數(shù)據(jù)視圖,全局?jǐn)?shù)據(jù)視圖的描述稱概念模式內(nèi)部級最接近于物理存儲設(shè)備,涉及到物理數(shù)據(jù)存儲的結(jié)構(gòu),物理存儲數(shù)據(jù)視圖的描述稱為內(nèi)模式48圖5.2數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)(三級模式)主語言+DML主語言+DML主語言+DML主語言+DML主語言+DML用戶A1

用戶A2

用戶B1

用戶B2

用戶B3外模式A外模式B外模式/模式映象A外模式/模式映象B概念模式模式/內(nèi)模式映象內(nèi)模式數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫OS由數(shù)據(jù)庫管理員建立和維護(hù)49數(shù)據(jù)庫的體系結(jié)構(gòu)三級結(jié)構(gòu)和兩級映象

(1)概念模式概念模式是數(shù)據(jù)庫中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述。它由若干個概念記錄類型組成,還包含記錄間聯(lián)系、數(shù)據(jù)的完整性安全性等要求。數(shù)據(jù)按外模式的描述提供給用戶,按內(nèi)模式的描述存儲在磁盤中,而概念模式提供了連接這兩級的相對穩(wěn)定的中間點(diǎn),并使得兩級中任何一級的改變都不受另一級的牽制。概念模式不涉及存儲結(jié)構(gòu)、訪問技術(shù)等細(xì)節(jié),因此,概念模式具有物理數(shù)據(jù)獨(dú)立性的特點(diǎn)。概念模式簡稱為模式。50數(shù)據(jù)庫的體系結(jié)構(gòu)(2)外模式外模式是用戶與數(shù)據(jù)庫系統(tǒng)的接口,是用戶用到的那部分?jǐn)?shù)據(jù)的描述。外模式由若干個外部記錄類型組成。用戶使用數(shù)據(jù)操縱語言(DML)語句對數(shù)據(jù)庫進(jìn)行操作,實(shí)際上是對外模式的外部記錄進(jìn)行操作。(3)內(nèi)模式內(nèi)模式是數(shù)據(jù)庫在物理存儲方面的描述,定義所有內(nèi)部記錄類型、索引和文件的組織方式,以及數(shù)據(jù)控制方面的細(xì)節(jié)。51數(shù)據(jù)庫的體系結(jié)構(gòu)(4)模式/內(nèi)模式映象模式/內(nèi)模式映象存在于概念級和內(nèi)部級之間,用于定義概念模式和內(nèi)模式之間的對應(yīng)性。由于這兩級的數(shù)據(jù)結(jié)構(gòu)可能不一致,即記錄類型、字段類型的命名和組成可能不—樣,因此需要這個映象說明概念記錄和內(nèi)部記錄之間的對應(yīng)性。模式/內(nèi)模式映象一般是放在內(nèi)模式中描述的。52數(shù)據(jù)庫的體系結(jié)構(gòu)5)外模式/模式映象外模式/模式映象存在于外部級和概念級之間,用于定義外模式和概念模式之間的對應(yīng)性。外模式/模式映象一般是放在外模式中描述的。53數(shù)據(jù)庫的體系結(jié)構(gòu)兩級數(shù)據(jù)獨(dú)立性數(shù)據(jù)獨(dú)立性是指應(yīng)用程序和數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)之間相互獨(dú)立,不受影響。由于數(shù)據(jù)庫系統(tǒng)采用三級模式結(jié)構(gòu),因此系統(tǒng)具有數(shù)據(jù)獨(dú)立性的特點(diǎn)。54數(shù)據(jù)庫的體系結(jié)構(gòu)(1)物理數(shù)據(jù)獨(dú)立性對內(nèi)模式的修改盡量不影響概念模式,稱數(shù)據(jù)庫達(dá)到物理數(shù)據(jù)獨(dú)立性(簡稱物理獨(dú)立性)。如果要修改數(shù)據(jù)庫的內(nèi)模式,即數(shù)據(jù)庫的物理結(jié)構(gòu)有所變化,只需要對模式/內(nèi)模式映象做相應(yīng)的修改。(2)邏輯數(shù)據(jù)獨(dú)立性對概念模式的修改盡量不影響外模式和應(yīng)用程序,稱數(shù)據(jù)庫達(dá)到邏輯數(shù)據(jù)獨(dú)立性(簡稱邏輯獨(dú)立性)。如果要修改數(shù)據(jù)庫的概念模式,比如增加記錄數(shù)據(jù)類型,只需要對外模式/模式映象做相應(yīng)的修改。55數(shù)據(jù)庫的體系結(jié)構(gòu)數(shù)據(jù)庫的三級模式結(jié)構(gòu)的不足:三級模式結(jié)構(gòu)使數(shù)據(jù)庫系統(tǒng)達(dá)到了高度的數(shù)據(jù)獨(dú)立性。但是它給系統(tǒng)增加了額外的開銷。(1)要在系統(tǒng)中保存三級結(jié)構(gòu)、兩級映象的內(nèi)容,并進(jìn)行管理;(2)用戶與數(shù)據(jù)庫之間數(shù)據(jù)傳輸要在三級結(jié)構(gòu)中來回轉(zhuǎn)換,增加了時間開銷。5657關(guān)系模型關(guān)系模型概述關(guān)系模型運(yùn)用數(shù)學(xué)方法研究數(shù)據(jù)庫的結(jié)構(gòu)和定義對數(shù)據(jù)的操作;基于關(guān)系模型的關(guān)系數(shù)據(jù)庫具有模型簡單、數(shù)據(jù)獨(dú)立性高、有較為堅(jiān)實(shí)的理論基礎(chǔ)等特點(diǎn)。關(guān)系是有應(yīng)用語義的二維表,表中的每一行是描述事物或事物的一部分的狀態(tài)的數(shù)據(jù),表中的每一列描述事物的某個特征。58職工表職工號姓名部門性別年齡身份證號碼

2113程曉清銷售部男3261052116劉英財務(wù)部女346106

2135李小剛管理部男3061072138蔣民采購部男4361062141王國洋銷售部男416107關(guān)系(表)可以看成是由行和列交叉組成的二維表格,它表示的是一個實(shí)體集合一行稱為一個元組,用來表示實(shí)體集中的一個實(shí)體列稱為屬性,給每一列起一個名稱即屬性名,表中的屬性名不能相同列的取值范圍稱為域,同列具有相同的域,不同的列可有相同的域。例如,性別的取值范圍是{男,女},職工編號和年齡的取值范圍為整數(shù)域。59關(guān)系模型關(guān)系是二維表格,嚴(yán)格地說是一種規(guī)范化了的二維表格,具有如下性質(zhì):(1)屬性值是原子的,不可分解。(2)沒有重復(fù)元組。(3)沒有行序。(4)理論上沒有列序,為方便,使用時有列序。60關(guān)系模型關(guān)鍵碼和表之間的聯(lián)系在關(guān)系數(shù)據(jù)庫中,關(guān)鍵碼(簡稱鍵)是關(guān)系模型的一個重要概念。通常鍵由一個或幾個屬性組成,有如下幾種鍵:(1)超鍵在一個關(guān)系中,能惟一標(biāo)識元組的屬性或?qū)傩约Q為關(guān)系的超鍵。(2)候選鍵如果一個屬性集能惟一標(biāo)識元組,且又不含有多余的屬性,那么這個屬性集稱為關(guān)系的候選鍵。61關(guān)系模型(3)主鍵(也稱主碼、主關(guān)鍵字)若一個關(guān)系中有多個候選鍵,則選其中的一個為關(guān)系的主鍵。用主鍵實(shí)現(xiàn)關(guān)系定義中“表中任意兩行(元組)不能相同”的約束。包含在任何一個候選鍵中的屬性稱為主屬性(PrimaryAttribute);不包含在任何候選鍵中的屬性稱為非主屬性(NonprimaryAttribute)或非鍵屬性(Non-keyAttribute)。62職工表職工號姓名部門性別年齡身份證號碼

2113程曉清銷售部男3261052116劉英財務(wù)部女346106

2135李小剛管理部男3061072138蔣民采購部男4361062141王國洋銷售部男416107職工號+部門屬于超鍵職工號屬于侯選鍵63

“課程”關(guān)系課程號課程名授課學(xué)時授課學(xué)期J001數(shù)據(jù)庫 72 6J003 C程序設(shè)計(jì)54 2Z004 操作系統(tǒng) 725Z006 編譯原理72 6X001 數(shù)值分析 54 3課程關(guān)系表的結(jié)構(gòu)為:課程(課程號、課程名、授課學(xué)時、授課學(xué)期)稱之為關(guān)系模式。課程關(guān)系表中有5個元組(5行)四個屬性(4列)候選碼是“課程號”和“課程名”主碼是“課程號”或“課程名”。64

“選課”關(guān)系學(xué)號課程學(xué)分100 人工智能 3125文化學(xué) 2150 市場營銷學(xué)2175 人工智能 3190 文化學(xué) 2假定每個學(xué)生一次只能選修一門課程,則學(xué)號可作為主碼。65主關(guān)鍵字為兩個屬性的關(guān)系

數(shù)據(jù)庫理論假定每個學(xué)生可修多門課程,學(xué)號不能惟一標(biāo)識一行,這時主碼需要是多個屬性的組合,如(學(xué)號,課程)。

學(xué)號課程學(xué)分100人工智能 3100市場營銷學(xué)2100文化學(xué)2125市場營銷學(xué)2125法律4150人工智能366(4)外鍵若一個關(guān)系R中包含有另一個關(guān)系S的主鍵所對應(yīng)的屬性組F,則稱F為R的外鍵。例如,職工關(guān)系和部門關(guān)系分別為:

職工(職工編號,姓名,部門編號,性別,年齡,身份證號碼)部門(部門編號,部門名稱,部門經(jīng)理)

職工編號為主鍵

部門編號為主鍵部門編號為外鍵

表與表之間的聯(lián)系是通過公共屬性實(shí)現(xiàn)的。公共屬性是一個表的主鍵和另一個表的外鍵67

關(guān)系模型允許定義三種完整性約束,即是實(shí)體完整性約束、參照完整性和用戶定義完整性約束。

實(shí)體完整性關(guān)系完整性完整性約束參照完整性用戶定義完整性(應(yīng)用領(lǐng)域需求)關(guān)系的完整性約束68由于每個關(guān)系的主鍵是惟一決定元組的,故實(shí)體完整性約束要求關(guān)系的主鍵不能為空值,組成主鍵的所有屬性都不能取空值。

關(guān)系的完整性約束69例如,有如下“學(xué)生”關(guān)系:學(xué)生(學(xué)號,姓名,性別,出生日期)其中學(xué)號是主鍵,因此,學(xué)號不能為空值。例如,有如下“修課成績”關(guān)系:修課成績(學(xué)年度,學(xué)期,學(xué)號,課程代碼,課程類別,成績性質(zhì),成績)其中學(xué)年度、學(xué)期、學(xué)號和課程代碼四個屬性共同構(gòu)成主鍵,因此,學(xué)年度、學(xué)期、學(xué)號和課程代碼都不能為空值。關(guān)系的完整性約束70參照完整性約束是關(guān)系之間相關(guān)聯(lián)的基本約束,它不允許關(guān)系引用不存在的元組,即在關(guān)系中的外鍵取值只能是關(guān)聯(lián)關(guān)系中的某個主鍵值或者為空值。關(guān)系的完整性約束71例如:學(xué)系代碼是“學(xué)系”關(guān)系的主鍵、“專業(yè)”關(guān)系的外鍵?!皩I(yè)”關(guān)系中的學(xué)系代碼必須是“學(xué)系”關(guān)系中一個存在的值或者為空值。72用戶定義的完整性約束是針對具體數(shù)據(jù)環(huán)境與應(yīng)用環(huán)境由用戶具體設(shè)置的約束,它反映了具體應(yīng)用中數(shù)據(jù)的語義要求,它的作用就是要保證數(shù)據(jù)庫中數(shù)據(jù)的正確性。例如,限定某屬性的取值范圍,學(xué)生成績的取值必須在[0,100]范圍。關(guān)系的完整性約束73數(shù)據(jù)庫系統(tǒng)的組成

數(shù)據(jù)庫系統(tǒng)通常是指數(shù)據(jù)庫和相應(yīng)的軟硬件系統(tǒng)。主要由數(shù)據(jù)庫、用戶、軟件和硬件四部分組成。1數(shù)據(jù)庫數(shù)據(jù)庫包括兩部分:物理數(shù)據(jù)庫和數(shù)據(jù)庫描述(數(shù)據(jù)字典)它可以供用戶共享,具有盡可能小的冗余度和較高的數(shù)據(jù)獨(dú)立性742軟件(Software)負(fù)責(zé)數(shù)據(jù)庫存取、維護(hù)和管理的軟件系統(tǒng),即數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,簡稱DBMS)數(shù)據(jù)庫應(yīng)用開發(fā)工具支持DBMS運(yùn)行的操作系統(tǒng)3硬件(Hardware)存儲和運(yùn)行數(shù)據(jù)庫系統(tǒng)的硬件設(shè)備。包括CPU、內(nèi)存、大容量的存儲設(shè)備、外部設(shè)備等。數(shù)據(jù)庫系統(tǒng)的組成754用戶用戶是指使用數(shù)據(jù)庫的人,即對數(shù)據(jù)庫的存儲、維護(hù)和檢索等操作。用戶分為三類:1.第一類用戶,終端用戶(EndUser)主要是使用數(shù)據(jù)庫的各級管理人員、工程技術(shù)人員、科研人員,一般為非計(jì)算機(jī)專業(yè)人員;2.第二類用戶,應(yīng)用程序員(ApplicationProgrammer)負(fù)責(zé)為終端用戶設(shè)計(jì)和編制應(yīng)用程序,以便終端用戶對數(shù)據(jù)庫進(jìn)行存取操作。3.第三類用戶,數(shù)據(jù)庫管理員(DadabaseAdministrator,簡稱DBA)DBA是指全面負(fù)責(zé)數(shù)據(jù)庫系統(tǒng)的“管理、維護(hù)和正常使用的”人員數(shù)據(jù)庫系統(tǒng)的組成76編譯系統(tǒng)OS硬件應(yīng)用系統(tǒng)應(yīng)用開發(fā)工具DBMS數(shù)據(jù)庫系統(tǒng)層次結(jié)構(gòu)圖如圖由上圖看出:

DBMS在操作系統(tǒng)(OS)的支持下工作,應(yīng)用程序在DBMS支持下才能使用數(shù)據(jù)庫。數(shù)據(jù)庫系統(tǒng)的組成77主流數(shù)據(jù)庫簡介當(dāng)前數(shù)據(jù)庫市場,主流的數(shù)據(jù)庫包括:Oracle、SyBase、DB2、SQLServer、MySQL等。Oracle:開發(fā)商為美國的甲骨文公司(Oracle)。Sybase:開發(fā)商為Sybase公司。DB2:開發(fā)商為IBM。SQLServer:開發(fā)商為微軟。MySQL:由原MySQL公司開發(fā)。7

溫馨提示

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

最新文檔

評論

0/150

提交評論