2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩91頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、本章教學計劃 理論教學(課堂教學):4學時       實驗教學(上機實習):2學時本章教學重點 1. 數(shù)據(jù)模型及數(shù)據(jù)庫系統(tǒng) 2. 關(guān)系運算及關(guān)系的規(guī)范化 3. 關(guān)系數(shù)據(jù)庫及SQL語言 4. 管理信息系統(tǒng)的結(jié)構(gòu)與功能 5. 管理信息系統(tǒng)的開發(fā)與設(shè)計步驟,第6章 數(shù)據(jù)庫原理與技術(shù)基礎(chǔ),6.1 數(shù)據(jù)庫系統(tǒng)概述 6.2 關(guān)系數(shù)據(jù)庫 6.3 常見數(shù)據(jù)庫管理系統(tǒng)6.4 管理信息系統(tǒng),,第6章 數(shù)據(jù)庫原理與技術(shù)基礎(chǔ),6.

2、1 數(shù)據(jù)庫系統(tǒng)概述,數(shù)據(jù)庫系統(tǒng)是計算機軟件系統(tǒng)的一個重要分支,也是一門新興學科,它和計算機網(wǎng)絡(luò)、人工智能一起被稱為計算機技術(shù)領(lǐng)域的三大熱門技術(shù),而且隨著各種應(yīng)用領(lǐng)域?qū)?shù)據(jù)管理的進一步需求,數(shù)據(jù)處理迅速成為計算機應(yīng)用的重要方面,數(shù)據(jù)庫也成為計算機領(lǐng)域發(fā)展最快的學科之一。數(shù)據(jù)庫已經(jīng)成為信息社會的重要基礎(chǔ)設(shè)施?! ?shù)據(jù)庫技術(shù)發(fā)展到今天已經(jīng)是一門成熟的技術(shù),但由于數(shù)據(jù)庫是一個復雜系統(tǒng),涉及面廣,所以至今仍沒有統(tǒng)一的、公認的定義。綜合較為流行的

3、數(shù)據(jù)庫文獻中對數(shù)據(jù)庫的定義,可以給數(shù)據(jù)庫定義為:數(shù)據(jù)庫是以某種方式組織和存儲起來的、可以檢索和利用的、互相關(guān)聯(lián)的數(shù)據(jù)集合,它提供給多種用戶共享并且有最小的冗余度和較高的數(shù)據(jù)獨立性,其安全控制機制可保證數(shù)據(jù)安全、可靠。,6.1 數(shù)據(jù)庫系統(tǒng)概述,6.1.1 數(shù)據(jù)管理技術(shù)的發(fā)展歷史 數(shù)據(jù)庫技術(shù)是20世紀60年代開始興起的一門信息管理自動化的新興學科,是計算機科學中的一個重要分支。從60年代末到70年代初,數(shù)據(jù)庫技術(shù)日益成熟,并有了堅

4、實的理論基礎(chǔ)。進入70年代,數(shù)據(jù)庫技術(shù)有了很大的發(fā)展。數(shù)據(jù)庫方法,特別是DBTG(Data Base Task Group,數(shù)據(jù)庫任務(wù)組)方法(該方法是DBTG所提議的基于網(wǎng)狀結(jié)構(gòu)的數(shù)據(jù)庫網(wǎng)狀模型方法)和思想已應(yīng)用于各種計算機系統(tǒng),出現(xiàn)了許許多多基于網(wǎng)狀模型和層次模型的商品化數(shù)據(jù)庫系統(tǒng)。隨后,關(guān)系方法的理論研究和軟件系統(tǒng)的研制又取得了很大成果,關(guān)系方法也從實驗室走向了商用。 數(shù)據(jù)庫是數(shù)據(jù)管理的產(chǎn)物。數(shù)據(jù)管理是數(shù)據(jù)庫的核心任務(wù),內(nèi)

5、容包括對數(shù)據(jù)的分類、組織、編碼、儲存、檢索和維護。隨著計算機硬件和軟件的發(fā)展,數(shù)據(jù)庫技術(shù)也不斷地發(fā)展。從數(shù)據(jù)管理的角度看,數(shù)據(jù)庫技術(shù)到目前共經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。,6.1 數(shù)據(jù)庫系統(tǒng)概述,6.1.1 數(shù)據(jù)管理技術(shù)的發(fā)展歷史1) 人工管理階段 人工管理階段是指20世紀50年代中期之前。當時計算機剛誕生不久,這個時期的計算機主要用于科學計算。從硬件看,沒有磁盤等直接存取的存儲設(shè)備;從軟件看,沒有操作系

6、統(tǒng)和管理數(shù)據(jù)的軟件,數(shù)據(jù)處理方式是批處理。這個時期數(shù)據(jù)管理的特點是: (1)數(shù)據(jù)不保存。 (2)沒有專門對數(shù)據(jù)進行管理的軟件系統(tǒng)。 (3)沒有文件的概念。 (4)數(shù)據(jù)是面向應(yīng)用的。  人工管理階段數(shù)據(jù)和程序之間的關(guān)系如下圖所示。,6.1 數(shù)據(jù)庫系統(tǒng)概述,6.1.1 數(shù)據(jù)管理技術(shù)的發(fā)展歷史1) 人工管理階段,人工管理階段程序和數(shù)據(jù)之間的關(guān)系,6.1 數(shù)據(jù)庫系統(tǒng)概述,6.1.1 數(shù)據(jù)管理技術(shù)的發(fā)展歷史

7、2) 文件系統(tǒng)階段 文件系統(tǒng)階段是指20世紀50年代后期到60年代中期。在這個階段,計算機不僅用于科學計算,還大量用于管理數(shù)據(jù)。在硬件方面,外存儲器有了磁盤、磁鼓等直接存取的存儲設(shè)備。在軟件方面,操作系統(tǒng)中已經(jīng)有了專門用于管理數(shù)據(jù)的軟件,稱為文件系統(tǒng)。這個時期數(shù)據(jù)管理的特點是: (1)數(shù)據(jù)需要長期保存在外存上供反復使用。 (2)程序和數(shù)據(jù)之間有了一定的獨立性。 (3)文件的形式已經(jīng)多樣化。 (4

8、)數(shù)據(jù)的存取基本上以記錄為單位。  文件系統(tǒng)階段數(shù)據(jù)和程序之間的關(guān)系如下圖所示。,6.1 數(shù)據(jù)庫系統(tǒng)概述,6.1.1 數(shù)據(jù)管理技術(shù)的發(fā)展歷史2) 文件系統(tǒng)階段,文件系統(tǒng)階段數(shù)據(jù)和程序之間的關(guān)系,6.1 數(shù)據(jù)庫系統(tǒng)概述,3) 數(shù)據(jù)庫系統(tǒng)階段 數(shù)據(jù)庫系統(tǒng)階段是從20世紀60年代后期開始的。由于計算機用于管理,從而使數(shù)據(jù)量急劇增加,其中非數(shù)值數(shù)據(jù)所占比例較大,而非數(shù)值數(shù)據(jù)比數(shù)值數(shù)據(jù)復雜得多,不僅要知道各項數(shù)據(jù)本身的內(nèi)容,而且還需

