數(shù)據(jù)庫基本概念_第1頁
數(shù)據(jù)庫基本概念_第2頁
數(shù)據(jù)庫基本概念_第3頁
數(shù)據(jù)庫基本概念_第4頁
數(shù)據(jù)庫基本概念_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、數(shù)據(jù)庫基本概念v數(shù)據(jù)數(shù)據(jù)(Data) 數(shù)據(jù)是描述現(xiàn)實(shí)世界事物的符號(hào)記錄,是用物理符號(hào)記錄的可以鑒別的信息。包括文字、圖形、聲音等,他們都是用來描述事物特性的。 v數(shù)據(jù)與信息的聯(lián)系與區(qū)別如下。數(shù)據(jù)與信息的聯(lián)系與區(qū)別如下。數(shù)據(jù)客觀實(shí)體的屬性值,是信息的載體;但不是所有的數(shù)據(jù)都能表示信息,信息是人們消化了的數(shù)據(jù)。信息是抽象的,不隨數(shù)據(jù)設(shè)備所決定的數(shù)據(jù)形式而改變;而數(shù)據(jù)的表示方式卻具有可選擇性。信息與數(shù)據(jù)緊密相關(guān),信息提供現(xiàn)實(shí)世界中有關(guān)事物的知識(shí),數(shù)據(jù)是載荷信息的物理符號(hào)。1.1 數(shù)據(jù)庫基本概念數(shù)據(jù)庫基本概念1.1 數(shù)據(jù)庫基本概念數(shù)據(jù)庫基本概念 數(shù)據(jù) 數(shù)據(jù)存儲(chǔ) 處理過程 信息 圖1-1 數(shù)據(jù)與信息的關(guān)

2、系1.1 數(shù)據(jù)庫基本概念數(shù)據(jù)庫基本概念v 數(shù)據(jù)處理數(shù)據(jù)處理 數(shù)據(jù)處理是對(duì)各種類型的數(shù)據(jù)進(jìn)行收集、存儲(chǔ)、分類、計(jì)算、加工、檢索與傳輸?shù)倪^程。包括:收集原始數(shù)據(jù)、編碼轉(zhuǎn)換、數(shù)據(jù)輸入、數(shù)據(jù)處理、數(shù)據(jù)輸出等。v 數(shù)據(jù)庫數(shù)據(jù)庫(DataBase,簡(jiǎn)記為,簡(jiǎn)記為DB) 數(shù)據(jù)庫是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)、有組織的、可共享的數(shù)據(jù)集合。它不僅包括數(shù)據(jù)本身,而且包括相關(guān)數(shù)據(jù)之間的聯(lián)系。數(shù)據(jù)庫技術(shù)主要研究如何存儲(chǔ)、使用和管理數(shù)據(jù)。這種集合具有如下特點(diǎn): 最小的冗余度 應(yīng)用程序?qū)?shù)據(jù)資源共享 數(shù)據(jù)獨(dú)立性高 統(tǒng)一管理和控制1.1 數(shù)據(jù)庫基本概念數(shù)據(jù)庫基本概念v1.1.2 數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)v數(shù)據(jù)庫應(yīng)用系統(tǒng)數(shù)據(jù)庫應(yīng)用系統(tǒng) 數(shù)

