第1章 數(shù)據(jù)庫原理基礎知識_第1頁
第1章 數(shù)據(jù)庫原理基礎知識_第2頁
第1章 數(shù)據(jù)庫原理基礎知識_第3頁
第1章 數(shù)據(jù)庫原理基礎知識_第4頁
第1章 數(shù)據(jù)庫原理基礎知識_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Access數(shù)據(jù)庫程序設計

9

第1章數(shù)據(jù)庫原理基礎知識

■1.1數(shù)據(jù)庫系統(tǒng)概述

?1.2關系數(shù)據(jù)庫的基本概念;

■1.3關系數(shù)據(jù)庫標準語言SQL

■1.4ACCESS概述

2

1.1數(shù)據(jù)庫系統(tǒng)概述

■數(shù)據(jù)庫技術產生于六十年代末,是數(shù)據(jù)管

理的最新技術,是計算機科學的重要分支

■數(shù)據(jù)庫技術是信息系統(tǒng)的核心和基礎,它

的出現(xiàn)極大地促進了計算機應用向各行各

業(yè)的滲透

3

1.1.1數(shù)據(jù)庫常用術語

DBMS的主要功能:

(D數(shù)據(jù)定義功能:對數(shù)據(jù)庫中數(shù)據(jù)對象進行定義

(2)數(shù)據(jù)操縱功能:實現(xiàn)對數(shù)據(jù)庫的基本操作,如查

詢、插入、刪除和修改等。

(3)數(shù)據(jù)庫的運行管理

數(shù)據(jù)庫在建立、運用和維護時由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)

一管理、統(tǒng)一控制,以保證數(shù)年的安全性、完整性、

多用戶對數(shù)據(jù)的并發(fā)使用及發(fā)生故障后的系統(tǒng)恢復。

(4)數(shù)據(jù)庫的建立和維護功能

包括數(shù)據(jù)庫初始數(shù)據(jù)的輸入、轉換功能。數(shù)據(jù)庫的

轉儲、恢復功能,數(shù)據(jù)庫的重組織功能和性能監(jiān)視、

分析功能莓。這些功能通常由一魚實用程序鳧成。

4

1.1.2數(shù)據(jù)管理的發(fā)展歷程

-什么是數(shù)據(jù)管理;;;;;)?

?對數(shù)據(jù)進行分類、組織、編碼、存儲、檢索和

維護,是數(shù)據(jù)處理的中心問題i

■數(shù)據(jù)管理技術的發(fā)展過程;;

i?人工管理階段(40年代中??50年代中);;

導》文件系統(tǒng)階段(50年代末?60年代中):;

>數(shù)據(jù)庫系統(tǒng)階段(60年代末■■現(xiàn)在)

5

人工管理階段

■時期

A40年代中--50年代中

■產生的背景

?應用需求:科學計算

A硬件水平:外存只有卡片、紙帶、磁帶

>沒有直接存取存儲設備

A軟件水平:沒有操作系統(tǒng)

A處理方式:批處理

6

人工管理階段

■特點:

>數(shù)據(jù)不進行保存;

>沒有專門的數(shù)據(jù)管理軟件

>數(shù)據(jù)面向應用;;

>無共享、冗余度極大

7

文件系統(tǒng)階段

■時;期;;;;;;;

A50年代末--60年代中

■產生的背景;;;;;

A應用需求:科學計算、管理?

A硬件水平:磁盤、磁鼓;;

A軟件水平:有文件系統(tǒng)

A處理方式:聯(lián)機實時處理、批處理

8

文件系統(tǒng)階段

■特點:

>數(shù)據(jù)可長期保存I

>由文件系統(tǒng)管理數(shù)據(jù)

>應用程序直接存儲數(shù)據(jù)文件

>數(shù)據(jù)共享性差,冗余度大

>數(shù)據(jù)獨立性差;;;

>數(shù)據(jù)安全性差

9

數(shù)據(jù)庫系統(tǒng)階段

■時期

A60年代末以來

■產生的背景;;;;;;

;A應用背景:大規(guī)模管理;;;

??硬件背景:大容量磁盤」III

;A軟件背景:有數(shù)據(jù)庫管理系統(tǒng);

IA處理方式:聯(lián)機實時處理,分布處理I

;!;;批”理;;;;;

10

數(shù)據(jù)庫系統(tǒng)階段

■特點