9、要知道它們之間的關(guān)系,這就需要一個高度組織化的數(shù)據(jù)管理系統(tǒng)。此外,隨著計算機技術(shù)的飛速發(fā)展和網(wǎng)絡(luò)通信的出現(xiàn),使得多個用戶共享一個數(shù)據(jù)集合成為可能,于是出現(xiàn)了數(shù)據(jù)庫系統(tǒng)。在這一階段中,數(shù)據(jù)庫中的數(shù)據(jù)不再是面向某個應(yīng)用或某個程序,而是面向整個企業(yè)(組織)或整個應(yīng)用的。數(shù)據(jù)庫系統(tǒng)階段的特點是: (1)采用復雜的結(jié)構(gòu)化的數(shù)據(jù)模型。 (2)較高的數(shù)據(jù)獨立性。 (3)最低的冗余度。 (4)數(shù)據(jù)控制功能。,6.1 數(shù)據(jù)

10、庫系統(tǒng)概述,6.1.1 數(shù)據(jù)管理技術(shù)的發(fā)展歷史3) 數(shù)據(jù)庫系統(tǒng)階段,數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)和程序之間的關(guān)系,6.1 數(shù)據(jù)庫系統(tǒng)概述,6.1.2 數(shù)據(jù)模型 數(shù)據(jù)庫存儲的是數(shù)據(jù),這些數(shù)據(jù)反映了現(xiàn)實世界中有意義、有價值的信息,數(shù)據(jù)庫不僅反映數(shù)據(jù)本身的內(nèi)容,而且也反映數(shù)據(jù)之間的聯(lián)系。數(shù)據(jù)模型就是用來抽象表示、處理現(xiàn)實世界的數(shù)據(jù)和信息的工具,它是數(shù)據(jù)庫中用于提供信息表示和操作手段的形式框架,也是將現(xiàn)實世界轉(zhuǎn)換為數(shù)據(jù)世界的橋梁。有關(guān)數(shù)據(jù)模

11、型的基本概念是數(shù)據(jù)庫理論的基礎(chǔ)。 1) 數(shù)據(jù)處理的抽象描述 不同的領(lǐng)域,數(shù)據(jù)的描述有所不同。實際生活中,有對現(xiàn)實世界的描述;理論研究中,有對符號化數(shù)據(jù)的描述;而在計算機內(nèi)部,數(shù)據(jù)又有其特定的表示方法。人們在研究和處理數(shù)據(jù)的過程中,常常把數(shù)據(jù)的轉(zhuǎn)換分為三個領(lǐng)域——現(xiàn)實世界、信息世界、機器世界,這三個世界間的轉(zhuǎn)換過程,就是將客觀現(xiàn)實的信息反映到計算機數(shù)據(jù)庫中的過程。,6.1 數(shù)據(jù)庫系統(tǒng)概述,6.1.2 數(shù)據(jù)模型1) 數(shù)據(jù)

12、處理的抽象描述 (1)現(xiàn)實世界??陀^存在的世界就是現(xiàn)實世界,它獨立于人們的思想之外?,F(xiàn)實世界存在無數(shù)事物,每一個客觀存在的事物可以看作是一個個體,個體有多項特征和屬性。比如,電視機就有價格、品牌、可視面積大小以及是否彩色等特征。而不同的人,只會關(guān)心其中的一部分屬性,一定領(lǐng)域內(nèi)的個體有著相同的特征。,6.1 數(shù)據(jù)庫系統(tǒng)概述,6.1.2 數(shù)據(jù)模型1) 數(shù)據(jù)處理的抽象描述(2)信息世界。信息世界也稱概念世界,是現(xiàn)實世界在人們頭腦

13、中的反映。人的思維將現(xiàn)實世界的數(shù)據(jù)抽象化和概念化,并用文字符號表示出來,這就形成了信息世界。下面是人們在研究現(xiàn)實世界過程中常常用到的術(shù)語: ① 實體(Entity)。 ② 屬性(Attribute)。 ③ 鍵(Key)。 ④ 聯(lián)系(Relationship)。,6.1 數(shù)據(jù)庫系統(tǒng)概述,2) 數(shù)據(jù)模型 數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)的約束條件三部分組成。 數(shù)據(jù)結(jié)構(gòu)是所研究的對象類型的

14、集合。在數(shù)據(jù)庫系統(tǒng)中通常按照數(shù)據(jù)結(jié)構(gòu)的類型來命名數(shù)據(jù)模型,如層次結(jié)構(gòu)、網(wǎng)狀結(jié)構(gòu)和關(guān)系結(jié)構(gòu)的模型分別命名為層次模型、網(wǎng)狀模型和關(guān)系模型。 數(shù)據(jù)操作是指對數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的操作的集合,包括操作及有關(guān)的操作規(guī)則。數(shù)據(jù)操作是用來描述系統(tǒng)的信息變化的,是對系統(tǒng)動態(tài)特性的描述。數(shù)據(jù)操作的種類有檢索(如查詢)和更新(增、刪、改)。 數(shù)據(jù)的約束條件是一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系

15、所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效和相容。,6.1 數(shù)據(jù)庫系統(tǒng)概述,2) 數(shù)據(jù)模型(1) 信息模型(概念模型)與E-R(Entity-Relationship)方法  為了把現(xiàn)實世界中的具體事物進行抽象,人們常常首先把現(xiàn)實世界抽象為信息世界,然后再將信息世界轉(zhuǎn)化為機器世界。在把現(xiàn)實世界抽象為信息世界的過程中,實際上是抽象出現(xiàn)實系統(tǒng)中有應(yīng)用價值的元素及其關(guān)聯(lián)。這時所形成的信息

16、結(jié)構(gòu)是概念模型。在抽象出概念模型后,再把概念模型轉(zhuǎn)換為計算機上某一DBMS(DataBase Management System,數(shù)據(jù)庫管理系統(tǒng))支持的數(shù)據(jù)模型。需要一種方法能夠?qū)ΜF(xiàn)實世界的信息進行描述,最常用的是實體-聯(lián)系方法。 實體-聯(lián)系方法(即E-R方法)是P.P.S.Chen于1976年提出的,這種方法由于簡單、實用,所以得到了非常普遍的應(yīng)用。它使用的工具稱作E-R圖,它所描述的現(xiàn)實世界的信息結(jié)構(gòu)稱為企業(yè)模式,也把這種描

17、述結(jié)果稱為E-R模型。,6.1 數(shù)據(jù)庫系統(tǒng)概述,E-R方法的要點: ① 用矩形框表示實體,實體名(如學生)寫在框內(nèi)。 ② 用橢圓框表示實體的屬性,框內(nèi)寫上屬性名,并用線段連到相應(yīng)的實體上。 ③ 用菱形框表示實體間的聯(lián)系,在框內(nèi)寫上聯(lián)系名,用線段連接菱形框與矩形框,在線段旁注上聯(lián)系的類型(一對一、一對多或多對多)。如果聯(lián)系也具有屬性,那么把屬性和菱形框用線段連上。 E-R圖是抽象描述現(xiàn)實世界的有力工具,它與