3、據(jù)庫應(yīng)用系統(tǒng)是指系統(tǒng)開發(fā)人員利用數(shù)據(jù)庫系統(tǒng)資源開發(fā)出來的,面向某一類實(shí)際應(yīng)用的應(yīng)用軟件系統(tǒng)。例如:財(cái)務(wù)管理系統(tǒng),人事管理系統(tǒng)等等。 v數(shù)據(jù)庫管理系統(tǒng)(數(shù)據(jù)庫管理系統(tǒng)(DBMS) 數(shù)據(jù)庫管理系統(tǒng)是維護(hù)和管理數(shù)據(jù)庫的軟件,是位于用戶與操作系統(tǒng)之間的一個(gè)數(shù)據(jù)管理軟件。它的基本功能包括以下幾個(gè)方面:數(shù)據(jù)定義功能數(shù)據(jù)定義功能 用戶通過數(shù)據(jù)定義語言對(duì)數(shù)據(jù)庫中的數(shù)據(jù)對(duì)象進(jìn)行定義。數(shù)據(jù)操縱功能數(shù)據(jù)操縱功能 用戶可以使用數(shù)據(jù)操縱語言操縱數(shù)據(jù),如查詢、插入、刪除和修改。數(shù)據(jù)庫的運(yùn)行管理功能數(shù)據(jù)庫的運(yùn)行管理功能 數(shù)據(jù)庫在建立、運(yùn)行和維護(hù)時(shí)由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理和控制。數(shù)據(jù)庫的建立和維護(hù)功能數(shù)據(jù)庫的建立和維護(hù)功能

4、它包括數(shù)據(jù)庫初始數(shù)據(jù)的輸入、轉(zhuǎn)換功能,數(shù)據(jù)庫的轉(zhuǎn)儲(chǔ)、恢復(fù)功能等。1.1 數(shù)據(jù)庫基本概念數(shù)據(jù)庫基本概念 v 數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫系統(tǒng)的組成 數(shù)據(jù)庫系統(tǒng)由5部分組成:硬件系統(tǒng)、數(shù)據(jù)庫集合、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用系統(tǒng)和人員。其中,人員包括:數(shù)據(jù)庫管理員、系統(tǒng)分析員、數(shù)據(jù)庫設(shè)計(jì)員、應(yīng)用程序員和最終用戶等。其中,數(shù)據(jù)庫管理員是對(duì)數(shù)據(jù)庫進(jìn)行規(guī)劃、設(shè)計(jì)、維護(hù)、監(jiān)視等的專業(yè)人員。 計(jì)算機(jī)硬件:包括CPU、內(nèi)存、顯示器、磁盤、及其外部設(shè)備。要求要有足夠大的內(nèi)存、足夠大的磁盤、系統(tǒng)有較高的通道能力。軟件:DBMS、支持DBMS運(yùn)行的操作系統(tǒng)、應(yīng)用開發(fā)工具等。 應(yīng) 用 程 序 應(yīng) 用 開 發(fā) 工 具 數(shù) 據(jù) 庫 管

5、 理 系 統(tǒng) (D B M S ) 操 作 系 統(tǒng) (O S ) 數(shù) 據(jù) 庫 D B A 用 戶 用 戶 圖2數(shù)據(jù)庫系統(tǒng)的組成 1.1 數(shù)據(jù)庫基本概念數(shù)據(jù)庫基本概念1.1 數(shù)據(jù)庫基本概念數(shù)據(jù)庫基本概念1.1.3 數(shù)據(jù)庫技術(shù)的發(fā)展數(shù)據(jù)庫技術(shù)的發(fā)展 數(shù)據(jù)管理技術(shù)的發(fā)展經(jīng)歷了人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)3個(gè)階段。v人工管理階段人工管理階段 這一階段是指20世紀(jì)50年代中期以前,計(jì)算機(jī)主要用于科學(xué)計(jì)算,當(dāng)時(shí)的計(jì)算機(jī)硬件狀況是:外存只有磁帶、卡片、紙帶,沒有磁盤等直接存取的存儲(chǔ)設(shè)備;軟件狀況是:沒有操作系統(tǒng),沒有管理數(shù)據(jù)的軟件,數(shù)據(jù)處理方式是批處理。人工管理階段的特點(diǎn)是:數(shù)據(jù)不保存、數(shù)據(jù)無專門軟件進(jìn)行

6、管理、數(shù)據(jù)不共享、數(shù)據(jù)不具有獨(dú)立性、數(shù)據(jù)無結(jié)構(gòu)。v文件系統(tǒng)階段文件系統(tǒng)階段 這一階段從20世紀(jì)50年代后期到60年代中期,計(jì)算機(jī)硬件和軟件都有了一定的發(fā)展。計(jì)算機(jī)不僅用于科學(xué)計(jì)算,還大量用于管理。這時(shí)硬件方面已經(jīng)有了磁盤、磁鼓等直接存取的存儲(chǔ)設(shè)備。在軟件方面,操作系統(tǒng)中已經(jīng)有了數(shù)據(jù)管理軟件,一般稱為文件系統(tǒng)。處理方式上不僅有了文件批處理,而且能夠聯(lián)機(jī)實(shí)時(shí)處理1.1 數(shù)據(jù)庫基本概念數(shù)據(jù)庫基本概念v數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段 20世紀(jì)60年代末數(shù)據(jù)管理進(jìn)入新時(shí)代數(shù)據(jù)庫系統(tǒng)階段。數(shù)據(jù)庫系統(tǒng)階段出現(xiàn)了統(tǒng)一管理數(shù)據(jù)的專門軟件系統(tǒng),即數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫系統(tǒng)是一種較完善的高級(jí)數(shù)據(jù)管理方式,也是當(dāng)今數(shù)據(jù)