>專門的數(shù)據(jù)管理軟件:DBMS

>數(shù)據(jù)由DBMS統(tǒng)一管理和控制

>應用程序通過DBMS訪問數(shù)據(jù)

>數(shù)據(jù)面向現(xiàn)實世界

>數(shù)據(jù)的共享程度高、獨立性高

11

1.1.3數(shù)據(jù)庫系統(tǒng)的特點

■數(shù)據(jù)整體結構化

■數(shù)據(jù)共享性高,冗余度低,易擴

充;;;;;;;

■;數(shù)腦樹立程高;;;;;

■數(shù)據(jù)由DBMS統(tǒng)一管理和控制

12

數(shù)據(jù)整體結構化

■整體數(shù)據(jù)的結構化是數(shù)據(jù)庫的主要特征之一。:

■數(shù)據(jù)庫中實現(xiàn)的是數(shù)據(jù)的真正結構化

A數(shù)據(jù)的結構用數(shù)據(jù)模型描述,無需程序定義

和解釋。

A把文件系統(tǒng)中簡單的記錄結構變成了記錄和

記錄之間的聯(lián)系所構成的結構化數(shù)據(jù),在描

述數(shù)據(jù)時,不僅要描述數(shù)據(jù)本身,還要描述

數(shù)據(jù)之間的聯(lián)系。

A從整體角度來組織數(shù)據(jù),數(shù)據(jù)不在針對某一

應用,而是面向全組織,實現(xiàn)了整體數(shù)據(jù)的

笆;結構化

13

數(shù)據(jù)獨立性

■物理4蟲立性;;;;;;’,

>指用戶的應用程序與存儲在磁盤上的數(shù)據(jù)庫

中數(shù)據(jù)是相互獨立的。當數(shù)據(jù)的物理存儲改

變了,應用程序不用改變。

-邏輯獨立性;;;;;;;

>指用戶的應用程序與數(shù)據(jù)庫的邏輯結構是相

互獨立的。數(shù)據(jù)的邏輯結構改變了,用戶程

序也可以不變。

14

DBMS對數(shù)據(jù)的控制功能

■數(shù)據(jù)的安全性(Security)保護

?使每個用戶只能按指定方式使用和處理指定數(shù)

據(jù),保護數(shù)據(jù)以防止不合法的使用造成的數(shù)據(jù)

的泄密和破壞。

■數(shù)據(jù)的完整性(Integrity)檢查

?將數(shù)據(jù)控制在有效的范圍內,或保證數(shù)據(jù)之間

滿足一定的關系。

15

DBMS對數(shù)據(jù)的控制功能

■并發(fā)(Concurrency)控制

?對多用戶的并發(fā)操作加以控制和協(xié)調,防止

相互干擾而得到錯誤的結果。

■數(shù)據(jù)庫恢復(Recovery);;;;

A將數(shù)據(jù)庫從錯誤狀態(tài)恢復到某一已知的正確

狀態(tài)。

16

1.1.4數(shù)據(jù)庫系統(tǒng)的三級模式結構

■數(shù)據(jù)庫系統(tǒng)的三級模式結構由外模式、模式

和內模式組成

應用A應用B應用C應用D應用E

4,外模式/模式映象

H式11?]]]

j模式I內模式卜象\\

內模式

17

1.模式

■模式(也稱邏輯模式)

>數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結構和特征的描述

A盛有用戶的公共數(shù)據(jù)視圖,綜合了所有用戶的

■模式的地位:是數(shù)據(jù)庫系統(tǒng)模式結構的中間層

>與數(shù)據(jù)的物理存儲細節(jié)和硬件環(huán)境無關

>與具體的應用程序、開發(fā)工具及高級程序設計

語言無關

■一個數(shù)據(jù)庫只有一個模式

■模式的定義

A數(shù)據(jù)的邏輯結構(數(shù)據(jù)項的名字、類型、取值

范圍等)

A數(shù)據(jù)之間的聯(lián)系

A數(shù)據(jù)有關的安全性、完整性要求

18

2.外模式

■外模式(也稱子模式或用戶模式)

A數(shù)據(jù)庫用戶(包括應用程序員和最終用戶)使用的

局部數(shù)據(jù)的邏輯結構和特征的描述

?數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應用有關的數(shù)據(jù)

的邏輯表示。介于模式與應用之間。

>外模式通常是模式的子集】。。I