18、計算機所支持的數(shù)據(jù)模型相獨立,它更接近于現(xiàn)實世界。具體畫法是:把有聯(lián)系的實體(方框)通過聯(lián)系(菱形框)連接起來,注明聯(lián)系方式,實體的屬性(橢圓框)連到相應(yīng)實體上。下圖(E-R圖)描述的是2個實體間的多對多(m:n)的聯(lián)系方式。,6.1 數(shù)據(jù)庫系統(tǒng)概述,有關(guān)學生、課程的E-R圖(實體關(guān)系圖),6.1 數(shù)據(jù)庫系統(tǒng)概述,(2)結(jié)構(gòu)模型。結(jié)構(gòu)數(shù)據(jù)模型是機器世界的數(shù)據(jù)模型。實際數(shù)據(jù)庫系統(tǒng)中所支持的數(shù)據(jù)模型主要有層次模型、網(wǎng)狀模型和關(guān)系模型。

19、 ① 層次模型。用樹型結(jié)構(gòu)來表示實體之間聯(lián)系的模型稱為層次模型。層次模型是滿足有且僅有一個根結(jié)點,非根結(jié)點有且僅有一個父結(jié)點的基本層次聯(lián)系的集合。構(gòu)成層次模型的樹是由結(jié)點和連線組成的,結(jié)點表示實體集,連線表示相連兩個實體之間的聯(lián)系,這種聯(lián)系只能是一對多的。通常把表示“一”的實體放在上方,稱為父結(jié)點;而把表示“多”的實體放在下方,稱為子結(jié)點。 ② 網(wǎng)狀模型。用網(wǎng)狀結(jié)構(gòu)來表示實體之間聯(lián)系的數(shù)據(jù)模型稱為網(wǎng)狀模型。網(wǎng)狀模型是以記錄型為

20、結(jié)點的網(wǎng)狀結(jié)構(gòu),這種結(jié)構(gòu)必須滿足兩個條件:一個是網(wǎng)狀模型可以有一個以上結(jié)點而無父結(jié)點;另一個是至少有一個結(jié)點具有多于一個的父結(jié)點。,6.1 數(shù)據(jù)庫系統(tǒng)概述,③ 關(guān)系模型。用一個二維表格表示實體和實體之間聯(lián)系的模型稱為關(guān)系模型。關(guān)系模型由三部分組成:關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系的完整性。 關(guān)系應(yīng)滿足以下條件:表格中的每一列都是不可再分的,每行和每列的相交點僅包含單個值;任何列中的值必須是同一類型的,各列被指定一個相異的名字;各

21、行相異,不允許重復;行、列均無次序要求。一個關(guān)系就是一個文件,該文件中的每個記錄是惟一的,所有記錄具有相同個數(shù)和類型的字段,也就是說,所有記錄有同樣的固定長度和格式。關(guān)系可以有三種類型:基本關(guān)系(通常稱為基本表或基表)、查詢表和視圖表?;颈硎菍嶋H存在的表,它是實際存儲數(shù)據(jù)的邏輯表示;查詢表是查詢結(jié)果對應(yīng)的表;視圖表是由基本表或其他圖表導出的表,是虛表,不對應(yīng)實際存儲的數(shù)據(jù)。,6.1 數(shù)據(jù)庫系統(tǒng)概述,③ 關(guān)系模型 關(guān)系操作采用集

22、合操作方式,即操作的對象和結(jié)果都是集合。這種操作方式也稱為一次一個集合的方式。關(guān)系模型中常用的關(guān)系操作包括查詢操作(選擇、投影、連接、除、并、交、差等)和編輯操作(增、刪、改)兩大部分。查詢的表達能力是其中最重要的部分。 在關(guān)系型數(shù)據(jù)庫中,完整性約束用于確保數(shù)據(jù)的準確性和一致性。關(guān)系模型提供了豐富的完整性控制機制,允許定義三類完整性:實體完整性、參照完整性和用戶定義完整性。其中實體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束

23、條件,應(yīng)該由關(guān)系系統(tǒng)自動支持。  實體完整性規(guī)則:若屬性A是基本關(guān)系R的主屬性,則屬性A就不能取空值?,F(xiàn)實世界中的實體之間往往存在某種聯(lián)系,在關(guān)系模型中實體及實體間的聯(lián)系都是用關(guān)系來描述的,這樣就自然存在著關(guān)系與關(guān)系間的引用。實體完整性和參照完整性用于任何關(guān)系數(shù)據(jù)庫系統(tǒng),用戶定義的完整性則是針對某一具體的數(shù)據(jù)庫的約束條件,如性別只能是“男”或“女”兩種可能。它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。關(guān)系模型應(yīng)提供定義和檢驗這類

24、完整性的機制。,6.1 數(shù)據(jù)庫系統(tǒng)概述,(3)面向?qū)ο竽P汀S嬎銠C應(yīng)用對數(shù)據(jù)模型的要求是多種多樣的,而且是層出不窮的。與其根據(jù)不同的新需求,提出各種新的數(shù)據(jù)模型,還不如設(shè)計一種可擴充的數(shù)據(jù)模型,由用戶根據(jù)需要定義新的數(shù)據(jù)類型及相應(yīng)的約束和操作。面向?qū)ο髷?shù)據(jù)模型(Object-Oriented data model,簡稱O-O data model)就是一種可擴充的數(shù)據(jù)模型。 在面向?qū)ο髷?shù)據(jù)模型中,所有現(xiàn)實世界中小的實體都模擬為對

25、象,小至一個整數(shù)、字符串、一個公司,都可以看成是對象。一個對象包含有若干屬性,用以描述對象的狀態(tài)、組成和特性。屬性也是對象,它又可能包含其他對象作為其屬性。這種遞歸引用對象的過程可以繼續(xù)下去,從而組成各種復雜的對象,而且同一個對象可以被多個對象所引用。除了屬性外,對象還包含若干方法,用以描述對象的行為特性。方法又稱為操作,它可以改變對象的狀態(tài),對對象進行各種數(shù)據(jù)庫操作。方法的定義包含兩個部分:一是方法的接口,說明方法的名稱、參數(shù)和結(jié)果的

26、類型,一般稱之為調(diào)用說明;二是方法的實現(xiàn)部分,它是用程序設(shè)計語言編寫的一個過程,以實現(xiàn)方法的功能。一個數(shù)據(jù)庫一般包含大量的對象。如果每個對象都附有屬性和方法的說明,則會有大量的重復。為了解決這個問題,同時也為了概念上的清晰,常常把類似的對象歸并為類。,6.1 數(shù)據(jù)庫系統(tǒng)概述,6.1.3 數(shù)據(jù)庫系統(tǒng) 一個數(shù)據(jù)庫系統(tǒng)(Database System)主要由數(shù)據(jù)庫(Database)和數(shù)據(jù)庫管理系統(tǒng)(DBMS)構(gòu)成。簡單地說,數(shù)據(jù)庫