7、管理的主要方式,獲得了廣泛的應(yīng)用。 分布式數(shù)據(jù)庫系統(tǒng)階段分布式數(shù)據(jù)庫系統(tǒng)階段 分布式數(shù)據(jù)庫系統(tǒng)是由若干個(gè)站集合而成。這些站又稱為節(jié)點(diǎn),它們?cè)谕ㄓ嵕W(wǎng)絡(luò)中聯(lián)接在一起,每個(gè)節(jié)點(diǎn)都是一個(gè)獨(dú)立的數(shù)據(jù)庫系統(tǒng),它們都擁有各自的數(shù)據(jù)庫、中央處理機(jī)、終端,以及各自的局部數(shù)據(jù)庫管理系統(tǒng)。因此分布式數(shù)據(jù)庫系統(tǒng)可以看作是一系列集中式數(shù)據(jù)庫系統(tǒng)的聯(lián)合。它們?cè)谶壿嬌蠈儆谕幌到y(tǒng),但在物理結(jié)構(gòu)上是分布式的。 面向?qū)ο髷?shù)據(jù)庫系統(tǒng)面向?qū)ο髷?shù)據(jù)庫系統(tǒng) 面向?qū)ο缶幊蹋∣bject Oriented Programming,OOP,面向?qū)ο蟪绦蛟O(shè)計(jì))是一種計(jì)算機(jī)編程架構(gòu)。OOP 的一條基本原則是計(jì)算機(jī)程序是由單個(gè)能夠起到子程序作用的

8、單元或?qū)ο蠼M合而成。OOP 達(dá)到了軟件工程的三個(gè)主要目標(biāo):重用性、靈活性和擴(kuò)展性。面向?qū)ο髷?shù)據(jù)庫吸收了面向?qū)ο蟪绦蛟O(shè)計(jì)方法的核心概念和基本思想,采用面向?qū)ο蟮挠^點(diǎn)來描述現(xiàn)實(shí)世界實(shí)體(對(duì)象)的邏輯組織、對(duì)象之間的限制和聯(lián)系等 。1.2 數(shù)據(jù)庫管理的實(shí)現(xiàn)1.2.1 1.2.1 三個(gè)世界的轉(zhuǎn)化三個(gè)世界的轉(zhuǎn)化v現(xiàn)實(shí)世界現(xiàn)實(shí)世界 數(shù)據(jù)庫管理的對(duì)象存在于現(xiàn)實(shí)世界中,現(xiàn)實(shí)世界中的事物存在著各種各樣的聯(lián)系。這種聯(lián)系是客觀存在的,是由事物本身的性質(zhì)決定的。例如,學(xué)校考務(wù)管理系統(tǒng)中有老師、學(xué)生、課程、教室等構(gòu)成元素。v概念世界概念世界 概念世界也叫做信息世界,是現(xiàn)實(shí)世界在人們頭腦中的反映,是對(duì)客觀事物及其聯(lián)系的一