A一個數(shù)據(jù)庫可以有多個外模式。反映了不同的用戶

的應用需求、看待數(shù)據(jù)的方式、對數(shù)據(jù)保密的要求

>同一外模式可以為某一用戶的多個應用系統(tǒng)所使用,

但一個應用程序只能使用一個外模式。

19

3.內模式

■內模式(也稱存儲模式)

>是數(shù)據(jù)物理結構和存儲方式的描述

>是數(shù)據(jù)在數(shù)據(jù)庫內部的表示方式

■一個數(shù)據(jù)庫只有一個內模式

20

1.1.5數(shù)據(jù)庫系統(tǒng)的組成

■數(shù)據(jù)庫;;;;;;「

■數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具);

?庫用系統(tǒng);;;;;;;;

■人員:DBA、系統(tǒng)分析員、數(shù)據(jù)庫設

計人員、應用程序員和最終用戶。

21

1.2關系數(shù)據(jù)庫的基本概念

■1.2.1數(shù)據(jù)模型

-1.2.2關系的數(shù)學定義

123關系數(shù)據(jù)庫

?;1.2.4關系的完整性

■1.2.5關系運算

22

1.2.1數(shù)據(jù)模型

■在數(shù)據(jù)庫中用數(shù)據(jù)模型這個工具來抽象、表示和處理

現(xiàn)實世界中的數(shù)據(jù)和信息。通俗地講數(shù)據(jù)模型就是現(xiàn)

女世桌的曷擬;;;;;;;

■數(shù)據(jù)模型分成兩個不同的層次IIII

A概念模型(信息模型)是按用戶的觀點來對數(shù)據(jù)

和信息建模。

A數(shù)據(jù)模型:按計算機系統(tǒng)的觀點對數(shù)據(jù)建模。包

括網狀模型、層次模型、關系模型等。

■數(shù)據(jù)模型的三個基本組成要素:數(shù)據(jù)結構、數(shù)據(jù)操作

和完整性約束。

23

1.數(shù)據(jù)模型的三個基本組成要素

A數(shù)據(jù)結構:對象類型的集合,是對系統(tǒng)特性的描述

?數(shù)據(jù)操作:對數(shù)據(jù)庫中各種對象的實例允許執(zhí)行的操作

及有關的操作規(guī)則

■數(shù)據(jù)操作的類型:檢索、更新(插入、刪除、修改)

■數(shù)據(jù)操作是對系統(tǒng)特性的描述

A數(shù)據(jù)的約束條件???????

■一組完整性規(guī)則的集合。

■完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有

的制約和儲存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫

狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相

容。

24

2.概念模型

■概念模型用于信息世界的建模,是數(shù)據(jù)庫

設計人員進行數(shù)據(jù)庫設計的有利工具,也

是數(shù)據(jù)庫設計人員和用戶之間進行交流的

語言。

25

信息世界中的基本概念

■⑴實體(Entity)

>客觀存在并可相互區(qū)別的事物稱為實體。

?可以是具體的人、事、物或抽象的概念。

■(2)屬性(Attribute)

>實體所具有的某一特性稱為屬性。

>一個實體可以由若干個屬性來刻畫。

■(3)聯(lián)系(Relationship)

A現(xiàn)實世界中,事物內部以及事物之間是有聯(lián)系的,

我們將它分為實體內部聯(lián)系和實體之間的聯(lián)系。實

體內部聯(lián)系是指組成實體各屬性之間的聯(lián)系。實體

之間的聯(lián)系是指不同實體集之間的聯(lián)系。

26

實體之間的聯(lián)系

■實體之間的聯(lián)系可分為三類

班級

班長

1:1聯(lián)系l:n聯(lián)系m:n聯(lián)系

27

3.概念模型的表示方法

■概念模型的表示方法很多,

■實體一聯(lián)系方法(E-R方法)