27、是一組經(jīng)過計算機整理后的數(shù)據(jù),存儲在一個或者多個文件中,而管理這個數(shù)據(jù)庫的軟件就被稱之為數(shù)據(jù)庫管理系統(tǒng)。此外,數(shù)據(jù)庫系統(tǒng)還包括數(shù)據(jù)庫應(yīng)用系統(tǒng)和用戶等。 數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng)是三個不同的概念。數(shù)據(jù)庫強調(diào)的是數(shù)據(jù),數(shù)據(jù)庫管理系統(tǒng)強調(diào)的是系統(tǒng)軟件,而數(shù)據(jù)庫系統(tǒng)強調(diào)的是數(shù)據(jù)庫的整個運行系統(tǒng)。,6.1 數(shù)據(jù)庫系統(tǒng)概述,6.1.3 數(shù)據(jù)庫系統(tǒng)1) 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu) 數(shù)據(jù)庫系統(tǒng)軟件產(chǎn)品多種多樣,支持不同的數(shù)據(jù)

28、模型,使用不同的數(shù)據(jù)庫語言,建立在不同的操作系統(tǒng)之上,數(shù)據(jù)的存儲結(jié)構(gòu)也各不相同,但是大多數(shù)數(shù)據(jù)庫系統(tǒng)在總的體系結(jié)構(gòu)上都具有三級模式的結(jié)構(gòu)特征。數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)由模式、外模式和內(nèi)模式組成。 (1)模式。模式又稱為概念模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特性的描述,是所有用戶的公共數(shù)據(jù)視圖,它描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu)。 (2)外模式。外模式又稱為子模式或用戶模式,是數(shù)據(jù)庫用戶看到的數(shù)據(jù)視圖,它涉及的是數(shù)據(jù)的局部邏輯

29、結(jié)構(gòu),通常是模式的子集。 (3)內(nèi)模式。內(nèi)模式又稱為存儲模式,是數(shù)據(jù)在數(shù)據(jù)庫系統(tǒng)內(nèi)部的表示,即對數(shù)據(jù)物理結(jié)構(gòu)和方式的描述。內(nèi)模式是全體數(shù)據(jù)庫數(shù)據(jù)的內(nèi)部表示或者是低層描述,用來定義數(shù)據(jù)的存儲方式和物理結(jié)構(gòu)。,6.1 數(shù)據(jù)庫系統(tǒng)概述,6.1.3 數(shù)據(jù)庫系統(tǒng)2) 數(shù)據(jù)庫系統(tǒng)的用戶 數(shù)據(jù)庫系統(tǒng)的用戶是指使用和訪問數(shù)據(jù)庫中數(shù)據(jù)的人。其用戶有以下四種: (1)數(shù)據(jù)庫設(shè)計者 (2)數(shù)據(jù)庫管理員 (3)應(yīng)用程

30、序設(shè)計者 (4)普通用戶 在實際工作中,數(shù)據(jù)庫管理員利用賬號來控制每個用戶的訪問權(quán)限。每個用戶都有自己的賬號和密碼,使用此賬號和密碼,用戶可以登錄數(shù)據(jù)庫,并在允許的權(quán)限范圍內(nèi)訪問數(shù)據(jù)庫中的數(shù)據(jù)。,6.1 數(shù)據(jù)庫系統(tǒng)概述,6.1.3 數(shù)據(jù)庫系統(tǒng) 3) 數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)庫管理系統(tǒng)(DBMS)是指幫助用戶建立、使用和管理數(shù)據(jù)庫的軟件系統(tǒng)。它通常由下面三個部分組成: (1)數(shù)據(jù)定義語言(Data Defi

31、nition Language,DDL)。DDL用來描述數(shù)據(jù)庫的結(jié)構(gòu),供用戶建立數(shù)據(jù)庫。 (2)數(shù)據(jù)操作語言(Data Manipulation Language,DML)。DML供用戶對數(shù)據(jù)庫進行數(shù)據(jù)的查詢(數(shù)據(jù)的檢索和統(tǒng)計等)和處理(數(shù)據(jù)的增加、刪除和修改等)等操作。 (3)其他管理和控制例行程序。這部分包括安全、通訊控制和工作日志等內(nèi)容。 一般情況下,DDL和DML組成一個一體化的語言。對于關(guān)系型數(shù)據(jù)庫,最

32、常用的就是SQL語言,幾乎所有的數(shù)據(jù)庫管理系統(tǒng)都提供了對SQL語言的支持。,6.1 數(shù)據(jù)庫系統(tǒng)概述,6.1.3 數(shù)據(jù)庫系統(tǒng)  數(shù)據(jù)庫管理系統(tǒng)提供了用戶和數(shù)據(jù)庫之間的軟件界面,使用戶能更方便地操作數(shù)據(jù)庫。一般來說,它應(yīng)有如下功能: (1)數(shù)據(jù)定義。和高級語言類似,須定義需要的數(shù)據(jù)類型。 (2)數(shù)據(jù)處理。DBMS必須提供用戶對數(shù)據(jù)庫的存取能力,包括記錄的增加、修改、檢索和刪除等。 (3)數(shù)據(jù)安全性、完整性和并發(fā)性

33、控制。管理和監(jiān)督用戶的權(quán)限,防止用戶有任何破壞或者惡意的企圖,保證進入數(shù)據(jù)庫中的存儲數(shù)據(jù)的語義正確性和有效性,防止改變數(shù)據(jù)的語義,正確處理多用戶環(huán)境下的并發(fā)操作。 (4)效率。DBMS應(yīng)保證數(shù)據(jù)庫的高效率運行,以提高數(shù)據(jù)檢索和修改的速度。,6.1 數(shù)據(jù)庫系統(tǒng)概述,6.1.3 數(shù)據(jù)庫系統(tǒng) 4) 數(shù)據(jù)庫系統(tǒng)的發(fā)展 數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的核心。按照數(shù)據(jù)模型發(fā)展的主線,數(shù)據(jù)庫系統(tǒng)的形成過程和發(fā)展可從以下三個方面反映出來。

34、 (1)第一代數(shù)據(jù)庫系統(tǒng)——層次和網(wǎng)狀數(shù)據(jù)庫管理系統(tǒng)。層次和網(wǎng)狀數(shù)據(jù)庫的代表產(chǎn)品是IBM公司在1969年研制出的層次模型數(shù)據(jù)庫管理系統(tǒng)。層次數(shù)據(jù)庫是數(shù)據(jù)庫系統(tǒng)的先驅(qū),而網(wǎng)狀數(shù)據(jù)庫則是數(shù)據(jù)庫概念、方法、技術(shù)的奠基。,6.1 數(shù)據(jù)庫系統(tǒng)概述,6.1.3 數(shù)據(jù)庫系統(tǒng) 4) 數(shù)據(jù)庫系統(tǒng)的發(fā)展 (2)第二代數(shù)據(jù)庫系統(tǒng)——關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)。1970年,IBM公司的研究員E.E.Codd在題為《大型共享數(shù)據(jù)庫數(shù)據(jù)的關(guān)

