官术网_书友最值得收藏!

CHAPTER 1
第1章
分布式數(shù)據(jù)庫系統(tǒng)概論

1.1 引言及準備知識

分布式數(shù)據(jù)庫系統(tǒng)(Distributed DataBase System,DDBS)是隨著計算技術(shù)的發(fā)展和應(yīng)用需求的推動而提出的新型軟件系統(tǒng)。簡單地說,分布式數(shù)據(jù)庫系統(tǒng)是地理上分散而邏輯上集中的數(shù)據(jù)庫系統(tǒng),即通過計算機網(wǎng)絡(luò)將地理上分散的各局域節(jié)點連接起來共同組成一個邏輯上統(tǒng)一的數(shù)據(jù)庫系統(tǒng)。因此,分布式數(shù)據(jù)庫系統(tǒng)是數(shù)據(jù)庫技術(shù)和計算機網(wǎng)絡(luò)技術(shù)相結(jié)合的產(chǎn)物。

分布式數(shù)據(jù)庫系統(tǒng)與集中式數(shù)據(jù)庫系統(tǒng)一樣,包含兩個重要部分:分布式數(shù)據(jù)庫和分布式數(shù)據(jù)庫管理系統(tǒng)。在介紹分布式數(shù)據(jù)庫系統(tǒng)之前,先重溫一下有關(guān)數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)的基本概念。

1.1.1 基本概念

1.數(shù)據(jù)庫

數(shù)據(jù)庫(DataBase,DB)的定義有很多。從用戶使用數(shù)據(jù)庫的角度出發(fā),數(shù)據(jù)庫可定義為長期存儲在計算機內(nèi)、有組織、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述、存儲,具有較小的冗余度、較高的數(shù)據(jù)獨立性并易于擴展,同時可為各種用戶共享。數(shù)據(jù)庫設(shè)計就是對一個給定的應(yīng)用環(huán)境(現(xiàn)實世界)設(shè)計出最優(yōu)的數(shù)據(jù)模型,然后,按模型建立數(shù)據(jù)庫,如圖1.1所示。典型的數(shù)據(jù)模型是E-R概念模型和關(guān)系數(shù)據(jù)模型。

圖1.1 數(shù)據(jù)庫模型

2.數(shù)據(jù)庫管理系統(tǒng)

數(shù)據(jù)庫管理系統(tǒng)(DataBase Management System,DBMS)是人們用于管理和操作數(shù)據(jù)庫的軟件,介于應(yīng)用程序和操作系統(tǒng)之間。實際的數(shù)據(jù)庫很復(fù)雜,對數(shù)據(jù)庫的操作也相當(dāng)煩瑣,因此,需要有數(shù)據(jù)庫管理系統(tǒng)有效地管理和操作數(shù)據(jù)庫,使用戶不必涉及數(shù)據(jù)的具體結(jié)構(gòu)描述及實際存儲就能方便、最優(yōu)地操作數(shù)據(jù)庫。DBMS不僅具有最基本的數(shù)據(jù)管理功能,還提供多用戶的并發(fā)控制、事務(wù)管理和訪問控制,以保證數(shù)據(jù)的完整性和安全性,并在數(shù)據(jù)庫出現(xiàn)故障時對系統(tǒng)進行恢復(fù)。數(shù)據(jù)庫管理系統(tǒng)可描述為由用戶接口、查詢處理、查詢優(yōu)化、存儲管理四個基本模塊和事務(wù)管理、并發(fā)控制、恢復(fù)管理三個輔助模塊組成,其模型如圖1.2所示。

圖1.2 數(shù)據(jù)庫管理系統(tǒng)模型

3.數(shù)據(jù)庫系統(tǒng)

數(shù)據(jù)庫系統(tǒng)(DataBase System,DBS)是指與數(shù)據(jù)庫相關(guān)的整個系統(tǒng)。廣義上講,數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用開發(fā)工具(運行環(huán)境)、應(yīng)用系統(tǒng)和數(shù)據(jù)庫管理員等構(gòu)成,如圖1.3所示。狹義的數(shù)據(jù)庫系統(tǒng)只包括數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)。

圖1.3 廣義的數(shù)據(jù)庫系統(tǒng)組成

4.模式

從現(xiàn)實世界的信息抽象到數(shù)據(jù)庫存儲的數(shù)據(jù)是一個逐步抽象的過程。美國國家標準協(xié)會的標準計劃與需求委員會(American National Standards Institute, Standards Planning And Requirements Committee, ANSI-SPARC)根據(jù)數(shù)據(jù)的抽象級別為數(shù)據(jù)庫定義了三層模式參考模型,如圖1.4所示。

圖1.4 ANSI-SPARC三層模式參考模型

外模式是數(shù)據(jù)庫用戶和數(shù)據(jù)庫系統(tǒng)的接口,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖(View),是數(shù)據(jù)庫用戶可以看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是同應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。一個數(shù)據(jù)庫系統(tǒng)通常有多個外模式。外模式是保證數(shù)據(jù)庫安全的重要措施,因為每個用戶只能看見和訪問特定的外模式中的數(shù)據(jù)。通常,由DBMS中的視圖定義(Create View)命令定義數(shù)據(jù)庫的外模式。

例如,某外模式定義如下:

