




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Access數(shù)據(jù)庫程序設(shè)計(jì)
9
第1章數(shù)據(jù)庫原理基礎(chǔ)知識(shí)
■1.1數(shù)據(jù)庫系統(tǒng)概述
?1.2關(guān)系數(shù)據(jù)庫的基本概念;
■1.3關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL
■1.4ACCESS概述
2
1.1數(shù)據(jù)庫系統(tǒng)概述
■數(shù)據(jù)庫技術(shù)產(chǎn)生于六十年代末,是數(shù)據(jù)管
理的最新技術(shù),是計(jì)算機(jī)科學(xué)的重要分支
■數(shù)據(jù)庫技術(shù)是信息系統(tǒng)的核心和基礎(chǔ),它
的出現(xiàn)極大地促進(jìn)了計(jì)算機(jī)應(yīng)用向各行各
業(yè)的滲透
3
1.1.1數(shù)據(jù)庫常用術(shù)語
DBMS的主要功能:
(D數(shù)據(jù)定義功能:對(duì)數(shù)據(jù)庫中數(shù)據(jù)對(duì)象進(jìn)行定義
(2)數(shù)據(jù)操縱功能:實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的基本操作,如查
詢、插入、刪除和修改等。
(3)數(shù)據(jù)庫的運(yùn)行管理
數(shù)據(jù)庫在建立、運(yùn)用和維護(hù)時(shí)由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)
一管理、統(tǒng)一控制,以保證數(shù)年的安全性、完整性、
多用戶對(duì)數(shù)據(jù)的并發(fā)使用及發(fā)生故障后的系統(tǒng)恢復(fù)。
(4)數(shù)據(jù)庫的建立和維護(hù)功能
包括數(shù)據(jù)庫初始數(shù)據(jù)的輸入、轉(zhuǎn)換功能。數(shù)據(jù)庫的
轉(zhuǎn)儲(chǔ)、恢復(fù)功能,數(shù)據(jù)庫的重組織功能和性能監(jiān)視、
分析功能莓。這些功能通常由一魚實(shí)用程序鳧成。
4
1.1.2數(shù)據(jù)管理的發(fā)展歷程
-什么是數(shù)據(jù)管理;;;;;)?
?對(duì)數(shù)據(jù)進(jìn)行分類、組織、編碼、存儲(chǔ)、檢索和
維護(hù),是數(shù)據(jù)處理的中心問題i
■數(shù)據(jù)管理技術(shù)的發(fā)展過程;;
i?人工管理階段(40年代中??50年代中);;
導(dǎo)》文件系統(tǒng)階段(50年代末?60年代中):;
>數(shù)據(jù)庫系統(tǒng)階段(60年代末■■現(xiàn)在)
5
人工管理階段
■時(shí)期
A40年代中--50年代中
■產(chǎn)生的背景
?應(yīng)用需求:科學(xué)計(jì)算
A硬件水平:外存只有卡片、紙帶、磁帶
>沒有直接存取存儲(chǔ)設(shè)備
A軟件水平:沒有操作系統(tǒng)
A處理方式:批處理
6
人工管理階段
■特點(diǎn):
>數(shù)據(jù)不進(jìn)行保存;
>沒有專門的數(shù)據(jù)管理軟件
>數(shù)據(jù)面向應(yīng)用;;
>無共享、冗余度極大
7
文件系統(tǒng)階段
■時(shí);期;;;;;;;
A50年代末--60年代中
■產(chǎn)生的背景;;;;;
A應(yīng)用需求:科學(xué)計(jì)算、管理?
A硬件水平:磁盤、磁鼓;;
A軟件水平:有文件系統(tǒng)
A處理方式:聯(lián)機(jī)實(shí)時(shí)處理、批處理
8
文件系統(tǒng)階段
■特點(diǎn):
>數(shù)據(jù)可長期保存I
>由文件系統(tǒng)管理數(shù)據(jù)
>應(yīng)用程序直接存儲(chǔ)數(shù)據(jù)文件
>數(shù)據(jù)共享性差,冗余度大
>數(shù)據(jù)獨(dú)立性差;;;
>數(shù)據(jù)安全性差
9
數(shù)據(jù)庫系統(tǒng)階段
■時(shí)期
A60年代末以來
■產(chǎn)生的背景;;;;;;
;A應(yīng)用背景:大規(guī)模管理;;;
??硬件背景:大容量磁盤」III
;A軟件背景:有數(shù)據(jù)庫管理系統(tǒng);
IA處理方式:聯(lián)機(jī)實(shí)時(shí)處理,分布處理I
;!;;批”理;;;;;
10
數(shù)據(jù)庫系統(tǒng)階段
■特點(diǎn)
>專門的數(shù)據(jù)管理軟件:DBMS
>數(shù)據(jù)由DBMS統(tǒng)一管理和控制
>應(yīng)用程序通過DBMS訪問數(shù)據(jù)
>數(shù)據(jù)面向現(xiàn)實(shí)世界
>數(shù)據(jù)的共享程度高、獨(dú)立性高
11
1.1.3數(shù)據(jù)庫系統(tǒng)的特點(diǎn)
■數(shù)據(jù)整體結(jié)構(gòu)化
■數(shù)據(jù)共享性高,冗余度低,易擴(kuò)
充;;;;;;;
■;數(shù)腦樹立程高;;;;;
■數(shù)據(jù)由DBMS統(tǒng)一管理和控制
12
數(shù)據(jù)整體結(jié)構(gòu)化
■整體數(shù)據(jù)的結(jié)構(gòu)化是數(shù)據(jù)庫的主要特征之一。:
■數(shù)據(jù)庫中實(shí)現(xiàn)的是數(shù)據(jù)的真正結(jié)構(gòu)化
A數(shù)據(jù)的結(jié)構(gòu)用數(shù)據(jù)模型描述,無需程序定義
和解釋。
A把文件系統(tǒng)中簡單的記錄結(jié)構(gòu)變成了記錄和
記錄之間的聯(lián)系所構(gòu)成的結(jié)構(gòu)化數(shù)據(jù),在描
述數(shù)據(jù)時(shí),不僅要描述數(shù)據(jù)本身,還要描述
數(shù)據(jù)之間的聯(lián)系。
A從整體角度來組織數(shù)據(jù),數(shù)據(jù)不在針對(duì)某一
應(yīng)用,而是面向全組織,實(shí)現(xiàn)了整體數(shù)據(jù)的
笆;結(jié)構(gòu)化
13
數(shù)據(jù)獨(dú)立性
■物理4蟲立性;;;;;;’,
>指用戶的應(yīng)用程序與存儲(chǔ)在磁盤上的數(shù)據(jù)庫
中數(shù)據(jù)是相互獨(dú)立的。當(dāng)數(shù)據(jù)的物理存儲(chǔ)改
變了,應(yīng)用程序不用改變。
-邏輯獨(dú)立性;;;;;;;
>指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相
互獨(dú)立的。數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程
序也可以不變。
14
DBMS對(duì)數(shù)據(jù)的控制功能
■數(shù)據(jù)的安全性(Security)保護(hù)
?使每個(gè)用戶只能按指定方式使用和處理指定數(shù)
據(jù),保護(hù)數(shù)據(jù)以防止不合法的使用造成的數(shù)據(jù)
的泄密和破壞。
■數(shù)據(jù)的完整性(Integrity)檢查
?將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間
滿足一定的關(guān)系。
15
DBMS對(duì)數(shù)據(jù)的控制功能
■并發(fā)(Concurrency)控制
?對(duì)多用戶的并發(fā)操作加以控制和協(xié)調(diào),防止
相互干擾而得到錯(cuò)誤的結(jié)果。
■數(shù)據(jù)庫恢復(fù)(Recovery);;;;
A將數(shù)據(jù)庫從錯(cuò)誤狀態(tài)恢復(fù)到某一已知的正確
狀態(tài)。
16
1.1.4數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)
■數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)由外模式、模式
和內(nèi)模式組成
應(yīng)用A應(yīng)用B應(yīng)用C應(yīng)用D應(yīng)用E
4,外模式/模式映象
H式11?]]]
j模式I內(nèi)模式卜象\\
內(nèi)模式
17
1.模式
■模式(也稱邏輯模式)
>數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述
A盛有用戶的公共數(shù)據(jù)視圖,綜合了所有用戶的
■模式的地位:是數(shù)據(jù)庫系統(tǒng)模式結(jié)構(gòu)的中間層
>與數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬件環(huán)境無關(guān)
>與具體的應(yīng)用程序、開發(fā)工具及高級(jí)程序設(shè)計(jì)
語言無關(guān)
■一個(gè)數(shù)據(jù)庫只有一個(gè)模式
■模式的定義
A數(shù)據(jù)的邏輯結(jié)構(gòu)(數(shù)據(jù)項(xiàng)的名字、類型、取值
范圍等)
A數(shù)據(jù)之間的聯(lián)系
A數(shù)據(jù)有關(guān)的安全性、完整性要求
18
2.外模式
■外模式(也稱子模式或用戶模式)
A數(shù)據(jù)庫用戶(包括應(yīng)用程序員和最終用戶)使用的
局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述
?數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)
的邏輯表示。介于模式與應(yīng)用之間。
>外模式通常是模式的子集】。。I
A一個(gè)數(shù)據(jù)庫可以有多個(gè)外模式。反映了不同的用戶
的應(yīng)用需求、看待數(shù)據(jù)的方式、對(duì)數(shù)據(jù)保密的要求
>同一外模式可以為某一用戶的多個(gè)應(yīng)用系統(tǒng)所使用,
但一個(gè)應(yīng)用程序只能使用一個(gè)外模式。
19
3.內(nèi)模式
■內(nèi)模式(也稱存儲(chǔ)模式)
>是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述
>是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式
■一個(gè)數(shù)據(jù)庫只有一個(gè)內(nèi)模式
20
1.1.5數(shù)據(jù)庫系統(tǒng)的組成
■數(shù)據(jù)庫;;;;;;「
■數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具);
?庫用系統(tǒng);;;;;;;;
■人員:DBA、系統(tǒng)分析員、數(shù)據(jù)庫設(shè)
計(jì)人員、應(yīng)用程序員和最終用戶。
21
1.2關(guān)系數(shù)據(jù)庫的基本概念
■1.2.1數(shù)據(jù)模型
-1.2.2關(guān)系的數(shù)學(xué)定義
123關(guān)系數(shù)據(jù)庫
?;1.2.4關(guān)系的完整性
■1.2.5關(guān)系運(yùn)算
22
1.2.1數(shù)據(jù)模型
■在數(shù)據(jù)庫中用數(shù)據(jù)模型這個(gè)工具來抽象、表示和處理
現(xiàn)實(shí)世界中的數(shù)據(jù)和信息。通俗地講數(shù)據(jù)模型就是現(xiàn)
女世桌的曷擬;;;;;;;
■數(shù)據(jù)模型分成兩個(gè)不同的層次IIII
A概念模型(信息模型)是按用戶的觀點(diǎn)來對(duì)數(shù)據(jù)
和信息建模。
A數(shù)據(jù)模型:按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)建模。包
括網(wǎng)狀模型、層次模型、關(guān)系模型等。
■數(shù)據(jù)模型的三個(gè)基本組成要素:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作
和完整性約束。
23
1.數(shù)據(jù)模型的三個(gè)基本組成要素
A數(shù)據(jù)結(jié)構(gòu):對(duì)象類型的集合,是對(duì)系統(tǒng)特性的描述
?數(shù)據(jù)操作:對(duì)數(shù)據(jù)庫中各種對(duì)象的實(shí)例允許執(zhí)行的操作
及有關(guān)的操作規(guī)則
■數(shù)據(jù)操作的類型:檢索、更新(插入、刪除、修改)
■數(shù)據(jù)操作是對(duì)系統(tǒng)特性的描述
A數(shù)據(jù)的約束條件???????
■一組完整性規(guī)則的集合。
■完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有
的制約和儲(chǔ)存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫
狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相
容。
24
2.概念模型
■概念模型用于信息世界的建模,是數(shù)據(jù)庫
設(shè)計(jì)人員進(jìn)行數(shù)據(jù)庫設(shè)計(jì)的有利工具,也
是數(shù)據(jù)庫設(shè)計(jì)人員和用戶之間進(jìn)行交流的
語言。
25
信息世界中的基本概念
■⑴實(shí)體(Entity)
>客觀存在并可相互區(qū)別的事物稱為實(shí)體。
?可以是具體的人、事、物或抽象的概念。
■(2)屬性(Attribute)
>實(shí)體所具有的某一特性稱為屬性。
>一個(gè)實(shí)體可以由若干個(gè)屬性來刻畫。
■(3)聯(lián)系(Relationship)
A現(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)系。
26
實(shí)體之間的聯(lián)系
■實(shí)體之間的聯(lián)系可分為三類
班級(jí)
班長
1:1聯(lián)系l:n聯(lián)系m:n聯(lián)系
27
3.概念模型的表示方法
■概念模型的表示方法很多,
■實(shí)體一聯(lián)系方法(E-R方法)
;A用日[^圖來描述現(xiàn)實(shí)世界的概念模型
AE-R方法也稱為E-R模型
28
;;;;E?R圖
-E-R圖提供了表示實(shí)體、屬性和聯(lián)系的
方法:
?實(shí)體:用矩形表示,矩形框內(nèi)寫明實(shí)體名。
A屬性:用橢圓形表示,橢圓形內(nèi)寫明屬性
?聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,
用無向邊分別與有關(guān)實(shí)體連接起來,同時(shí)在
無向邊旁標(biāo)上聯(lián)系類型。
29
E-R圖示例
Im>——cs^>
CS5^
30
4.常見數(shù)據(jù)模型
■非關(guān)系模型
?層次模型(HierarchicalModel)
>網(wǎng)狀模型(NetworkModel)
■關(guān)系模型(RelationalModel)
31
層次模型
■用樹型結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系
■樹的結(jié)點(diǎn)是記錄類型;;;;;
■非根結(jié)點(diǎn)有且只有一個(gè)雙親結(jié)點(diǎn);
■有且只有一個(gè)結(jié)點(diǎn)沒有雙親結(jié)點(diǎn);
■上層記錄類型和下層記錄類型的聯(lián)系是1:
n聯(lián)系
32
葉結(jié)點(diǎn)葉結(jié)點(diǎn)
33
網(wǎng)狀模型
■用有向圖表示實(shí)體類型及實(shí)體間聯(lián)系
■有向圖中的結(jié)點(diǎn)是記錄類型;
■箭頭表示了從箭尾的記錄類型到箭頭的記
錄類型間的1:n聯(lián)系
■允許一個(gè)以上的結(jié)點(diǎn)無雙親■;
■一個(gè)結(jié)點(diǎn)可以有多于一個(gè)的雙親
34
關(guān)系模型
■最重要的一種數(shù)據(jù)模型。也是目前主要采
用的數(shù)據(jù)模型
?1970年由美國舊M公司SanJose研究室的
研究員E.F.Codd提出
■在用戶觀點(diǎn)下,關(guān)系模型中數(shù)據(jù)的
雷一是一張,它由行和列組成。;;
36
學(xué)生基本情況表
;學(xué)號(hào)姓名性另IJ系別
;05002王雨男電子工程系
05013張楠女人文系
37
關(guān)系模型的基本術(shù)語
■關(guān)系:二維表結(jié)構(gòu)
■屬性:二維表中的列稱為屬性,Access中被稱為
字段(Field)。
■域:屬性的取值范圍稱為域。
■元組:二繼表中的行(記錄的值)稱為元組,
Access中被稱為記錄(Record)。
■主碼:表中的某個(gè)屬性或?qū)傩越M,能夠唯一確定
一個(gè)元組。Access中主碼被稱為主鍵。
■關(guān)系模式:是對(duì)關(guān)系的描述。一般表示為:
關(guān)系名(屬性1,屬性2,?..,屬性n)
38
關(guān)系模型的組成
-關(guān)系數(shù)據(jù)結(jié)構(gòu):關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是
4張工雍表。\\\I\II
■關(guān)系操作:關(guān)系操作采用集合操作方式,即操
作的對(duì)象和結(jié)果都是集合。關(guān)系模型中常用的
關(guān)系操作包括兩類。
「A查詢操作:選擇、投影、連接、除、并、交、差
;A數(shù)據(jù)更新:增加、刪除、修改????
'關(guān)系完整性約束:關(guān)系模型中的完整性是指數(shù)
據(jù)庫中數(shù)據(jù)的正確性和一致性,包括實(shí)體完整
性、參照完整性和用戶定義的完整性。
39
1.2.2關(guān)系的數(shù)學(xué)定義
■關(guān)系模型是建立在集合代數(shù)基礎(chǔ)上的,
下面用集合代數(shù)給出二維表的關(guān)系定義。
■域:是一組具有相同數(shù)據(jù)類型的值的集
合。例:整數(shù),大于。小于50的正整數(shù),
{男,女},實(shí)數(shù)等等都可以是域。
40
關(guān)系的數(shù)學(xué)定義(續(xù))
■笛卡爾積
給定一組域Q,。2,…,?!?,這些域中可以有相同的。
。1,…,的笛卡爾祗為:
*…乂。〃={(dy,4,…,d”)IdfDj,i=1,
2,n}
|?所有域的所有取值的一個(gè)組合I;;;
>不能重復(fù)
41
關(guān)系的數(shù)學(xué)定義(續(xù))
A例給出三個(gè)域:;;;;;
二SUPERVISOR={張清玫,劉逸}
。2=SPECIALITY={計(jì)算機(jī)專業(yè),信息專業(yè)}
。3=POSTGRADUATE={李勇,劉晨,王敏}
則。1,D2,。3的笛卡爾積為:
D1XO2XO3=
{(張清玫,計(jì)算機(jī)專業(yè),李勇),(張清玫,計(jì)算機(jī)專業(yè),劉晨),
(張清玫,計(jì)算機(jī)專業(yè),王敏),(張清玫,信息專業(yè),李勇),
(張清玫,信息專業(yè),劉晨),(張清玫,信息專業(yè),王敏),
(劉逸,計(jì)算機(jī)專業(yè),李勇),(劉逸,計(jì)算機(jī)專業(yè),劉晨),
(劉逸,計(jì)算機(jī)專業(yè),王敏),(劉逸,信息專業(yè),李勇),
(劉逸,信息專業(yè),劉晨),(劉逸,信息專業(yè),王敏)}
42
關(guān)系
…X。,的公叫作在域。1,Q,…,
?!ㄉ系年P(guān)系,表不為
R:關(guān)系名
n:關(guān)系的目或度(Degree)
n=1:稱單元關(guān)系(Unaryrelation)
n=2:稱二元關(guān)系(Binaryrelation)
關(guān)系是一個(gè)二維表,表的每行對(duì)應(yīng)一個(gè)元組,
表的每列對(duì)應(yīng)一個(gè)域.由于域可以相同,所
以為了加以區(qū)分。對(duì)每列起一個(gè)名字,稱為
屬桂。n目關(guān)系必有n個(gè)宿性。
43
SAP關(guān)系
SUPERVISORSPECIALITYPOSTGRADUATE
張清玫信息專業(yè)李勇
張清玫信息專業(yè)劉晨
劉逸信息專業(yè)王敏
44
數(shù)據(jù)庫中的關(guān)系有以下性質(zhì)
■每一列中的分量是同一類型的數(shù)據(jù),來自同一
個(gè)域;
■不同的列可出自同一個(gè)域,每一列稱為屬性,
要給予不同的屬性名;
■列的順序可以任意交換,行的順序也可以任意
交換;
■關(guān)系中的任意兩個(gè)元組不能完全相同;
■每一分量必須是不可分的數(shù)據(jù)項(xiàng)。
15
1.2.3關(guān)系數(shù)據(jù)庫
■一個(gè)應(yīng)用領(lǐng)域中,所有關(guān)系的集合構(gòu)成一個(gè)關(guān)系
數(shù)據(jù)庫。
■對(duì)關(guān)系數(shù)據(jù)庫的描述稱為關(guān)系數(shù)據(jù)庫模式,是關(guān)
系數(shù)據(jù)庫的型
>若干域的定義
裳>在這些域上定義的若干關(guān)系模式;;;
■關(guān)系數(shù)據(jù)庫的值是這些關(guān)系模式在某一時(shí)刻對(duì)應(yīng)
的關(guān)系的集合,通常簡稱為關(guān)系數(shù)據(jù)庫
16
1.2.4關(guān)系的完整性
■關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的某種約束條
彳牛。
■關(guān)系模型中三類完整性約束:1;;;
>實(shí)體完整性
>參照完整性
A用戶定義的完整性
■實(shí)體完整性和參照完整性是關(guān)系模型必須滿足
的完整性約束條件,被稱作是關(guān)系的兩個(gè)不變
性,應(yīng)該由關(guān)系系統(tǒng)自動(dòng)支持。
47
實(shí)體完整性
■'實(shí)體完整性規(guī)則規(guī)定關(guān)系中元組在組
成主碼的屬性上不能取空值;
例:選修(學(xué)號(hào),課程號(hào),成績)
二者均不能為空
48
參照完整性
■關(guān)系間的引用
在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系
來描述的,因此可能存在著關(guān)系與關(guān)系間的引
用。
例1學(xué)生實(shí)體、專業(yè)實(shí)體以及專業(yè)與學(xué)生間
的一對(duì)多聯(lián)系
學(xué)生(堂號(hào),姓名,性別,專業(yè)號(hào),年齡)
專業(yè)(專業(yè)號(hào),專業(yè)名)
49
.罷號(hào)一姓多性別.專、Lk號(hào)年齒令
---1--?上-1—t-----------
N生(定豆,姓名,性別,小八年齡]
801張三女19
802李四男O120
803王五男O120
804趙六女0220
805錢七男/J\。2/19
專業(yè)
IP?息
02數(shù)學(xué)
03計(jì)算為L
50
參照完整性規(guī)則
若屬性(或?qū)傩越M)戶是基本關(guān)系R的外碼
它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基本關(guān)
系R和S不一定是不同的關(guān)系),則對(duì)
于月中每個(gè)元組在尸上的值必須為:;
i1或者取空值(產(chǎn)的每個(gè)屬性值均為空值);
?或者等于S中某個(gè)元組的主碼值。
51
用戶定義的完整性
■用戶定義的完整性是針對(duì)某一具體關(guān)系數(shù)據(jù)庫
的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)
必須滿足的語義要求。;;;;;
■關(guān)系模型應(yīng)提供定義和檢驗(yàn)這類完整性的機(jī)制,
以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由
I應(yīng)用程序承擔(dān)這一功能。
■例:課程(課程號(hào),課程名,學(xué)分)
>“課程名”屬性必須取唯一值
>“學(xué)分”屬性只能取值{1,2,3,4}
52
1.2.5關(guān)系運(yùn)算
■關(guān)系運(yùn)算的運(yùn)算對(duì)象及結(jié)果都是關(guān)系
-關(guān)系運(yùn)算可分為以下的兩類:;;
傳統(tǒng)的集合運(yùn)算:并、差、交、廣義笛卡爾積
1b
>專門的關(guān)系運(yùn)算:選擇、投影、連接、除
53
并(Union)
■MS
A具有相同的目。(即兩個(gè)關(guān)系都有。個(gè)屬性)
A相應(yīng)的屬性取自同一個(gè)域;;;;
■RUS
?仍為。目關(guān)系,由屬于R或?qū)儆赟的元組組成
>RUS={tltERVteS)
54
oCNCM一
一C\looCM
QQggqq
一LC\l
eB
<HV
___*
點(diǎn)
差(Difference)
■MS
a具有相同的目〃iiiiii
a相應(yīng)的屬性取自同一個(gè)域;;;;;
■R?S
A仍為〃目關(guān)系,由屬于R而不屬于S的所有元組組成
R-S={t\teR/\t^S}
56
LO
。o
QQq
^(Intersection)
■只和s
A具有相同的目〃
A相應(yīng)的屬性取自同一個(gè)域;;;
■RHS
?仍為〃目關(guān)系,由既屬于R又屬于S的元組
組成
/?AS={t\teRAfeS}
RAS=R-(R-S)或ACS=S-(S-R)
58
。*3
QQ**
廣義笛卡爾積
■R:〃目關(guān)系,(個(gè)元組;
■S:m目關(guān)系,A2個(gè)元組;
■RXS
?列:(/?+m)列的元組的集合
■元組的前〃列是關(guān)系R的一個(gè)元組
■后m列是關(guān)系S的一個(gè)元組
A行:(*卜2個(gè)元組
?RXS={tt\teR/\teS}
IrO1IroJ
60
廣義笛卡爾積(續(xù))
4BCABC
a1b1c1a1b2c2
a1b1c1a1b3c2
a1b1c1a2b2c1
a1b2c2a1b2c2
a1b2c2a1b3c2
a1b2c2a2b2c1
a2b2ca1b2c2
a2b2ca1b3c2
a2b2c1
選擇(Selection)
■選擇又稱為限制(Restriction)
■選擇運(yùn)算符的含義;;;;;;
>在關(guān)系R中選擇滿足給定條件的諸元組??
CTF(R)={f|feRAF(f)='真'}
>F:選擇條件,是一個(gè)邏輯表達(dá)式,包括:
■運(yùn)算對(duì)象:屬性名、常量、簡單函數(shù);屬性名也可
以用它的序號(hào)來代替;
■運(yùn)算符:比較運(yùn)算符(〉,>,<,<,=或#)
也稱e符
邏輯運(yùn)算符(八、▽、「)62
選擇(續(xù))
■選擇運(yùn)算是從行的角度進(jìn)行的運(yùn)算
63
選擇(續(xù))
Student
學(xué)號(hào)姓名性別年齡所在系
SnoSnameSsexSageSdept
95001李勇?男20CS
95002劉晨?女19IS
95003王敏|女18MA
張立;
95004男19IS
[例2][例3][例4]
64
[例1]查詢信息系(IS系)全體學(xué)生
0sd叩目s,(Student)
或CT5='IS,(Student)
65
選擇(續(xù))
[例2]查詢年齡小于20歲的學(xué)生
CTSage<20(Student)
或O4〈20(Student)
結(jié)果:
SnoSnameSsexSageSdept
95002劉晨女19IS
;王敏;
95003女18MA
95004張立男19IS
66
2.投影(Projection)
■投影運(yùn)算符的含義
>從R中選擇出若干屬性列組成新的關(guān)系
^A(R)={t[A]\teR}
A:R中的屬性列
例:S(S#,SN,SEX,AGE)
A={S#,SN}
t[A]={001,李闖}
67
2.投影(Projection)
■投影操作主要是從列的角度進(jìn)行運(yùn)算
n
A但投影之后不僅取消了原關(guān)系中的某些列,而且還可
能取消某些元組(避免重復(fù)行)
68
投影(續(xù))
■舉例
[例為查詢學(xué)生的姓名和所在系;;;;
即求Student關(guān)系上學(xué)生姓名和所在系兩個(gè)屬
性上的投影
“Sname,Sdept(Student)
或仃2,5(Student)
69
投影(續(xù))
70
投影(續(xù))
[例4]查詢學(xué)生關(guān)系Student中都有哪些系
nsdept(Student)
結(jié)果:
Sdept
CS
IS
MA
71
3.連接(Join)
■連接也稱為。連接
■連接運(yùn)算的含義
>從兩個(gè)關(guān)系的笛卡爾積中選取屬性間滿足一定條件
的元組
RS={\t^RMseSMr[A]Qts[B]]
x
■
■0:比較運(yùn)算符
>連接運(yùn)算從R和S的廣義笛卡爾積RXS中選?。≧
關(guān)系)在4屬性組上的值與(S關(guān)系)在B屬性組上
值滿足比較關(guān)系的元組。
72
連接(續(xù))
■兩類常用連接運(yùn)算
?等值連接(equijoin)
?■什么是等值連接..................
11A6為的連接運(yùn)算稱為等值連接?
簟■等值連接的含義;
A從關(guān)系R與S的廣義笛卡爾積中選取4、B
屬性值相等的那些元組,即等值連接為:
RS=U\treRAtseSAtr[A]=ts[B]}
ML■tD
A=B
73
A自然連接(Naturaljoin)
■什么是自然連接???????
;A自然連接是一種特殊的等值連接;;
■兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性
組
■在結(jié)果中把重復(fù)的屬性列去掉
好然連接的含義IIIIII|
R和S具有相同的屬性組B
={vs|tre/?AfseSA^[B]=yB]}
74
■一般的連接操作是從行的角度進(jìn)行運(yùn)算。
自然連接還袖WW【消堡復(fù)
行和列的角葭27運(yùn)算。
75
[例5]
RS
76
RS
M
C<E
77
等值連接RMS
R.B=S.B
78
79
4.除(Division)
給定關(guān)系R(X,U和S(KZ),其中X,Y,Z為屬性組。
/?中的y與s中的y可以有不同的屬性名,但必須出自相同
的域集。R與S的除運(yùn)算得到一個(gè)新的關(guān)系尸的,P是R中
滿足下列條件的元組在乂屬^^列上捌投慧?,元組在X上分
量值X的象集匕包含$在丫上投影的集合。
R^S={tr[X\|freRATTY(S)=匕}
Yx:x在/?中的象集,x=fr[X]
80
■除操作是同時(shí)從行和列角度進(jìn)行運(yùn)算
81
r
分析:
在關(guān)系R中,A可以取四個(gè)值{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關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL
SQL(StructuredQueryLanguage,結(jié)構(gòu)
化查詢語言)是關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言.;;
;S《L螭總:;;;;;;;;
'>一體化特點(diǎn):語言功能一體化、結(jié)構(gòu)一體化I
:A高度非過程化:干什么?;;;;
學(xué)》面向集合的操作方式;;;;;;
;>以同一種語法結(jié)構(gòu)提供兩種使用方法;;
>語言簡潔,易學(xué)易用
84
SQL的數(shù)據(jù)定義功能
;言義*本/;;;;;;^\,
CREATETABLEv表名,
(〈列名1>〈數(shù)據(jù)類型1>[列級(jí)完整性約束條]
卜列名2>v數(shù)據(jù)類型2>[列級(jí)完整性約束條]].?.
[表級(jí)完整性約束條件]]
);
85
例:建立一個(gè)“學(xué)生基本情況”表,它由
“學(xué)號(hào)”、“姓名”、“性別”、“系
另四個(gè)屬性組成。其中學(xué)號(hào)不能為空,
I值是唯一的。.....................
CREATETABLE學(xué)生基本情況;;
(學(xué)號(hào)CHAR(5)NOTNULLUNIQUE,
姓名CHAR(8),
性別CHAR(2),
系別CHAR(15));
86
SQL的數(shù)據(jù)定義功能
卜修改基本表;;;;;;
ALTERTABLEv表名〉
[ADDv新列名〉v數(shù)據(jù)類型〉[完整性約束]
[DROPv完整性約束習(xí)
[ALTERCOLUMNv列名,v數(shù)據(jù)類型刁;
?刪除基本表;;
DROPTABLE〈表名〉
87
例:在學(xué)生基本情況表中,增加出生日
;畸朗。;;;;;;;
;ALTERTABLE學(xué)生基本情況;
ADD出生日期DATE
88
SQL的數(shù)據(jù)查詢功能
SQL語言提供SELECT語句進(jìn)行數(shù)據(jù)庫的查詢
SELECT語句的一般格式:
SELECT[ALL|DISTINCT]〈目標(biāo)列表達(dá)式>[,〈目標(biāo)列
表達(dá)式〉].?.
FROM(表名或視圖名>[,〈表名或視圖名〉].??
[WHERE〈條件表達(dá)式〉]
[GROUPBY〈列名1>[HAVING〈條件表達(dá)式>]]
[ORDERBY〈列名2〉[ASC|DESC]];
89
SELECT語句舉例
SELECT課程設(shè)置表.課程代碼,課程設(shè)置表.課程名
稱,課程設(shè)置表.學(xué)時(shí),課程設(shè)置表.學(xué)分
即0M徵程慳置揖;;;;;;;
WHERE(((課程設(shè)置表.學(xué)分)〉4));;?;
ORDERBY課程設(shè)置表.學(xué)時(shí)DESC;
90
數(shù)據(jù)操縱功能
■雇入蒙據(jù);;;;;;;00之
INSERTINTOv表名>[(<列名1>[,<列名2>...])]
VALUES(v常量1>[,<常量2>...])
■修改■據(jù);;;;;;;;;
UPDATEv表名〉SETv歹ij名〉二v表達(dá)式〉
[,v列名)二v表達(dá)式>]...[WHEREv條件>];
■刪除數(shù)據(jù)
DELETEFROMv表名>[WHEREv條件>];
91
■例:向?qū)W生基本情況表中添加新記錄
INSERTINTO學(xué)生基本情況
VALUES(“02103”,“張紅”,"女",“人文系”,
“1984-05-10”)
■例:將學(xué)生基本情況表
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 移動(dòng)互聯(lián)網(wǎng)時(shí)代的技術(shù)變革試題及答案
- 探秘軟件設(shè)計(jì)師考試試題及答案攻略
- 統(tǒng)計(jì)學(xué)的應(yīng)用實(shí)例研究試題及答案
- 投資決策風(fēng)險(xiǎn)題及答案
- 網(wǎng)絡(luò)管理與用戶體驗(yàn)試題及答案
- 軟件設(shè)計(jì)師考試反饋與調(diào)整試題及答案
- 法學(xué)概論學(xué)生交流平臺(tái)搭建試題及答案
- 信息系統(tǒng)架構(gòu)的優(yōu)化與合理化建議試題及答案
- 行政管理試題設(shè)計(jì)與答案分析
- 2025年軟考設(shè)計(jì)師的核心試題及答案
- 數(shù)據(jù)分析師歷年考試真題試題庫(含答案)
- 住宅小區(qū)園林景觀綠化工程施工組織設(shè)計(jì)方案
- 專題16-家庭與婚姻-2023年高考政治復(fù)習(xí)課件(新教材新高考)
- 人教版八年級(jí)下冊歷史教案全冊
- 2024年北京普通高中學(xué)業(yè)水平等級(jí)性考試化學(xué)試題及答案
- 住家護(hù)工聘用合同協(xié)議書
- 平面向量的基本定理(說課)
- 人教版PEP英語3-6年級(jí)全部單詞默寫表格以及背誦版本
- 《一起長大的玩具》整本書閱讀(教學(xué)設(shè)計(jì))統(tǒng)編版語文二年級(jí)下冊
- 2024公需科目:數(shù)字經(jīng)濟(jì)與創(chuàng)新驅(qū)動(dòng)發(fā)展題庫
- 汽車租賃價(jià)格動(dòng)態(tài)調(diào)整策略研究
評(píng)論
0/150
提交評(píng)論