35、系模型》的論文中提出了數(shù)據(jù)庫的關(guān)系模型,為關(guān)系數(shù)據(jù)庫技術(shù)奠定了理論基礎(chǔ)。到了20世紀80年代,幾乎所有新開發(fā)的數(shù)據(jù)庫系統(tǒng)都是關(guān)系型的。真正使得關(guān)系數(shù)據(jù)庫技術(shù)實用化的關(guān)鍵人物是James Gray。Gray在解決如何保障數(shù)據(jù)的完整性、安全性、并發(fā)性以及數(shù)據(jù)庫的故障恢復能力等重大技術(shù)問題方面發(fā)揮了關(guān)鍵作用。關(guān)系數(shù)據(jù)庫系統(tǒng)的出現(xiàn),促進了數(shù)據(jù)庫的小型化和普及化,使得在微型機上配置數(shù)據(jù)庫系統(tǒng)成為可能。,6.1 數(shù)據(jù)庫系統(tǒng)概述,6.1.3 數(shù)據(jù)庫

36、系統(tǒng) 4) 數(shù)據(jù)庫系統(tǒng)的發(fā)展(3)新一代數(shù)據(jù)庫系統(tǒng)的研究和發(fā)展。目前已從多方面發(fā)展了現(xiàn)行的數(shù)據(jù)庫系統(tǒng)技術(shù)??梢詮臄?shù)據(jù)模型、新技術(shù)內(nèi)容、應(yīng)用領(lǐng)域三個方面概括新一代數(shù)據(jù)庫系統(tǒng)的發(fā)展。 ① 面向?qū)ο蟮姆椒ê图夹g(shù)對數(shù)據(jù)庫發(fā)展的影響最為深遠。20世紀80年代,面向?qū)ο蟮姆椒ê图夹g(shù)的出現(xiàn),對計算機各個領(lǐng)域,包括程序設(shè)計語言、軟件工程、信息系統(tǒng)設(shè)計以及計算機硬件設(shè)備等都產(chǎn)生了深遠的影響,也給面臨新挑戰(zhàn)的數(shù)據(jù)庫技術(shù)帶來了新的機遇和希望。數(shù)據(jù)

37、庫研究人員借鑒和吸收了面向?qū)ο蟮姆椒ê图夹g(shù),提出了面向?qū)ο蟮臄?shù)據(jù)庫模型(簡稱對象模型)。當前有許多研究是建立在數(shù)據(jù)庫已有的成果和技術(shù)上的,針對不同的應(yīng)用,對傳統(tǒng)的DBMS,主要是RDBMS進行不同層次上的擴充,例如建立對象關(guān)系(OR)模型和建立對象關(guān)系數(shù)據(jù)庫(ORDB)。,6.1 數(shù)據(jù)庫系統(tǒng)概述,6.1.3 數(shù)據(jù)庫系統(tǒng) ?、?數(shù)據(jù)庫技術(shù)與多學科技術(shù)的有機結(jié)合。數(shù)據(jù)庫技術(shù)與多學科技術(shù)的有機結(jié)合是當前數(shù)據(jù)庫發(fā)展的重要特征。計算機領(lǐng)域中其

38、他新興技術(shù)的發(fā)展對數(shù)據(jù)庫技術(shù)產(chǎn)生了重大影響。傳統(tǒng)的數(shù)據(jù)庫技術(shù)和其他計算機技術(shù)的結(jié)合、互相滲透,使數(shù)據(jù)庫中新的技術(shù)內(nèi)容層出不窮。數(shù)據(jù)庫的許多概念、技術(shù)內(nèi)容、應(yīng)用領(lǐng)域,甚至某些原理都有了重大的發(fā)展和變化。建立和實現(xiàn)了一系列新型的數(shù)據(jù)庫,如分布式數(shù)據(jù)庫、并行數(shù)據(jù)庫、演繹數(shù)據(jù)庫、知識庫、多媒體庫和移動數(shù)據(jù)庫等,它們共同構(gòu)成了數(shù)據(jù)庫大家族。 ③ 面向?qū)iT應(yīng)用領(lǐng)域的數(shù)據(jù)庫技術(shù)的研究。為了適應(yīng)數(shù)據(jù)庫應(yīng)用多元化的要求,在傳統(tǒng)數(shù)據(jù)庫基礎(chǔ)上,結(jié)合各

39、個專門應(yīng)用領(lǐng)域的特點,研究適合該應(yīng)用領(lǐng)域的數(shù)據(jù)庫技術(shù),如工程數(shù)據(jù)庫、統(tǒng)計數(shù)據(jù)庫、科學數(shù)據(jù)庫、空間數(shù)據(jù)庫、地理數(shù)據(jù)庫和Web數(shù)據(jù)庫等,這是當前數(shù)據(jù)庫技術(shù)發(fā)展的又一重要特征。 同時,數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)也由主機/終端的集中式結(jié)構(gòu)發(fā)展到網(wǎng)絡(luò)環(huán)境的分布式結(jié)構(gòu),隨后又發(fā)展成兩層、三層或多層客戶/服務(wù)器結(jié)構(gòu)以及Internet環(huán)境下的瀏覽器/服務(wù)器和移動環(huán)境下的動態(tài)結(jié)構(gòu)。多種數(shù)據(jù)庫結(jié)構(gòu)滿足了不同應(yīng)用的需求,適應(yīng)了不同的應(yīng)用環(huán)境。,6.1 數(shù)據(jù)庫系

40、統(tǒng)概述,6.1.3 數(shù)據(jù)庫系統(tǒng) ② 數(shù)據(jù)庫技術(shù)與多學科技術(shù)的有機結(jié)合。數(shù)據(jù)庫技術(shù)與多學科技術(shù)的有機結(jié)合是當前數(shù)據(jù)庫發(fā)展的重要特征。計算機領(lǐng)域中其他新興技術(shù)的發(fā)展對數(shù)據(jù)庫技術(shù)產(chǎn)生了重大影響。傳統(tǒng)的數(shù)據(jù)庫技術(shù)和其他計算機技術(shù)的結(jié)合、互相滲透,使數(shù)據(jù)庫中新的技術(shù)內(nèi)容層出不窮。數(shù)據(jù)庫的許多概念、技術(shù)內(nèi)容、應(yīng)用領(lǐng)域,甚至某些原理都有了重大的發(fā)展和變化。建立和實現(xiàn)了一系列新型的數(shù)據(jù)庫,如分布式數(shù)據(jù)庫、并行數(shù)據(jù)庫、演繹數(shù)據(jù)庫、知識庫、多媒體庫和移