9、種抽象描述。從現(xiàn)實(shí)世界到概念世界是通過概念模型來表達(dá)的。如對(duì)學(xué)生的描述可分為:學(xué)號(hào)、姓名、班級(jí)、籍貫、性別等概念。v數(shù)據(jù)世界數(shù)據(jù)世界 存入計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)是將概念世界中的事物數(shù)據(jù)化的結(jié)果。為準(zhǔn)確地反映事物本身及事物之間的各種聯(lián)系,數(shù)據(jù)庫中的數(shù)據(jù)一定存在一個(gè)結(jié)構(gòu),數(shù)據(jù)模型可用來準(zhǔn)確描述這種結(jié)構(gòu)。 在實(shí)現(xiàn)數(shù)據(jù)庫管理,也就是三個(gè)世界的轉(zhuǎn)化過程中,概念模型和數(shù)據(jù)模型是實(shí)現(xiàn)現(xiàn)實(shí)世界數(shù)據(jù)化的橋梁,是對(duì)現(xiàn)實(shí)世界中的事物進(jìn)行抽象的工具。 1.2 數(shù)據(jù)庫管理的實(shí)現(xiàn) 三個(gè)世界的轉(zhuǎn)化過程示意圖三個(gè)世界的轉(zhuǎn)化過程示意圖 1.2 數(shù)據(jù)庫管理的實(shí)現(xiàn)1.2.2 1.2.2 數(shù)據(jù)模型數(shù)據(jù)模型 v模型概念模型概念 模型(mod

10、el):一般而言,模型是現(xiàn)實(shí)世界某些特征的模擬和抽象,分為實(shí)物模型與抽象模型。建筑模型,汽車模型,飛機(jī)模型等都是實(shí)物模型,它們通常是客觀事物的某些外觀特征或者功能的模擬與刻畫;數(shù)學(xué)模型s=r2是一種抽象模型,它抽象描述了園的面積和園的半徑之間的數(shù)量關(guān)系,揭示客觀事物的某些本質(zhì)的、內(nèi)部的特征。v數(shù)據(jù)模型數(shù)據(jù)模型 在實(shí)現(xiàn)數(shù)據(jù)庫管理的過程中,數(shù)據(jù)模型起著關(guān)鍵作用。整個(gè)數(shù)據(jù)庫技術(shù)的發(fā)展就是沿著數(shù)據(jù)模型的主線展開的。現(xiàn)有的數(shù)據(jù)庫均是基于某種數(shù)據(jù)模型,了解數(shù)據(jù)模型的基本概念是學(xué)習(xí)數(shù)據(jù)庫的基礎(chǔ)。根據(jù)模型應(yīng)用的不同目的,可以將這些模型劃分為兩類,他們分屬于兩個(gè)不同的層次。v 第一類模型是概念模型,也稱信息模型

11、。它是按用戶的觀點(diǎn)來對(duì)數(shù)據(jù)和信息建模,主要用于數(shù)據(jù)庫設(shè)計(jì)。v 另一類模型是數(shù)據(jù)模型,主要包括網(wǎng)狀模型、層次模型、關(guān)系模型等,它是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)建模,主要用于DBMS的實(shí)現(xiàn),這種數(shù)據(jù)模型也叫結(jié)構(gòu)數(shù)據(jù)模型。1.2 數(shù)據(jù)庫管理的實(shí)現(xiàn)v數(shù)據(jù)模型的要素:數(shù)據(jù)模型的要素:v數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)結(jié)構(gòu)是所研究的對(duì)象類型的集合,這些對(duì)象是數(shù)據(jù)庫的組成成分,它們包括兩類,一類是與數(shù)據(jù)類型、內(nèi)容、性質(zhì)有關(guān)的對(duì)象;一類是與數(shù)據(jù)之間聯(lián)系有關(guān)的對(duì)象。v數(shù)據(jù)操作數(shù)據(jù)操作 數(shù)據(jù)操作是指對(duì)數(shù)據(jù)庫中各種對(duì)象的(型)的實(shí)例(值)允許執(zhí)行的操作的集合,包括操作及有關(guān)的操作規(guī)則。數(shù)據(jù)庫主要有檢索和更新(包括插入、刪除、修改

12、)兩大類操作,數(shù)據(jù)模型必須定義這些操作的確切含義、操作符號(hào)、操作規(guī)則(如優(yōu)先級(jí))以及實(shí)現(xiàn)操作的語言。數(shù)據(jù)操作是對(duì)系統(tǒng)動(dòng)態(tài)特性的描述。v數(shù)據(jù)的約束條件數(shù)據(jù)的約束條件 數(shù)據(jù)約束條件是一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。如:入學(xué)年齡不超過30歲,成績(jī)不得有三門以上不及格等。1.2 數(shù)據(jù)庫管理的實(shí)現(xiàn)v1.2.3 1.2.3 概念模型概念模型v概念模型的相關(guān)概念概念模型的相關(guān)概念v(1)實(shí)體(Entity):客觀存在并相互區(qū)別的事物及其事物之間的聯(lián)系。例如,一個(gè)學(xué)生、一門課程、