模式是關(guān)于數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。模式是數(shù)據(jù)庫中數(shù)據(jù)在邏輯級上的視圖。一個數(shù)據(jù)庫只有一個模式。模式以某種數(shù)據(jù)模型為基礎(chǔ),綜合考慮了所有用戶的需求,并將這些需求有機地結(jié)合成一個邏輯整體。定義模式時不僅要定義數(shù)據(jù)的邏輯結(jié)構(gòu),如組成關(guān)系模式的屬性名、屬性的類型、取值范圍,還要定義屬性間的關(guān)聯(lián)關(guān)系、完整性約束等。模式由DBMS中提供的模式描述語言定義。

例如,某模式定義如下:

內(nèi)模式是關(guān)于數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。一個數(shù)據(jù)庫只有一個內(nèi)模式,如關(guān)系表的存儲方式是按照堆存儲還是按照屬性值聚簇存儲、索引是采用B+樹索引還是采用哈希索引等。內(nèi)模式由DBMS中提供的內(nèi)模式描述語言定義。

例如,某內(nèi)模式定義如下:

1.1.2 基礎(chǔ)知識

在后面章節(jié)的學(xué)習(xí)中,將涉及關(guān)系模型、關(guān)系代數(shù)和SQL語言知識。下面給出簡單介紹。

1.關(guān)系模型

關(guān)系模型是數(shù)據(jù)庫的三種經(jīng)典數(shù)據(jù)模型(層次數(shù)據(jù)模型、網(wǎng)狀數(shù)據(jù)模型和關(guān)系數(shù)據(jù)模型)之一。關(guān)系是二維表,也稱為表。表中的一行稱為關(guān)系的一個元組,表中的一列稱為關(guān)系的一個屬性。

2.關(guān)系代數(shù)

關(guān)系是一個集合,關(guān)系的元組是集合的元素。常見的關(guān)系代數(shù)包括5個集合運算和3個關(guān)系運算。

5個集合運算為:

并(UNION)運算:設(shè)有兩個關(guān)系RS,具有相同的關(guān)系模式,RS的并運算的結(jié)果是由兩個關(guān)系中所有元組組成的一個新關(guān)系,記為RSR+S

交(INTERSECT)運算:設(shè)有兩個關(guān)系RS,具有相同的關(guān)系模式,RS的交運算的結(jié)果是由兩個關(guān)系中所有公共元組組成的一個新關(guān)系,記為RS

差(DIFFERENCE)運算:設(shè)有兩個關(guān)系RS,具有相同的關(guān)系模式,RS的差運算結(jié)果是由屬于關(guān)系R但不屬于關(guān)系S的元組組成的一個新關(guān)系,記為R-S

乘(PRODUCT)運算:設(shè)Rm個屬性,Sn個屬性,Ri個元組,Sj個元組,RS的乘(笛卡兒積)的運算結(jié)果是由(m+n)個屬性、i×j個元組組成的一個新關(guān)系,每個元組的前m個分量(屬性值)來自R的一個元組,后n個分量來自S的一個元組,記為R×S

除(DIVIDE)運算:設(shè)有關(guān)系RX,Y)和SY,Z),其中XYZ為屬性組,R中的YS中的Y可有不同的屬性名,但必須出自相同的值域。RS的除運算得到一個新關(guān)系PX),PR中滿足下列條件的元組在X屬性上的投影:元組在X上分量值x的象集YX包含SY上投影的集合,記為R÷S

3個關(guān)系運算為:

選擇(SELECT)運算:選擇運算是從指定的關(guān)系R中選擇滿足條件(條件表達式)的元組組成的一個新關(guān)系,記為σ<條件表達式>R)。

投影(PROJECT)運算:投影運算是從指定的關(guān)系R中選擇屬性集A的所有值組成的一個新關(guān)系,記為∏AR)。

連接(JOIN)運算:連接運算有θ連接、等值連接和自然連接三種運算,θ是算術(shù)比較符號。設(shè)有關(guān)系RA,B)和SC,D),AC出自同一值域,RS的θ連接運算是由兩個關(guān)系RS中滿足AθC連接條件的元組連接在一起組成的一個新關(guān)系,記為。若θ是等號(=),該連接操作稱為等值連接,記為。若AC具有相同的屬性名,RS的連接運算默認按A=C連接條件進行連接,并去除重復(fù)列屬性,則為自然連接運算,記為RS

3.SQL語言

SQL(Structured Query Language)是一種非過程性語言,提供了數(shù)據(jù)定義(建立數(shù)據(jù)庫和表結(jié)構(gòu))、數(shù)據(jù)操作(輸入、修改、刪除、查詢)、數(shù)據(jù)控制(授予、回收權(quán)限)等數(shù)據(jù)庫操作命令,較好地滿足了數(shù)據(jù)庫語言的要求。美國國家標準協(xié)會(ANSI)與國際標準化組織(ISO)制定了SQL標準,相繼推出了SQL/86、SQL/92、SQL/99、SQL/2003、SQL/2006等。SQL提供了靈活而強大的查詢功能,具有可移植性。SQL已為廣大用戶所采用,成為用戶訪問數(shù)據(jù)庫系統(tǒng)的標準接口語言。

主站蜘蛛池模板: 清水河县| 仲巴县| 二连浩特市| 金塔县| 滦南县| 天柱县| 中牟县| 响水县| 维西| 天全县| 武汉市| 延边| 三亚市| 长兴县| 乃东县| 乌海市| 望江县| 山阳县| 长宁区| 来凤县| 遵化市| 垣曲县| 翁源县| 乌鲁木齐市| 建始县| 德昌县| 黄平县| 社旗县| 雅江县| 永年县| 彩票| 错那县| 旅游| 策勒县| 惠安县| 来安县| 长治市| 抚顺县| 焉耆| 齐齐哈尔市| 瑞金市|