41、動數(shù)據(jù)庫等,它們共同構(gòu)成了數(shù)據(jù)庫大家族。 ③ 面向?qū)iT應(yīng)用領(lǐng)域的數(shù)據(jù)庫技術(shù)的研究。為了適應(yīng)數(shù)據(jù)庫應(yīng)用多元化的要求,在傳統(tǒng)數(shù)據(jù)庫基礎(chǔ)上,結(jié)合各個專門應(yīng)用領(lǐng)域的特點,研究適合該應(yīng)用領(lǐng)域的數(shù)據(jù)庫技術(shù),如工程數(shù)據(jù)庫、統(tǒng)計數(shù)據(jù)庫、科學數(shù)據(jù)庫、空間數(shù)據(jù)庫、地理數(shù)據(jù)庫和Web數(shù)據(jù)庫等,這是當前數(shù)據(jù)庫技術(shù)發(fā)展的又一重要特征。 同時,數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)也由主機/終端的集中式結(jié)構(gòu)發(fā)展到網(wǎng)絡(luò)環(huán)境的分布式結(jié)構(gòu),隨后又發(fā)展成兩層、三層或多層客戶/服務(wù)

42、器結(jié)構(gòu)以及Internet環(huán)境下的瀏覽器/服務(wù)器和移動環(huán)境下的動態(tài)結(jié)構(gòu)。多種數(shù)據(jù)庫結(jié)構(gòu)滿足了不同應(yīng)用的需求,適應(yīng)了不同的應(yīng)用環(huán)境。,6.1 數(shù)據(jù)庫系統(tǒng)概述 6.2 關(guān)系數(shù)據(jù)庫 6.3 常見數(shù)據(jù)庫管理系統(tǒng)6.4 管理信息系統(tǒng),,第6章 數(shù)據(jù)庫原理與技術(shù)基礎(chǔ),6.2 關(guān)系數(shù)據(jù)庫,數(shù)據(jù)模型為關(guān)系模型的數(shù)據(jù)庫稱為關(guān)系數(shù)據(jù)庫。 在關(guān)系數(shù)據(jù)庫中,主要涉及以下基本術(shù)語。 關(guān)系:一個關(guān)系就是一張二維表,每個關(guān)系有一個關(guān)系名

43、。在計算機里,一個關(guān)系可以存儲為一個文件。下表的學生基本情況即為一個關(guān)系。,6.2 關(guān)系數(shù)據(jù)庫,元組:二維表中水平方向的行稱為元組,每一行是一個元組。元組對應(yīng)存儲文件中的一個具體記錄。表6.1包含5個元組。 屬性:二維表中垂直方向的列稱為屬性,每一列有一個屬性名,與前面介紹的實體屬性相同。屬性名和該屬性的數(shù)據(jù)類型、寬度等在數(shù)據(jù)定義時規(guī)定。屬性值是各個記錄中的字段值。例如,表6.1的學生基本情況關(guān)系中的學號、姓名、性別等為屬性名。

44、20050000001、張大偉、男等是屬性值。  域:屬性的取值范圍,即不同元組對同一個屬性的取值所限定的范圍。例如,姓名的取值范圍是文字字符;性別只能從“男”、“女”兩個漢字中取其一。 關(guān)鍵字:屬性或?qū)傩越M合,其值能夠唯一地標識一個元組。例如,表6.1的學生基本情況關(guān)系中的學號可以作為標識關(guān)鍵字;如果絕對沒有重名學生,姓名也能唯一地標識一個元組。由于具有某一性別的不止一個人,性別就不能作為標識關(guān)鍵字。,6.2 關(guān)系數(shù)據(jù)庫,關(guān)

45、系模式:對關(guān)系的描述稱為關(guān)系模式,其格式為:    關(guān)系名(屬性名1,屬性名2,…,屬性名n)一個關(guān)系模式對應(yīng)一個關(guān)系的結(jié)構(gòu)。 從集合論的觀點來定義關(guān)系,可以將關(guān)系定義為元組的集合。關(guān)系模式是命名的屬性集合。元組是屬性值的集合。一個具體的關(guān)系模型是若干個關(guān)系模式的集合。 關(guān)系數(shù)據(jù)庫結(jié)構(gòu)與層次型、網(wǎng)狀型結(jié)構(gòu)相比有如下優(yōu)點: (1)表格式的關(guān)系易于建立數(shù)據(jù)庫。 (2)使用者較易于理解表格式的關(guān)系。

46、 (3)層次型與網(wǎng)狀型結(jié)構(gòu)可容易地轉(zhuǎn)換成表格式結(jié)構(gòu),因此可視為萬用形式的結(jié)構(gòu)。 (4)投影與連結(jié)表格的字段很容易,因此新關(guān)系的建立也易于實現(xiàn)。 (5)搜尋速度較快,表格式的搜尋比線性結(jié)構(gòu)更容易。 (6)關(guān)系型結(jié)構(gòu)較易于修改。,6.2 關(guān)系數(shù)據(jù)庫,6.2.1 關(guān)系運算與關(guān)系代數(shù) 關(guān)系代數(shù)是一種抽象的查詢語言,是關(guān)系數(shù)據(jù)操縱語言的一種傳統(tǒng)表達方式,它是用對關(guān)系的運算來表達查詢的。 任何一種運算都是將

47、一定的運算符作用于一定的運算對象上,得到預期的運算結(jié)果。所以運算對象、運算符、運算結(jié)果是運算的三大要素。 關(guān)系代數(shù)的運算對象是關(guān)系,運算結(jié)果亦為關(guān)系。關(guān)系代數(shù)用到的運算符包括四類:集合運算符、專門的關(guān)系運算符、算術(shù)比較符和邏輯運算符。對關(guān)系數(shù)據(jù)庫進行查詢時,需要找到用戶感興趣的數(shù)據(jù),這就需要對關(guān)系進行一定的關(guān)系運算。關(guān)系的基本運算有兩類:一類是傳統(tǒng)的集合運算(并、差、交等);另一類是專門的關(guān)系運算(選擇、投影、聯(lián)接)。有些查詢

48、需要幾個基本運算的組合,經(jīng)過若干個步驟才能完成。,6.2 關(guān)系數(shù)據(jù)庫,6.2.1 關(guān)系運算與關(guān)系代數(shù) 1) 傳統(tǒng)的集合運算 進行并、差、交集合運算的兩個關(guān)系必須具有相同的關(guān)系模式,即相同結(jié)構(gòu)。 (1)并——兩個相同結(jié)構(gòu)的關(guān)系的并是由屬于這兩個關(guān)系的元組組成的集合。(2)差——設(shè)有兩個相同結(jié)構(gòu)的關(guān)系R和S,R差S的結(jié)果是由屬于R但不屬于S的元組組成的集合,即差運算的結(jié)果是從R中去掉S中也有的元組。(3)交——兩個具

49、有相同結(jié)構(gòu)的關(guān)系R和S,它們的交是由既屬于R又屬于S的元組組成的集合。交運算的結(jié)果是R和S的共同元組。,6.2 關(guān)系數(shù)據(jù)庫,6.2.1 關(guān)系運算與關(guān)系代數(shù) 2) 專門的關(guān)系運算 (1)選擇——從關(guān)系中找出滿足給定條件的元組的操作稱為選擇。選擇的條件以邏輯表達式給出,使得邏輯表達式的值為真的元組將被選取。 選擇是從行的角度進行的運算,即從水平方向抽取記錄。經(jīng)過選擇運算得到的結(jié)果元組形成的新關(guān)系,其關(guān)系模式不變,但其中