13、學(xué)生的一次選課、一次考試等都是實(shí)體。v(2)屬性(Attribute):實(shí)體所具有的某一特性。例如,學(xué)生的學(xué)號(hào)、姓名、性別、出生年份、系、入學(xué)時(shí)間等。v(3)碼(Key):唯一標(biāo)示實(shí)體的屬性集。例如,學(xué)號(hào)是學(xué)生實(shí)體的碼。v(4)域(Domain):屬性的取值范圍。例如,年齡的域?yàn)?5至35之間。v(5)實(shí)體型(Entity Type):用實(shí)體名及其屬性名集合來抽象和刻畫同類實(shí)體,稱為實(shí)體型。例如,學(xué)生(學(xué)號(hào),姓名,性別,出生年份,系,入學(xué)時(shí)間)就是一個(gè)實(shí)體型。v(6)實(shí)體集(Entity Set):同型實(shí)體的集合稱為實(shí)體集。如,全體學(xué)生就是一個(gè)實(shí)體集。v(7)聯(lián)系(Relationship):

14、實(shí)體與實(shí)體之間以及實(shí)體與組成它的各屬性間的關(guān)系。1.2 數(shù)據(jù)庫管理的實(shí)現(xiàn)v實(shí)體間聯(lián)系的三種情況實(shí)體間聯(lián)系的三種情況 (1)一對(duì)一聯(lián)系(1 : 1) 如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中至少有一個(gè)(也可以沒有)實(shí)體與之聯(lián)系,反之亦然,則稱實(shí)體集A與實(shí)體集B具有一對(duì)一聯(lián)系,記為1:1。例如,一個(gè)學(xué)生只能有一個(gè)學(xué)號(hào),而一個(gè)學(xué)號(hào)只能指向一個(gè)學(xué)生,則學(xué)生與學(xué)號(hào)之間具有一對(duì)一聯(lián)系。 (2)一對(duì)多聯(lián)系(1 : n ) 如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有個(gè)n實(shí)體(n0)之聯(lián)系,反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中至多只有一個(gè)實(shí)體與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B有一對(duì)多聯(lián)系,記為1 :

15、n 。例如,一個(gè)班級(jí)中有若干名學(xué)生,而每個(gè)學(xué)生只在一個(gè)班級(jí)中學(xué)習(xí),則班級(jí)與學(xué)生之間具有一對(duì)多聯(lián)系。 (3)多對(duì)多聯(lián)系(m : n) 如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n 個(gè)實(shí)體(n0)與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中也有m 個(gè)實(shí)體(m0)與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B具有多對(duì)多聯(lián)系,記為m : n 。例如,一門課程同時(shí)有若干個(gè)學(xué)生選修,而一個(gè)學(xué)生可以同時(shí)選修多門課程,則課程與學(xué)生之間具有多對(duì)多聯(lián)系。 注意:實(shí)際上,一對(duì)一聯(lián)系是一對(duì)多聯(lián)系的特例,而一對(duì)多聯(lián)系又是多對(duì)多聯(lián)系的特例。 1.2 數(shù)據(jù)庫管理的實(shí)現(xiàn)v概念模型的表示方法概念模型的表示方法v概念模型的表示方法

16、很多,最常用的是實(shí)體聯(lián)系方法。該方法用E-R(EntityRelationship Approch) 圖來描述現(xiàn)實(shí)世界的概念模型。vE-R圖提供了表示實(shí)體型、屬性和聯(lián)系的方法。E-R圖有三個(gè)要素:v(1)實(shí)體型:用矩形表示,矩形框內(nèi)寫明實(shí)體名。v(2)屬 性:用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體連接起來。v(3)聯(lián) 系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型(1:1,1:n或m:n)。 1.2 數(shù)據(jù)庫管理的實(shí)現(xiàn)1.2 數(shù)據(jù)庫管理的實(shí)現(xiàn)v1.2.4 1.2.4 數(shù)據(jù)模型數(shù)據(jù)模型v 這里講的數(shù)據(jù)模型是在概念級(jí)的模型(概念模型)的基礎(chǔ)上形成