;A用日[^圖來描述現(xiàn)實世界的概念模型

AE-R方法也稱為E-R模型

28

;;;;E?R圖

-E-R圖提供了表示實體、屬性和聯(lián)系的

方法:

?實體:用矩形表示,矩形框內寫明實體名。

A屬性:用橢圓形表示,橢圓形內寫明屬性

?聯(lián)系:用菱形表示,菱形框內寫明聯(lián)系名,

用無向邊分別與有關實體連接起來,同時在

無向邊旁標上聯(lián)系類型。

29

E-R圖示例

Im>——cs^>

CS5^

30

4.常見數(shù)據(jù)模型

■非關系模型

?層次模型(HierarchicalModel)

>網狀模型(NetworkModel)

■關系模型(RelationalModel)

31

層次模型

■用樹型結構表示實體類型及實體間聯(lián)系

■樹的結點是記錄類型;;;;;

■非根結點有且只有一個雙親結點;

■有且只有一個結點沒有雙親結點;

■上層記錄類型和下層記錄類型的聯(lián)系是1:

n聯(lián)系

32

葉結點葉結點

33

網狀模型

■用有向圖表示實體類型及實體間聯(lián)系

■有向圖中的結點是記錄類型;

■箭頭表示了從箭尾的記錄類型到箭頭的記

錄類型間的1:n聯(lián)系

■允許一個以上的結點無雙親■;

■一個結點可以有多于一個的雙親

34

關系模型

■最重要的一種數(shù)據(jù)模型。也是目前主要采

用的數(shù)據(jù)模型

?1970年由美國舊M公司SanJose研究室的

研究員E.F.Codd提出

■在用戶觀點下,關系模型中數(shù)據(jù)的

雷一是一張,它由行和列組成。;;

36

學生基本情況表

;學號姓名性另IJ系別

;05002王雨男電子工程系

05013張楠女人文系

37

關系模型的基本術語

■關系:二維表結構

■屬性:二維表中的列稱為屬性,Access中被稱為

字段(Field)。

■域:屬性的取值范圍稱為域。

■元組:二繼表中的行(記錄的值)稱為元組,

Access中被稱為記錄(Record)。

■主碼:表中的某個屬性或屬性組,能夠唯一確定

一個元組。Access中主碼被稱為主鍵。

■關系模式:是對關系的描述。一般表示為:

關系名(屬性1,屬性2,?..,屬性n)

38

關系模型的組成

-關系數(shù)據(jù)結構:關系模型中數(shù)據(jù)的邏輯結構是

4張工雍表。\\\I\II

■關系操作:關系操作采用集合操作方式,即操

作的對象和結果都是集合。關系模型中常用的

關系操作包括兩類。

「A查詢操作:選擇、投影、連接、除、并、交、差

;A數(shù)據(jù)更新:增加、刪除、修改????

'關系完整性約束:關系模型中的完整性是指數(shù)

據(jù)庫中數(shù)據(jù)的正確性和一致性,包括實體完整

性、參照完整性和用戶定義的完整性。

39

1.2.2關系的數(shù)學定義

■關系模型是建立在集合代數(shù)基礎上的,

下面用集合代數(shù)給出二維表的關系定義。

■域:是一組具有相同數(shù)據(jù)類型的值的集

合。例:整數(shù),大于。小于50的正整數(shù),

{男,女},實數(shù)等等都可以是域。

40

關系的數(shù)學定義(續(xù))

■笛卡爾積

給定一組域Q,。2,…,?!?,這些域中可以有相同的。

。1,…,的笛卡爾祗為:

*…乂。〃={(dy,4,…,d”)IdfDj,i=1,

2,n}

|?所有域的所有取值的一個組合I;;;

>不能重復

41

關系的數(shù)學定義(續(xù))

A例給出三個域:;;;;;

二SUPERVISOR={張清玫,劉逸}

。2=SPECIALITY={計算機專業(yè),信息專業(yè)}

。3=POSTGRADUATE={李勇,劉晨,王敏}

則。1,D2,。3的笛卡爾積為:

D1XO2XO3=

{(張清玫,計算機專業(yè),李勇),(張清玫,計算機專業(yè),劉晨),

(張清玫,計算機專業(yè),王敏),(張清玫,信息專業(yè),李勇),

(張清玫,信息專業(yè),劉晨),(張清玫,信息專業(yè),王敏),

(劉逸,計算機專業(yè),李勇),(劉逸,計算機專業(yè),劉晨),

(劉逸,計算機專業(yè),王敏),(劉逸,信息專業(yè),李勇),

(劉逸,信息專業(yè),劉晨),(劉逸,信息專業(yè),王敏)}

42

關系

…X。,的公叫作在域。1,Q,…,

。〃上的關系,表不為

R:關系名

n:關系的目或度(Degree)

n=1:稱單元關系(Unaryrelation)

n=2:稱二元關系(Binaryrelation)

關系是一個二維表,表的每行對應一個元組,

表的每列對應一個域.由于域可以相同,所

以為了加以區(qū)分。對每列起一個名字,稱為

屬桂。n目關系必有n個宿性。

43

SAP關系

SUPERVISORSPECIALITYPOSTGRADUATE

張清玫信息專業(yè)李勇

張清玫信息專業(yè)劉晨

劉逸信息專業(yè)王敏

44

數(shù)據(jù)庫中的關系有以下性質

■每一列中的分量是同一類型的數(shù)據(jù),來自同一

個域;

■不同的列可出自同一個域,每一列稱為屬性,

要給予不同的屬性名;

■列的順序可以任意交換,行的順序也可以任意

交換;

■關系中的任意兩個元組不能完全相同;

■每一分量必須是不可分的數(shù)據(jù)項。

15

1.2.3關系數(shù)據(jù)庫

■一個應用領域中,所有關系的集合構成一個關系

數(shù)據(jù)庫。

■對關系數(shù)據(jù)庫的描述稱為關系數(shù)據(jù)庫模式,是關

系數(shù)據(jù)庫的型

>若干域的定義

裳>在這些域上定義的若干關系模式;;;

■關系數(shù)據(jù)庫的值是這些關系模式在某一時刻對應

的關系的集合,通常簡稱為關系數(shù)據(jù)庫

16

1.2.4關系的完整性

■關系模型的完整性規(guī)則是對關系的某種約束條

彳牛。

■關系模型中三類完整性約束:1;;;

>實體完整性

>參照完整性

A用戶定義的完整性

■實體完整性和參照完整性是關系模型必須滿足

的完整性約束條件,被稱作是關系的兩個不變

性,應該由關系系統(tǒng)自動支持。

47

實體完整性

■'實體完整性規(guī)則規(guī)定關系中元組在組

成主碼的屬性上不能取空值;

例:選修(學號,課程號,成績)

二者均不能為空

48

參照完整性

■關系間的引用

在關系模型中實體及實體間的聯(lián)系都是用關系

來描述的,因此可能存在著關系與關系間的引

用。

例1學生實體、專業(yè)實體以及專業(yè)與學生間

的一對多聯(lián)系

學生(堂號,姓名,性別,專業(yè)號,年齡)

專業(yè)(專業(yè)號,專業(yè)名)

49

.罷號一姓多性別.專、Lk號年齒令

---1--?上-1—t-----------

N生(定豆,姓名,性別,小八年齡]

801張三女19

802李四男O120

803王五男O120

804趙六女0220

805錢七男/J\。2/19

專業(yè)

IP?息

02數(shù)學

03計算為L

50

參照完整性規(guī)則

若屬性(或屬性組)戶是基本關系R的外碼

它與基本關系S的主碼Ks相對應(基本關

系R和S不一定是不同的關系),則對

于月中每個元組在尸上的值必須為:;

i1或者取空值(產的每個屬性值均為空值);

?或者等于S中某個元組的主碼值。

51

用戶定義的完整性

■用戶定義的完整性是針對某一具體關系數(shù)據(jù)庫

的約束條件,反映某一具體應用所涉及的數(shù)據(jù)

必須滿足的語義要求。;;;;;

■關系模型應提供定義和檢驗這類完整性的機制,

以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由

I應用程序承擔這一功能。

■例:課程(課程號,課程名,學分)

>“課程名”屬性必須取唯一值

>“學分”屬性只能取值{1,2,3,4}

52

1.2.5關系運算

■關系運算的運算對象及結果都是關系

-關系運算可分為以下的兩類:;;

傳統(tǒng)的集合運算:并、差、交、廣義笛卡爾積

1b

>專門的關系運算:選擇、投影、連接、除

53

并(Union)

■MS

A具有相同的目。(即兩個關系都有。個屬性)

A相應的屬性取自同一個域;;;;

■RUS

?仍為。目關系,由屬于R或屬于S的元組組成

>RUS={tltERVteS)

54

oCNCM一

一C\looCM

QQggqq

一LC\l

eB

<HV

___*

差(Difference)

■MS

a具有相同的目〃iiiiii

a相應的屬性取自同一個域;;;;;

■R?S

A仍為〃目關系,由屬于R而不屬于S的所有元組組成

R-S={t\teR/\t^S}

56

LO

。o

QQq

^(Intersection)

■只和s

A具有相同的目〃

A相應的屬性取自同一個域;;;

■RHS

?仍為〃目關系,由既屬于R又屬于S的元組

組成

/?AS={t\teRAfeS}

RAS=R-(R-S)或ACS=S-(S-R)

58

。*3

QQ**

廣義笛卡爾積

■R:〃目關系,(個元組;

■S:m目關系,A2個元組;

■RXS

?列:(/?+m)列的元組的集合

■元組的前〃列是關系R的一個元組

■后m列是關系S的一個元組

A行:(*卜2個元組

?RXS={tt\teR/\teS}

IrO1IroJ

60

廣義笛卡爾積(續(xù))

4BCABC

a1b1c1a1b2c2

a1b1c1a1b3c2

a1b1c1a2b2c1

a1b2c2a1b2c2

a1b2c2a1b3c2

a1b2c2a2b2c1

a2b2ca1b2c2

a2b2ca1b3c2

a2b2c1

選擇(Selection)

■選擇又稱為限制(Restriction)

■選擇運算符的含義;;;;;;

>在關系R中選擇滿足給定條件的諸元組??

CTF(R)={f|feRAF(f)='真'}

>F:選擇條件,是一個邏輯表達式,包括:

■運算對象:屬性名、常量、簡單函數(shù);屬性名也可

以用它的序號來代替;

■運算符:比較運算符(〉,>,<,<,=或#)

也稱e符

邏輯運算符(八、▽、「)62

選擇(續(xù))

■選擇運算是從行的角度進行的運算

63

選擇(續(xù))

Student

學號姓名性別年齡所在系

SnoSnameSsexSageSdept

95001李勇?男20CS

95002劉晨?女19IS

95003王敏|女18MA

張立;

95004男19IS

[例2][例3][例4]

64

[例1]查詢信息系(IS系)全體學生

0sd叩目s,(Student)

或CT5='IS,(Student)

65

選擇(續(xù))

[例2]查詢年齡小于20歲的學生

CTSage<20(Student)

或O4〈20(Student)

結果:

SnoSnameSsexSageSdept

95002劉晨女19IS

;王敏;

95003女18MA

95004張立男19IS

66

2.投影(Projection)

■投影運算符的含義

>從R中選擇出若干屬性列組成新的關系

^A(R)={t[A]\teR}

A:R中的屬性列

例:S(S#,SN,SEX,AGE)

A={S#,SN}

t[A]={001,李闖}

67

2.投影(Projection)

■投影操作主要是從列的角度進行運算

n

A但投影之后不僅取消了原關系中的某些列,而且還可

能取消某些元組(避免重復行)

68

投影(續(xù))

■舉例

[例為查詢學生的姓名和所在系;;;;

即求Student關系上學生姓名和所在系兩個屬

性上的投影

“Sname,Sdept(Student)

或仃2,5(Student)

69

投影(續(xù))

70

投影(續(xù))

[例4]查詢學生關系Student中都有哪些系

nsdept(Student)

結果:

Sdept

CS

IS

MA

71

3.連接(Join)

■連接也稱為。連接

■連接運算的含義

>從兩個關系的笛卡爾積中選取屬性間滿足一定條件

的元組

RS={\t^RMseSMr[A]Qts[B]]

x

■0:比較運算符

>連接運算從R和S的廣義笛卡爾積RXS中選取(R

關系)在4屬性組上的值與(S關系)在B屬性組上

值滿足比較關系的元組。

72

連接(續(xù))

■兩類常用連接運算

?等值連接(equijoin)

?■什么是等值連接..................

11A6為的連接運算稱為等值連接?

簟■等值連接的含義;

A從關系R與S的廣義笛卡爾積中選取4、B

屬性值相等的那些元組,即等值連接為:

RS=U\treRAtseSAtr[A]=ts[B]}

ML■tD

A=B

73

A自然連接(Naturaljoin)

■什么是自然連接???????

;A自然連接是一種特殊的等值連接;;

■兩個關系中進行比較的分量必須是相同的屬性

■在結果中把重復的屬性列去掉

好然連接的含義IIIIII|

R和S具有相同的屬性組B

={vs|tre/?AfseSA^[B]=yB]}

74

■一般的連接操作是從行的角度進行運算。

自然連接還袖WW【消堡復

行和列的角葭27運算。

75

[例5]

RS

76

RS

M

C<E

77

等值連接RMS

R.B=S.B

78

79

4.除(Division)

給定關系R(X,U和S(KZ),其中X,Y,Z為屬性組。

/?中的y與s中的y可以有不同的屬性名,但必須出自相同

的域集。R與S的除運算得到一個新的關系尸的,P是R中

滿足下列條件的元組在乂屬^^列上捌投慧?,元組在X上分

量值X的象集匕包含$在丫上投影的集合。

R^S={tr[X\|freRATTY(S)=匕}

Yx:x在/?中的象集,x=fr[X]

80

■除操作是同時從行和列角度進行運算

81

r

分析:

在關系R中,A可以取四個值{a1,a2,a3,a4}

a1的象集為{(d,c2),(b2,c3),(b2,q)}

a2的象集為{(A,c7),(b2,c3)}

的象集為{(4,C6))

%的象集為{(4,c6)}

S在(B,C)上的投影為

{(b1,c2),(b2,c1),(b2,c3)}

只有叫的象集包含了S在(8,C)屬性組上的投影;

所以R^s={a.}

83

1.3關系數(shù)據(jù)庫標準語言SQL

SQL(StructuredQueryLanguage,結構

化查詢語言)是關系數(shù)據(jù)庫的標準語言.;;

;S《L螭總:;;;;;;;;

'>一體化特點:語言功能一體化、結構一體化I

:A高度非過程化:干什么?;;;;

學》面向集合的操作方式;;;;;;

;>以同一種語法結構提供兩種使用方法;;

>語言簡潔,易學易用

84

SQL的數(shù)據(jù)定義功能

;言義*本/;;;;;;^\,

CREATETABLEv表名,

(〈列名1>〈數(shù)據(jù)類型1>[列級完整性約束條]

卜列名2>v數(shù)據(jù)類型2>[列級完整性約束條]].?.

[表級完整性約束條件]]

);

85

例:建立一個“學生基本情況”表,它由

“學號”、“姓名”、“性別”、“系

另四個屬性組成。其中學號不能為空,

I值是唯一的。.....................

CREATETABLE學生基本情況;;

(學號CHAR(5)NOTNULLUNIQUE,

姓名CHAR(8),

性別CHAR(2),

系別CHAR(15));

86

SQL的數(shù)據(jù)定義功能

卜修改基本表;;;;;;

ALTERTABLEv表名〉

[ADDv新列名〉v數(shù)據(jù)類型〉[完整性約束]

[DROPv完整性約束習

[ALTERCOLUMNv列名,v數(shù)據(jù)類型刁;

?刪除基本表;;

DROPTABLE〈表名〉

87

例:在學生基本情況表中,增加出生日

;畸朗。;;;;;;;

;ALTERTABLE學生基本情況;

ADD出生日期DATE

88

SQL的數(shù)據(jù)查詢功能

SQL語言提供SELECT語句進行數(shù)據(jù)庫的查詢

SELECT語句的一般格式:

SELECT[ALL|DISTINCT]〈目標列表達式>[,〈目標列

表達式〉].?.

FROM(表名或視圖名>[,〈表名或視圖名〉].??

[WHERE〈條件表達式〉]

[GROUPBY〈列名1>[HAVING〈條件表達式>]]

[ORDERBY〈列名2〉[ASC|DESC]];

89

SELECT語句舉例

SELECT課程設置表.課程代碼,課程設置表.課程名

稱,課程設置表.學時,課程設置表.學分

即0M徵程慳置揖;;;;;;;

WHERE(((課程設置表.學分)〉4));;?;

ORDERBY課程設置表.學時DESC;

90

數(shù)據(jù)操縱功能

■雇入蒙據(jù);;;;;;;00之

INSERTINTOv表名>[(<列名1>[,<列名2>...])]

VALUES(v常量1>[,<常量2>...])

■修改■據(jù);;;;;;;;;

UPDATEv表名〉SETv歹ij名〉二v表達式〉

[,v列名)二v表達式>]...[WHEREv條件>];

■刪除數(shù)據(jù)

DELETEFROMv表名>[WHEREv條件>];

91

■例:向學生基本情況表中添加新記錄

INSERTINTO學生基本情況

VALUES(“02103”,“張紅”,"女",“人文系”,

“1984-05-10”)

■例:將學生基本情況表

溫馨提示

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

評論

0/150

提交評論