50、的元組是原關(guān)系的一個子集。 (2)投影——從關(guān)系模式中指定若干個屬性組成新的關(guān)系稱為投影。 投影是從列的角度進行的運算,相當于對關(guān)系進行垂直分解。經(jīng)過投影運算可以得到一個新關(guān)系,其關(guān)系模式所包含的屬性個數(shù)往往比原關(guān)系少,或者屬性的排列順序不同。投影運算提供了垂直調(diào)整關(guān)系的手段,體現(xiàn)出關(guān)系中列的次序無關(guān)性這一特點。 (3)聯(lián)接——聯(lián)接是關(guān)系的橫向結(jié)合。聯(lián)接運算將按兩個關(guān)系模式的屬性名拼接成一個更寬的關(guān)系模式,生成的

51、新關(guān)系中包含滿足聯(lián)接條件的元組?! ÷?lián)接過程是通過聯(lián)接條件來控制的,聯(lián)接條件中將出現(xiàn)兩個關(guān)系中的公共屬性名,或者具有相同語義、可比的屬性。,6.2 關(guān)系數(shù)據(jù)庫,6.2.1 關(guān)系運算與關(guān)系代數(shù) 1) 傳統(tǒng)的集合運算 (4)自然聯(lián)接和優(yōu)化 ① 自然聯(lián)接——自然聯(lián)接是去掉重復屬性的等值聯(lián)接,它屬于聯(lián)接運算中按照屬性值對應(yīng)相等為條件進行的聯(lián)接操作。自然聯(lián)接是最常用的聯(lián)接運算。 利用關(guān)系的投影、選擇和聯(lián)接運算可以方便

52、地分解或構(gòu)造新的關(guān)系。 ② 聯(lián)接優(yōu)化——系統(tǒng)在執(zhí)行聯(lián)接運算時要進行大量的比較操作,因此執(zhí)行起來比較費時間。尤其是在包括許多元組的關(guān)系之間進行聯(lián)接時,矛盾更加突出。,6.2 關(guān)系數(shù)據(jù)庫,設(shè)關(guān)系R和S分別有m和n個元組。聯(lián)接運算先從R關(guān)系中的第一個元組開始,依次與S關(guān)系的各個元組按照聯(lián)結(jié)條件進行比較,符合條件的兩元組首尾相連納入新關(guān)系,一輪共需要進行n次比較;再用R關(guān)系中的第二個元組對S關(guān)系的各個元組進行第二次掃描。由于R中有m個元

53、組,共需要進行m輪掃描,因此,R與S的聯(lián)接過程共需要訪問m×n個元組。如果m=500,n=50,聯(lián)接過程需要進行25000次訪問。由此可見,涉及到聯(lián)接的查詢應(yīng)當考慮優(yōu)化,以便提高操作效率。 優(yōu)化的一般方法是,考慮縮小參與聯(lián)接運算關(guān)系的尺寸,要減少訪問記錄的次數(shù)。首先應(yīng)進行選擇運算,盡量減少關(guān)系中元組的個數(shù),能投影的再投影,使關(guān)系中屬性個數(shù)較少。在投影時必須注意保留聯(lián)接兩個關(guān)系所需要的公共屬性或具有相同語義的屬性,否則關(guān)

54、系之間就失去了聯(lián)系,然后再進行聯(lián)接操作。 在關(guān)系代數(shù)中,將關(guān)系和運算經(jīng)有限次復合所形成的式子稱為關(guān)系代數(shù)表達式。,6.2 關(guān)系數(shù)據(jù)庫,6.2.2 關(guān)系的規(guī)范化 關(guān)系模型看起來簡單,但是不能把日常手工管理所用的各種表格,按照一張表一個關(guān)系直接存放到數(shù)據(jù)庫里。在關(guān)系模型中對關(guān)系有一定的要求,關(guān)系必須具有以下特點: (1)關(guān)系必須規(guī)范化。所謂規(guī)范化是指關(guān)系模型中的每一個關(guān)系模式都必須滿足一定的要求。最基本的要求是每個

55、屬性值必須是不可分割的數(shù)據(jù)單元,即表中不能再包含表。 手工制表中經(jīng)常出現(xiàn)如下表所示的復合表。這種表格不是二維表,不能直接作為關(guān)系來存放,只要去掉表中的“應(yīng)發(fā)工資”和“應(yīng)扣工資”兩個表項就可以了。而在數(shù)據(jù)輸出時,可以對打印格式另行設(shè)計,從而滿足用戶的要求。,6.2 關(guān)系數(shù)據(jù)庫,6.2.2 關(guān)系的規(guī)范化,復合表。這種表格不是二維表,不能直接作為關(guān)系來存放,只要去掉表中的“應(yīng)發(fā)工資”和“應(yīng)扣工資”兩個表項就可以了,6.2 關(guān)系數(shù)據(jù)庫

56、,6.2.2 關(guān)系的規(guī)范化  (2)在同一個關(guān)系中不能出現(xiàn)相同的屬性名,即表格中的字段名不允許重復,且每一列必須具有相同的數(shù)據(jù)類型。 (3)關(guān)系中不允許有完全相同的元組,即表格中不允許出現(xiàn)相同的行(相同的記錄)。 (4)在一個關(guān)系中對屬性和元組無順序要求,既任意交換表格中兩列或兩行的位置并不影響數(shù)據(jù)的實際含義。,6.2 關(guān)系數(shù)據(jù)庫,6.2.3 SQL語言簡介  SQL是Structured Query Langu

57、age(結(jié)構(gòu)化查詢語言)的縮寫。SQL是專為數(shù)據(jù)庫而建立的操作命令集,是一種功能齊全的數(shù)據(jù)庫語言。在使用它時,只需要發(fā)出“做什么”的命令,而“怎么做”則不用使用者考慮。SQL的功能強大、簡單易學、使用方便,已經(jīng)成為數(shù)據(jù)庫操作的基礎(chǔ),并且現(xiàn)在幾乎所有的數(shù)據(jù)庫均支持SQL?! ?) SQL數(shù)據(jù)庫的數(shù)據(jù)體系結(jié)構(gòu)  SQL數(shù)據(jù)庫的數(shù)據(jù)體系結(jié)構(gòu)基本上是三級結(jié)構(gòu),但使用的術(shù)語與傳統(tǒng)關(guān)系模型的術(shù)語不同。在SQL中,關(guān)系模式(模式)稱為“基本表”(

58、base table),存儲模式(內(nèi)模式)稱為“存儲文件”(stored file),子模式(外模式)稱為“視圖”(view),元組稱為“行”(row),屬性稱為“列”(column)。,6.2 關(guān)系數(shù)據(jù)庫,6.2.3 SQL語言簡介2) SQL語言的組成 ① 一個SQL數(shù)據(jù)庫是表(Table)的集合,它由一個或多個SQL模式定義。 ② 一個SQL表由行若干行構(gòu)成,—行是列的序列(集合),每列與行對應(yīng)—個數(shù)據(jù)項。