17、的,為計(jì)算機(jī)上某一DBMS支持的數(shù)據(jù)模型。本書主要介紹前三種模型。v層次模型層次模型v若用圖來表示,層次模型是一棵倒立的樹。在數(shù)據(jù)庫中,滿足以下條件的數(shù)據(jù)模型稱為層次模型: 有且僅有一個(gè)結(jié)點(diǎn)無父結(jié)點(diǎn),這個(gè)結(jié)點(diǎn)稱為根結(jié)點(diǎn); 其他結(jié)點(diǎn)有且僅有一個(gè)父結(jié)點(diǎn)。1.2 數(shù)據(jù)庫管理的實(shí)現(xiàn)v網(wǎng)狀模型網(wǎng)狀模型 在現(xiàn)實(shí)世界中,事物之間的聯(lián)系更多的是非層次關(guān)系的,用層次模型表示非樹型結(jié)構(gòu)是很不直接的,網(wǎng)狀模型則可以克服這一弊病。網(wǎng)狀模型是一個(gè)網(wǎng)絡(luò)。在數(shù)據(jù)庫中,滿足以下兩個(gè)條件的數(shù)據(jù)模型稱為網(wǎng)狀模型。 允許一個(gè)以上的結(jié)點(diǎn)無父結(jié)點(diǎn); 一個(gè)結(jié)點(diǎn)可以有多于一個(gè)的父結(jié)點(diǎn)。 從以上定義看出,網(wǎng)狀模型構(gòu)成了比層次結(jié)構(gòu)復(fù)雜的網(wǎng)狀結(jié)

18、構(gòu),適宜表示多對(duì)多的聯(lián)系。網(wǎng)狀模型和網(wǎng)頁上的“超鏈接數(shù)據(jù)”模式有類似之處。1.2 數(shù)據(jù)庫管理的實(shí)現(xiàn)v關(guān)系模型關(guān)系模型 v以二維表的形式表示實(shí)體和實(shí)體之間聯(lián)系的數(shù)據(jù)模型稱為關(guān)系數(shù)據(jù)模型。從模型的三要素角度看,關(guān)系模型的內(nèi)容為:v數(shù)據(jù)結(jié)構(gòu):一張二維表格。v數(shù)據(jù)操作:數(shù)據(jù)表的定義,檢索、維護(hù)、計(jì)算等。v數(shù)據(jù)約束條件:表中列的取值范圍即域值的限制條件。v關(guān)系模型的幾個(gè)常見概念: (1)關(guān)系:一個(gè)關(guān)系就是一張二維表,每個(gè)關(guān)系都有一個(gè)關(guān)系名,即數(shù)據(jù)表名。 (2)元組:表中的行稱為元組,一行就是一個(gè)元組,對(duì)應(yīng)表中一條記錄。 (3)屬性:表中的列稱為屬性,即字段。字段名稱為屬性名,字段值稱為屬性值。 (4)域

19、: 屬性的取值范圍,如,分?jǐn)?shù)在0100之間。 (5)關(guān)鍵字:表中的一個(gè)屬性(組),它的值可以唯一地標(biāo)志一個(gè)元組。如:學(xué)號(hào)。 (6)候選碼:表中的某一個(gè)屬性,它的值可以唯一地標(biāo)志一個(gè)元組。一個(gè)表中可能有多個(gè)候選碼,選擇一個(gè)作為主鍵,主鍵的屬性稱為主屬性。 (7) 外關(guān)鍵字:如果一個(gè)關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它們是另外一個(gè)關(guān)系的關(guān)鍵字,則稱其為該關(guān)系的外關(guān)鍵字。1.2 數(shù)據(jù)庫管理的實(shí)現(xiàn)關(guān)系模型:1.2 數(shù)據(jù)庫管理的實(shí)現(xiàn)v關(guān)系模型的完整性關(guān)系模型的完整性 關(guān)系模型對(duì)數(shù)據(jù)數(shù)據(jù)一般都具有一定的限制,這種限制稱為完整性或完整性約束。關(guān)系模型的完整性是保證關(guān)系數(shù)據(jù)表正確的關(guān)鍵。關(guān)系模型支持實(shí)