59、 ③ 一個表或者是一個基本表,或者是一個視圖?;颈硎菍嶋H存儲在數(shù)據(jù)庫的表,而視圖是由若干基本表或其他視圖構(gòu)成的表的定義。 ④ 一個基本表可以跨一個或多個存儲文件,一個存儲文件也可存放一個或多個基本表。每個存儲文件與外存上的—個物理文件對應(yīng)。,6.2 關(guān)系數(shù)據(jù)庫,6.2.3 SQL語言簡介2) SQL語言的組成 ⑤ 用戶可以用SQL語句對視圖和基本表進行查詢等操作。從用戶角度看,視圖和基本表是一樣的,沒有區(qū)別,

60、都是關(guān)系(表格)。 ⑥ SQL用戶可以是應(yīng)用程序,也可以是終端用戶。SQL語句可嵌入在宿主語言的程序中使用,宿主語言有FORTRAN、COBOL、PASCAL、PL/1、C和Ada語言等。SQL用戶也能作為獨立的用戶接口,供交互環(huán)境下的終端用戶使用。,6.2 關(guān)系數(shù)據(jù)庫,6.2.3 SQL語言簡介3) 對數(shù)據(jù)庫進行操作 SQL包括了所有對數(shù)據(jù)庫的操作,主要由以下4個部分組成: ① 數(shù)據(jù)定義:這一部分又稱為“S

61、QL DDL(Data Definition Language)”,指定義數(shù)據(jù)庫的邏輯結(jié)構(gòu),包括定義數(shù)據(jù)庫、基本表、視圖和索引四個部分。 ② 數(shù)據(jù)操作:這一部分又稱為“SQL DML(Data Manipulation Language)”,其中包括數(shù)據(jù)查詢和數(shù)據(jù)更新兩大類操作,其中數(shù)據(jù)更新又包括插入、刪除和更新三種操作。 ③ 數(shù)據(jù)控制:對用戶訪問數(shù)據(jù)的控制有基本表和視圖的授權(quán)、完整性規(guī)則的描述、事務(wù)控制語句等。

62、 ④ 嵌入式SQL語言的使用規(guī)定:規(guī)定SQL語句在宿主語言的程序中使用的規(guī)則。,6.2 關(guān)系數(shù)據(jù)庫,6.2.3 SQL語言簡介4) SQL語言的優(yōu)點 使用SQL語言有如下優(yōu)點: ① 非過程化語言 ?、?統(tǒng)—的語言  SQL為許多任務(wù)提供了命令,其中包括: ● 查詢數(shù)據(jù); ● 在表中插入、修改和刪除記錄; ● 建立、修改和刪除數(shù)據(jù)對象; ● 控制對數(shù)據(jù)和數(shù)據(jù)對象的存??; ●

63、保證數(shù)據(jù)庫一致性和完整性。 ③ 是所有關(guān)系數(shù)據(jù)庫的公共語言,6.2 關(guān)系數(shù)據(jù)庫,6.2.3 SQL語言簡介,SQL語言的動詞,6.1 數(shù)據(jù)庫系統(tǒng)概述 6.2 關(guān)系數(shù)據(jù)庫 6.3 常見數(shù)據(jù)庫管理系統(tǒng)6.4 管理信息系統(tǒng),,第6章 數(shù)據(jù)庫原理與技術(shù)基礎(chǔ),6.3 常見數(shù)據(jù)庫管理系統(tǒng),6.3.1 小型數(shù)據(jù)庫 1) Access  Access是Office辦公套件中一個極為重要的組成部分。剛開始時微軟公司是將

64、Access單獨作為一個產(chǎn)品進行銷售的,后來微軟發(fā)現(xiàn)如果將Access捆綁在Office中一起發(fā)售,將帶來更加可觀的利潤,于是第一次將Access捆綁到Office 97中,成為Office套件中的一個重要成員?,F(xiàn)在它已經(jīng)成為Office辦公套件中不可缺少的部件了。自從1992年開始銷售以來,Access 已經(jīng)賣出了超過6000萬份,現(xiàn)在它已經(jīng)成為世界上最流行的桌面數(shù)據(jù)庫管理系統(tǒng)。  后來微軟公司通過大量地改進,將Access的新版本

65、功能變得更加強大。不管是處理公司的客戶訂單數(shù)據(jù)、管理自己的個人通訊錄,還是大量科研數(shù)據(jù)的記錄和處理,人們都可以利用它來解決大量數(shù)據(jù)的管理工作。,6.3 常見數(shù)據(jù)庫管理系統(tǒng),6.3.1 小型數(shù)據(jù)庫2) Xbase系列  數(shù)據(jù)庫理論的研究在20世紀70年代后期進入較為成熟的階段,隨著80年代初IBM/PC及其兼容機的廣泛使用,數(shù)據(jù)庫產(chǎn)品的代表作之一、Ashton-Tate公司開發(fā)的dBASE很快進入微機世界,成為一個相當普遍而且受歡迎

66、的數(shù)據(jù)庫管理系統(tǒng)。用戶只需鍵入簡單的命令,即可輕易完成數(shù)據(jù)庫的建立、增添、修改、查詢、索引以及產(chǎn)生報表或標簽,或者利用其程序語言開發(fā)應(yīng)用系統(tǒng)程序。由于它易于使用,功能較強,很快成為80年代中期的主導數(shù)據(jù)庫系統(tǒng)(極盛時期曾在個人計算機的數(shù)據(jù)庫管理系統(tǒng)市場上的占有率高達80-85%)。繼dBASE II 之后,dBASE III,dBASE III Plus 以及dBASE IV相繼誕生,其功能逐漸增強。,6.3 常見數(shù)據(jù)庫管理系統(tǒng),6.3

67、.1 小型數(shù)據(jù)庫2) Xbase系列  但是,dBASE存在的一些缺陷使其應(yīng)用受到越來越大的限制。首先,它運行速度慢,這在建立大型數(shù)據(jù)庫時顯得尤為突出。其次,早期的dBASE不帶編譯器,僅是解釋執(zhí)行,后來雖然增加了編譯器,但編譯與解釋執(zhí)行時存在許多差異。再就是它的設(shè)計標準,隨著dBASE增強版本的出現(xiàn),由于各版本之間不相兼容,其標準變得越來越模糊,Ashton-Tate公司不再定義dBASE標準,就連dBASE IV本身也未按標準

68、設(shè)計。后來,人們常用Xbase來表示各種數(shù)據(jù)庫管理系統(tǒng)的程序設(shè)計語言。,6.3 常見數(shù)據(jù)庫管理系統(tǒng),6.3.1 小型數(shù)據(jù)庫2) Xbase系列  1986年,與dBASE III Plus兼容的FoxBASE+推出后不久,F(xiàn)oxPro/LAN也投入市場,一時間引起轟動。   1987年之后相繼推出了FoxBASE+ 2.0和2.10,這兩個產(chǎn)品不僅速度上超越其前期產(chǎn)品,而且還擴充了對開發(fā)者極其有用的語言,并提供了良好的界面和

溫馨提示

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

評論

0/150

提交評論