20、體完整性約束、參照完整性約束和域約束3種完整性約束。v(1)實(shí)體完整性約束 假設(shè)A是一個(gè)表R的主鍵,則A不能接收空值,即單列主鍵的值不能為空,復(fù)合主鍵的任何列也不能接收空值。例如,在學(xué)生信息表中,“學(xué)號(hào)”為該表的主鍵,那么在數(shù)據(jù)庫的任何記錄中,“學(xué)號(hào)”列的值都不能為空。這樣的約束稱為實(shí)體完整性約束。v(2)參照完整性約束 參照完整性約束關(guān)心的是邏輯相關(guān)的表中值與值之間的關(guān)系。假設(shè)X是一個(gè)表A的主鍵,在表B中是外鍵,那么若K是表B中一個(gè)外部鍵值,則表A中必然存在在X上的值為K的記錄。例如,“系編碼”是院系信息表的主鍵,而在學(xué)生信息表中是相對(duì)于院系信息表的外鍵(學(xué)生信息表中的主關(guān)鍵字是由“學(xué)號(hào)”和

21、“系編碼”組合而成),對(duì)于學(xué)生信息表的任何記錄,其所包含的“系編碼”的值,在院系信息表的“系編碼”列中必然存在一個(gè)相同的值。這樣的約束稱為參照完整性約束。v 1.2 數(shù)據(jù)庫管理的實(shí)現(xiàn)1.2 數(shù)據(jù)庫管理的實(shí)現(xiàn)v(3)域約束 域是邏輯相關(guān)的值的集合,從域中可以得出特定列的值。 例如,在學(xué)生信息表中:v“出生日期”域的值必須按照特定的統(tǒng)一格式存放,而不能有時(shí)用:格式,有時(shí)用:12/23/1986格式,造成數(shù)據(jù)混亂;v“學(xué)生名字”、“院系名稱”等域的值必須屬于字符集合;v對(duì)于“性別”,該域中的值必須局限于男、女等。 返 回 首 頁返 回 首 頁1.2 數(shù)據(jù)庫管理的實(shí)現(xiàn)v1.2.5 1.2.5 關(guān)系運(yùn)算

22、關(guān)系運(yùn)算v關(guān)系的基本運(yùn)算有兩類:傳統(tǒng)的集合運(yùn)算和專門的關(guān)系運(yùn)算。v 傳統(tǒng)的集合運(yùn)算傳統(tǒng)的集合運(yùn)算v(1)并(Union):設(shè)有兩個(gè)關(guān)系R和S,它們具有相同的結(jié)構(gòu)。R和S的并是由屬于R或?qū)儆赟的元組組成的集合,運(yùn)算符為。v例如:設(shè)每個(gè)班有一個(gè)學(xué)生關(guān)系R1,R2,R3,則全校學(xué)生關(guān)系T是: T= R1 R2 R3 v(2)差 (Difference) :設(shè)有兩個(gè)關(guān)系R和S,它們具有相同的結(jié)構(gòu)。R和S的差是由屬于R但不屬于S的元組組成的集合。運(yùn)算符為。v例如:設(shè)有參加計(jì)算機(jī)小組的學(xué)生關(guān)系,參加橋牌小組的學(xué)生關(guān)系。求參加了計(jì)算機(jī) 小組但沒有參加橋牌小組的學(xué)生。結(jié)果放在關(guān)系1中,則 T1=R-S。v(3

23、)交(Intersection):設(shè)有兩個(gè)關(guān)系R和S,它們具有相同的結(jié)構(gòu)。R和S的交是由既屬于R又屬于S的元組組成的集合,運(yùn)算符為。交運(yùn)算的結(jié)果是R和S的共同元組。v例如:設(shè)有參加計(jì)算機(jī)小組的學(xué)生關(guān)系,參加橋牌小組的學(xué)生關(guān)系。求既參加了計(jì)算機(jī)小組又參加橋牌小組的學(xué)生。結(jié)果放在關(guān)系2中,則2 =R S。關(guān)系的交可以用關(guān)系的差來表示。即RS= R-(R S),所以,上式也可以寫成:2 =R-(R S)。返 回 首 頁返 回 首 頁1.2 數(shù)據(jù)庫管理的實(shí)現(xiàn)v專門的關(guān)系運(yùn)算專門的關(guān)系運(yùn)算v(1)選擇( Selection ):按照給定條件從指定的關(guān)系中挑選出滿足條件的元組構(gòu)成新的關(guān)系,其關(guān)系模式不變,但其中元組的數(shù)目小于等于原來的關(guān)系中元組的個(gè)數(shù),它是原關(guān)系的一個(gè)子集。這是從行的角度進(jìn)行的運(yùn)算,即水平方向抽取元組。(2)投影(projection):從指定的關(guān)系中挑選出某些屬性構(gòu)成新的關(guān)系,其關(guān)系模式所包含的屬性個(gè)數(shù)往往比原關(guān)系少,或者屬性的排列順序不同。投影的結(jié)果將取消由于取消了某些列而產(chǎn)生的重復(fù)元組。v例如:設(shè)有讀者關(guān)系

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論