




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、數(shù)據(jù)庫系統(tǒng)概論筆記數(shù)據(jù)(Data):是數(shù)據(jù)庫中存儲的基本對象數(shù)據(jù)的定義:描述事物的符號記錄數(shù)據(jù)的種類:文字、圖形、圖象、聲音等數(shù)據(jù)的特點:數(shù)據(jù)與其語義是不可分的數(shù)據(jù)庫(Database,簡稱DB):是長期儲存在計算機內、有組織的、可共享的大量數(shù)據(jù)集合數(shù)據(jù)庫的特征:數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存可為各種用戶共享冗余度較小數(shù)據(jù)獨立性較高易擴展數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem,簡稱DBMS):是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。DBMS的用途:科學地組織和存儲數(shù)據(jù)、高效地獲取和維護數(shù)據(jù)DBMS的主要功能:數(shù)據(jù)庫的運行管理保證數(shù)據(jù)的安全性、完整性、多用戶對
2、數(shù)據(jù)的并發(fā)使用發(fā)生故障后的系統(tǒng)恢復數(shù)據(jù)庫的建立和維護功能(實用程序)數(shù)據(jù)庫數(shù)據(jù)批量裝載數(shù)據(jù)庫轉儲介質故障恢復數(shù)據(jù)庫的重組織性能監(jiān)視等數(shù)據(jù)庫系統(tǒng)(DatabaseSystem,簡稱DBS)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構成。數(shù)據(jù)庫系統(tǒng)的構成由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應用系統(tǒng)、數(shù)據(jù)庫管理員(和用戶)構成。數(shù)據(jù)管理對數(shù)據(jù)進行分類、組織、編碼、存儲、檢索和維護,是數(shù)據(jù)處理的中心問題數(shù)據(jù)模型這個工具來抽象、表示和處理現(xiàn)實世界中的數(shù)據(jù)和信息。數(shù)據(jù)模型應滿足三方面要求能比較真實地模擬現(xiàn)實世界容易為人所理解便于在計算機上實現(xiàn)數(shù)據(jù)模型分成兩個不同的層次(1)概念模型也稱信息模型,它是按用戶
3、的觀點來對數(shù)據(jù)和信息建模。(2)數(shù)據(jù)模型主要包括網(wǎng)狀模型、層次模型、關系模型等,它是按計算機系統(tǒng)的觀點對數(shù)據(jù)建模??陀^對象的抽象過程-兩步抽象現(xiàn)實世界中的客觀對象抽象為概念模型;把概念模型轉換為某一DBMS支持的數(shù)據(jù)模型。數(shù)據(jù)結構對象類型的集合數(shù)據(jù)結構是對系統(tǒng)靜態(tài)特性的描述兩類對象與數(shù)據(jù)類型、內容、性質有關的對象與數(shù)據(jù)之間聯(lián)系有關的對象數(shù)據(jù)操作對數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的操作及有關的操作規(guī)則數(shù)據(jù)操作的類型檢索更新(包括插入、刪除、修改)數(shù)據(jù)模型對操作的定義操作的確切含義操作符號操作規(guī)則(如優(yōu)先級)實現(xiàn)操作的語言數(shù)據(jù)操作是對系統(tǒng)動態(tài)特性的描述。數(shù)據(jù)模型對約束條件的定義反映和規(guī)定
4、本數(shù)據(jù)模型必須遵守的基本的通用的完整性約束條件。提供定義完整性約束條件的機制,以反映具體應用所涉及的數(shù)據(jù)必須遵守的特定的語義約束條件。信息世界中的基本概念實體(Entity)客觀存在并可相互區(qū)別的事物稱為實體。(2)屬性(Attribute)實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。碼(Key)唯一標識實體的屬性集稱為碼。域(Domain)屬性的取值范圍稱為該屬性的域。實體型(EntityType)用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型實體集(EntitySet)同型實體的集合稱為實體集聯(lián)系(Relationship)現(xiàn)實世界中事物內部以及事物之間的聯(lián)系在信息
5、世界中反映為實體內部的聯(lián)系和實體之間的聯(lián)系實體型間聯(lián)系一對一聯(lián)系(1:1)一對多聯(lián)系(1:n)多對多聯(lián)系(m:n)兩個實體型三個實體型一個實體型兩個實體型間的聯(lián)系一對一聯(lián)系如果對于實體集A中的每一個實體,實體集B中至多有一個實體與之聯(lián)系,反之亦然,則稱實體集A與實體集B具有一對一聯(lián)系。記為1:1。一對多聯(lián)系如果對于實體集A中的每一個實體,實體集B中有n個實體(n$0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B有一對多聯(lián)系記為1:n多對多聯(lián)系(m:n)如果對于實體集A中的每一個實體,實體集B中有n個實體(nM0)與之聯(lián)系,反之,對于實體
6、集B中的每一個實體,實體集A中也有m個實體(mM0)與之聯(lián)系,則稱實體集A與實體B具有多對多聯(lián)系。記為m:n概念模型的表示方法實體一聯(lián)系方法(E-R方法)用E-R圖來描述現(xiàn)實世界的概念模型E-R方法也稱為E-R模型常用數(shù)據(jù)模型非關系模型層次模型(HierarchicalModel)網(wǎng)狀模型(NetworkModel)數(shù)據(jù)結構:以基本層次聯(lián)系為基本單位基本層次聯(lián)系:兩個記錄以及它們之間的一對多(包括一對一)的聯(lián)系關系模型(RelationalModel)數(shù)據(jù)結構:表面向對象模型(ObjectOrientedModel)數(shù)據(jù)結構:對象層次模型滿足下面兩個條件的基本層次聯(lián)系的集合為層次模型。有且只有
7、一個結點沒有雙親結點,這個結點稱為根結點根以外的其它結點有且只有一個雙親結點表示方法實體型:用記錄類型描述。每個結點表示一個記錄類型。屬性:用字段描述。每個記錄類型可包含若干個字段。聯(lián)系:用結點之間的連線表示記錄(類)型之間的一對多的聯(lián)系網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結構網(wǎng)狀模型滿足下面兩個條件的基本層次聯(lián)系的集合為網(wǎng)狀模型。允許一個以上的結點無雙親;一個結點可以有多于一個的雙親。表示方法(與層次數(shù)據(jù)模型相同)實體型:用記錄類型描述。每個結點表示一個記錄類型。屬性:用字段描述。每個記錄類型可包含若干個字段。聯(lián)系:用結點之間的連線表示記錄(類)型之間的一對多的父子聯(lián)系。關系模型的基本概念關系(Relatio
8、n)一個關系對應通常說的一張表。元組(Tuple)表中的一行即為一個元組。屬性(Attribute)表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名。關系必須是規(guī)范化的,滿足一定的規(guī)范條件最基本的規(guī)范條件:關系的每一個分量必須是一個不可分的數(shù)據(jù)項。查詢、插入、刪除、更新數(shù)據(jù)操作是集合操作,操作對象和操作結果都是關系,即若干元組的集合存取路徑對用戶隱蔽,用戶只要指出“干什么”,不必詳細說明“怎么干”關系模型的完整性約束實體完整性參照完整性用戶定義的完整性關系數(shù)據(jù)模型的存儲結構表以文件形式存儲有的DBMS一個表對應一個操作系統(tǒng)文件有的DBMS自己設計文件結構關系模型的優(yōu)缺點優(yōu)點建立在嚴格的數(shù)
9、學概念的基礎上概念單一。數(shù)據(jù)結構簡單、清晰,用戶易懂易用實體和各類聯(lián)系都用關系來表示。對數(shù)據(jù)的檢索結果也是關系。關系模型的存取路徑對用戶透明具有更高的數(shù)據(jù)獨立性,更好的安全保密性簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作缺點存取路徑對用戶透明導致查詢效率往往不如非關系數(shù)據(jù)模型為提高性能,必須對用戶的查詢請求進行優(yōu)化增加了開發(fā)數(shù)據(jù)庫管理系統(tǒng)的難度數(shù)據(jù)庫系統(tǒng)外部的體系結構單用戶結構主從式結構分布式結構客戶/服務器結構瀏覽器/應用服務器/數(shù)據(jù)庫服務器結構分布式結構的數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)在邏輯上是一個整體,但物理地分布在計算機網(wǎng)絡的不同結點上。網(wǎng)絡中的每個結點都可以獨立處理本地數(shù)據(jù)庫中的數(shù)據(jù),執(zhí)行局
10、部應用同時也可以同時存取和處理多個異地數(shù)據(jù)庫中的數(shù)據(jù),執(zhí)行全局應用優(yōu)點適應了地理上分散的公司、團體和組織對于數(shù)據(jù)庫應用的需求。缺點數(shù)據(jù)的分布存放給數(shù)據(jù)的處理、管理與維護帶來困難。當用戶需要經(jīng)常訪問遠程數(shù)據(jù)時,系統(tǒng)效率會明顯地受到網(wǎng)絡傳輸?shù)闹萍s數(shù)據(jù)庫管理員(DBA)決定數(shù)據(jù)庫中的信息內容和結構決定數(shù)據(jù)庫的存儲結構和存取策略定義數(shù)據(jù)的安全性要求和完整性約束條件關系數(shù)據(jù)庫關系模型的組成關系數(shù)據(jù)結構關系操作集合關系完整性約束1)常用的關系操作查詢選擇、投影、連接、除、并、交、差數(shù)據(jù)更新插入、刪除、修改查詢的表達能力是其中最主要的部分2)關系操作的特點集合操作方式,即操作的對象和結果都是集合。非關系數(shù)據(jù)
11、模型的數(shù)據(jù)操作方式:一次一記錄文件系統(tǒng)的數(shù)據(jù)操作方式3)關系數(shù)據(jù)語言的種類關系代數(shù)語言用對關系的運算來表達查詢要求4)關系數(shù)據(jù)語言的特點關系語言是一種高度非過程化的語言存取路徑的選擇由DBMS的優(yōu)化機制來完成用戶不必用循環(huán)結構就可以完成數(shù)據(jù)操作能夠嵌入高級語言中使用關系代數(shù)、元組關系演算和域關系演算三種語言在表達能力上完全等價關系1.域(Domain)2.笛卡爾積(CartesianProduct)3.關系(Relation)域是一組具有相同數(shù)據(jù)類型的值的集合。例:整數(shù)實數(shù)介于某個取值范圍的整數(shù)長度指定長度的字符串集合男,女介于某個取值范圍的日期笛卡爾積給定一組域DI,D2,,Dn,這些域中可
12、以有相同的。DI,D2,,Dn的笛卡爾積為:D1XD2X.XDn=(dl,d2,.,dn)1diDi,i=l,2,.,n所有域的所有取值的一個組合不能重復2)元組(Tuple)笛卡爾積中每一個元素(dl,d2,,dn)叫作一個n元組(n-tuple)或簡稱元組。3)分量(Component)笛卡爾積元素(dl,d2,dn)中的每一個值di叫作一個分量。4)基數(shù)(Cardinalnumber)若Di(i=1,2,,n)為有限集,其基數(shù)為mi(i=1,2,n),則D1XD2X.XDn的基數(shù)M為:5)笛卡爾積的表示方法笛卡爾積可表示為一個二維表。表中的每行對應一個元組,表中的每列對應一個域。關系(R
13、elation)關系D1XD2X.XDn的子集叫作在域D1,D2,Dn上的關系,表示為R(D1,D2,Dn)R:關系名n:關系的目或度(Degree)元組關系中的每個元素是關系中的元組,通常用t表示。單元關系與二元關系當n=1時,稱該關系為單元關系(Unaryrelation)o當n=2時,稱該關系為二元關系(Binaryrelation)4)關系的表示關系也是一個二維表,表的每行對應一個元組,表的每列對應一個域。5)屬性關系中不同列可以對應相同的域,為了加以區(qū)分,必須對每列起一個名字,稱為屬性(Attribute)。n目關系必有n個屬性。6)碼候選碼(Candidatekey)若關系中的某一
14、屬性組的值能唯一地標識一個元組,則稱該屬性組為候選碼在最簡單的情況下,候選碼只包含一個屬性。稱為全碼(All-key)在最極端的情況下,關系模式的所有屬性組是這個關系模式的候選碼,稱為全碼(All-key)主碼若一個關系有多個候選碼,則選定其中一個為主碼(Primarykey)主碼的諸屬性稱為主屬性(Primeattribute)。不包含在任何侯選碼中的屬性稱為非碼屬性(Non-keyattribute)7)三類關系基本關系(基本表或基表)實際存在的表,是實際存儲數(shù)據(jù)的邏輯表示杳詢表查詢結果對應的表視圖表由基本表或其他視圖表導出的表,是虛表,不對應實際存儲的數(shù)據(jù)基本關系的性質列是同質的(Hom
15、ogeneous)每一列中的分量是同一類型的數(shù)據(jù),來自同一個域不同的列可出自同一個域其中的每一列稱為一個屬性不同的屬性要給予不同的屬性名列的順序無所謂列的次序可以任意交換遵循這一性質的數(shù)據(jù)庫產(chǎn)品(如ORACLE),增加新屬性時,永遠是插至最后一列但也有許多關系數(shù)據(jù)庫產(chǎn)品沒有遵循這一性質,例如FoxPro仍然區(qū)分了屬性順序任意兩個元組不能完全相同由笛卡爾積的性質決定但許多關系數(shù)據(jù)庫產(chǎn)品沒有遵循這一性質。例如:Oracle,F(xiàn)oxPro等都允許關系表中存在兩個完全相同的元組,除非用戶特別定義了相應的約束條件。行的順序無所謂行的次序可以任意交換遵循這一性質的數(shù)據(jù)庫產(chǎn)品(如ORACLE),插入一個元組
16、時永遠插至最后一行但也有許多關系數(shù)據(jù)庫產(chǎn)品沒有遵循這一性質,例如FoxPro仍然區(qū)分了元組的順序分量必須取原子值每一個分量都必須是不可分的數(shù)據(jù)項。這是規(guī)范條件中最基本的一條關系模式(RelationSchema)是型關系是值關系模式是對關系的描述元組集合的結構屬性構成屬性來自的域屬性與域之間的映象關系元組語義以及完整性約束條件屬性間的數(shù)據(jù)依賴關系集合定義關系模式關系模式可以形式化地表示為:R(U,D,dom,F(xiàn))R關系名U組成該關系的屬性名集合D屬性組U中屬性所來自的域dom屬性向域的映象集合F屬性間的數(shù)據(jù)依賴關系集合關系模式通??梢院営洖镽(U)或R(A1,A2,An)R關系名A1,A2,A
17、n屬性名注:域名及屬性向域的映象常常直接說明為屬性的類型、長度關系模式對關系的描述靜態(tài)的、穩(wěn)定的關系關系模式在某一時刻的狀態(tài)或內容動態(tài)的、隨時間不斷變化的關系模式和關系往往統(tǒng)稱為關系通過上下文加以區(qū)別關系數(shù)據(jù)庫在一個給定的應用領域中,所有實體及實體之間聯(lián)系的關系的集合構成一個關系數(shù)據(jù)庫。關系數(shù)據(jù)庫的型與值關系數(shù)據(jù)庫也有型和值之分關系數(shù)據(jù)庫的型稱為關系數(shù)據(jù)庫模式,是對關系數(shù)據(jù)庫的描述若干域的定義在這些域上定義的若干關系模式關系數(shù)據(jù)庫的值是這些關系模式在某一時刻對應的關系的集合,通常簡稱為關系數(shù)據(jù)庫3關系的完整性關系模型的完整性規(guī)則是對關系的某種約束條件。關系模型中三類完整性約束:實體完整性參照完
18、整性用戶定義的完整性實體完整性和參照完整性是關系模型必須滿足的完整性約束條件,被稱作是關系的兩個丕變性,應該由關系系統(tǒng)自動支持。實體完整性實體完整性規(guī)則(EntityIntegrity)若屬性A是基本關系R的主屬性,則屬性A不能取空值關系模型必須遵守實體完整性規(guī)則的原因實體完整性規(guī)則是針對基本關系而言的。一個基本表通常對應現(xiàn)實世界的一個實體集或多對多聯(lián)系。現(xiàn)實世界中的實體和實體間的聯(lián)系都是可區(qū)分的,即它們具有某種唯一性標識。相應地,關系模型中以主碼作為唯一性標識。關系模型必須遵守實體完整性規(guī)則的原因(續(xù))主碼中的屬性即主屬性不能取空值??罩稻褪恰安恢馈被颉盁o意義”的值。主屬性取空值,就說明存
19、在某個不可標識的實體,即存在不可區(qū)分的實體,這與第(2)點相矛盾,因此這個規(guī)則稱為實體完整性。實體完整性規(guī)則規(guī)定基本關系的所有主屬性都不能取空值參照完整性關系間的引用外碼參照完整性規(guī)則關系間的引用在關系模型中實體及實體間的聯(lián)系都是用關系來描述的,因此可能存在著關系與關系間的引用。外碼(ForeignKey)設F是基本關系R的一個或一組屬性,但不是關系R的碼。如果F與基本關系S的主碼Ks相對應,則稱F是基本關系R的外碼基本關系R稱為參照關系(ReferencingRelation)基本關系S稱為被參照關系(ReferencedRelation)或目標關系(TargetRelation)。說明關系
20、R和S不一定是不同的關系目標關系S的主碼Ks和參照關系的外碼F必須定義在同一個(或一組)域上外碼并不一定要與相應的主碼同名當外碼與相應的主碼屬于不同關系時,往往取相同的名字,以便于識別參照完整性規(guī)則若屬性(或屬性組)F是基本關系R的外碼它與基本關系S的主碼Ks相對應(基本關系R和S不一定是不同的關系),則對于R中每個元組在F上的值必須為:或者取空值(F的每個屬性值均為空值)或者等于S中某個元組的主碼值。2.3.3用戶定義的完整性用戶定義的完整性是針對某一具體關系數(shù)據(jù)庫的約束條件,反映某一具體應用所涉及的數(shù)據(jù)必須滿足的語義要求。關系模型應提供定義和檢驗這類完整性的機制,以便用統(tǒng)一的系統(tǒng)的方法處理
21、它們,而不要由應用程序承擔這一功能。Operation運算,操作Operator算子Operand操作數(shù)1.關系代數(shù)一種抽象的查詢語言用對關系的運算來表達查詢2關系代數(shù)運算的三個要素運算對象:關系運算結果:關系運算符:四類關系代數(shù)運算符集合U并比較大于運算-差運算三大于等于符n交符V小于X廣義笛卡爾積小于等于=等于豐不等于專門的關系0選擇邏輯運算符-1非運算符n投影A與連接V或除4關系代數(shù)運算的分類傳統(tǒng)的集合運算并、差、交、廣義笛卡爾積專門的關系運算選擇、投影、連接、除5表示記號(1)R,twR,tAi設關系模式為R(A1,A2,An)它的一個關系設為RotwR表示t是R的一個元組tAi則表示
22、元組t中相應于屬性Ai的一個分量(2)A,tA,A若A=A訂,Ai2,,Aik,其中Ail,Ai2,,Aik是Al,A2,,An中的一部分,則A稱為屬性列或域列。tA=(tAi1,tAi2,,tAik)表示元組t在屬性列A上諸分量的集合。A則表示A1,A2,,An中去掉A訂,Ai2,,Aik后剩余的屬性組。(3)trtsR為n目關系,S為m目關系。trgR,tseS,trts稱為元組的連接。它是一個n+m列的元組,前n個分量為R中的一個n元組,后m個分量為S中的一個m元組。4)象集Zx給定一個關系R(X,Z),X和Z為屬性組。當tX=x時,x在R中的象集(ImagesSet)為:Zx=tZ|t
23、gR,tX=x它表示R中屬性組X上值為x的諸元組在Z上分量的集合。1.并(Union)R和S具有相同的目n(即兩個關系都有n個屬性)相應的屬性取自同一個域RUS仍為n目關系,由屬于R或屬于S的元組組成RUS=titgRVtgSR和S具有相同的目n相應的屬性取自同一個域R-S仍為n目關系,由屬于R而不屬于S的所有元組組成R-S=titeRAtSR和S具有相同的目n相應的屬性取自同一個域Rns仍為n目關系,由既屬于R又屬于S的元組組成RnS=titgRAtgSRns=R(R-S)廣義笛卡爾積(ExtendedCartesianProduct)Rn目關系,k1個元組Sm目關系,k2個元組RXS列:(
24、n+m)列的元組的集合元組的前n列是關系R的一個元組后m列是關系S的一個元組行:k1Xk2個元組RXS=trtsitrgRAtsgS專門的關系運算1.選擇(Selection)1)選擇又稱為限制(Restriction)2)選擇運算符的含義在關系R中選擇滿足給定條件的諸元組oF(R)=titeRAF(t)=真F:選擇條件,是一個邏輯表達式,基本形式為:(X19Y1)(X29Y2).e:比較運算符(,三,,0,=或)X1,Y1等:屬性名、常量、簡單函數(shù);屬性名也可以用它的序號來代替:邏輯運算符(A或V):表示任選項:表示上述格式可以重復下去3)選擇運算是從行的角度進行的運算投影(Projecti
25、on)1)投影運算符的含義從R中選擇出若干屬性列組成新的關系nA(R)=tA11gRA:R中的屬性列2)投影操作主要是從列的角度進行運算但投影之后不僅取消了原關系中的某些列,而且還可能取消某些元組(避免重復行)連接(Join)1)連接也稱為e連接2)連接運算的含義從兩個關系的笛卡爾積中選取屬性間滿足一定條件的元組RS=ItrgRAtseSAtrAetsBA和B:分別為R和S上度數(shù)相等且可比的屬性組e:比較運算符連接運算從R和S的廣義笛卡爾積RXS中選?。≧關系)在A屬性組上的值與(S關系)在B屬性組上值滿足比較關系的元組。3)兩類常用連接運算等值連接(equijoin)什么是等值連接e為“=”
26、的連接運算稱為等值連接等值連接的含義從關系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組,即等值連接為:RS=|trgRAtsgSAtrA=tsB4)一般的連接操作是從行的角度進行運算。自然連接還需要取消重復列,所以是同時從行和列的角度進行運算。4)象集Z給定一個關系R(X,Z),X和Z為屬性組。當tX=x時,x在R中的象集(ImagesSet)為:Zx=tZ|tgR,tX=x它表示R中屬性組X上值為x的諸元組在Z上分量的集合。除(Division)給定關系R(X,Y)和S(Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。R與S的除運算得到一
27、個新的關系P(X),P是R中滿足下列條件的元組范屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合。R+S=trXItrgRAnY(S)匸YxYx:x在R中的象集,x=trX2)除操作是同時從行和列角度進行運算第三章關系數(shù)據(jù)庫標準語言SQL3.1SQL概述SQL的特點1.綜合統(tǒng)一2.高度非過程化3.面向集合的操作方式4.以同一種語法結構提供兩種使用方法5.語言簡潔,易學易用5.語言簡捷,易學易用SQL功能數(shù)據(jù)定義數(shù)據(jù)査詢數(shù)據(jù)操縱數(shù)據(jù)控制表3.1SQL語言的動詞動詞CREATE,DROP,ALTERSELECTINSERT,UPDATEDELETEGRANT,REVOKE3.2數(shù)
28、據(jù)定義表3.2SQL的數(shù)據(jù)定義語句操作對,操作方式象創(chuàng)建刪除修改表CREATETABLEDROPTABLEALTERTABLE視圖CREATEVIEWDROPVIEW索引CREATEINDEXDROPINDEX3.2.1定義語句格式CREATETABLE表名(列名數(shù)據(jù)類型列級完整性約束條件,列名數(shù)據(jù)類型列級完整性約束條件,表級完整性約束條件);表名:所要定義的基本表的名字列名:組成該表的各個屬性(列)列級完整性約束條件:涉及相應屬性列的完整性約束條件表級完整性約束條件:涉及一個或多個屬性列的完整性約束條件常用完整性約束主碼約束:PRIMARYKEY唯一性約束:UNIQUE非空值約束:NOTNU
29、LL參照完整性約束三、刪除基本表DROPTABLE表名;基本表刪除數(shù)據(jù)、表上的索引都刪除表上的視圖往往仍然保留,但無法引用刪除基本表時,系統(tǒng)會從數(shù)據(jù)字典中刪去有關該基本表及其索引的描述(標準中沒有,認為表建立后就永久存在)二、修改基本表ALTERTABLE表名ADD新列名數(shù)據(jù)類型完整性約束DROP完整性約束名MODIFY列名數(shù)據(jù)類型;表名:要修改的基本表ADD子句:增加新列和新的完整性約束條件DROP子句:刪除指定的完整性約束條件MODIFY子句:用于修改列名和數(shù)據(jù)類型ALTERTABLEStudentADDScomeDATE;不論基本表中原來是否已有數(shù)據(jù),新增加的列一律為空值。刪除屬性列直接
30、/間接刪除把表中要保留的列及其內容復制到一個新表中刪除原表再將新表重命名為原表名直接刪除屬性列:(新)例:ALTERTABLEStudentDropScome;ALTERTABLEStudentMODIFYSageSMALLINT;注:修改原有的列定義有可能會破壞已有數(shù)據(jù)建立與刪除索引建立索引是加快查詢速度的有效手段建立索引DBA或表的屬主(即建立表的人)根據(jù)需要建立有些DBMS自動建立以下列上的索引PRIMARYKEYUNIQUE維護索引DBMS自動完成使用索引DBMS自動選擇是否使用索引以及使用哪些索引一、建立索引語句格式CREATEUNIQUECLUSTERINDEX索引名ON表名(列名
31、次序,列名次序;)用表名指定要建索引的基本表名字索引可以建立在該表的一列或多列上,各列名之間用逗號分隔用次序指定索引值的排列次序,升序:ASC,降序:DESC。缺省值:ASCUNIQUE表明此索引的每一個索引值只對應唯一的數(shù)據(jù)記錄CLUSTER表示要建立的索引是聚簇索引唯一值索引對于已含重復值的屬性列不能建UNIQUE索引對某個列建立UNIQUE索引后,插入新記錄時DBMS會自動檢查新記錄在該列上是否取了重復值。這相當于增加了一個UNIQUE約束聚簇索引建立聚簇索引后,基表中數(shù)據(jù)也需要按指定的聚簇屬性值的升序或降序存放。也即聚簇索引的索引項順序與表中記錄的物理順序一致例:CREATECLUST
32、ERINDEXStusnameONStudent(Sname);在Student表的Sname(姓名)列上建立一個聚簇索引,而且Student表中的記錄將按照Sname值的升序存放在一個基本表上最多只能建立一個聚簇索引聚簇索引的用途:對于某些類型的查詢,可以提高查詢效率聚簇索引的適用范圍很少對基表進行增刪操作很少對其中的變長列進行修改操作二、刪除索引DROPINDEX索引名;刪除索引時,系統(tǒng)會從數(shù)據(jù)字典中刪去有關該索引的描述。3.3查詢語句格式SELECTALL|DISTINCT目標列表達式,目標列表達式FROM表名或視圖名,表名或視圖名WHERE條件表達式GROUPBY列名1HAVING條件
33、表達式ORDERBY列名2ASC|DESC;SELECT子句:指定要顯示的屬性列FROM子句:指定查詢對象(基本表或視圖)WHERE子句:指定查詢條件GROUPBY子句:對查詢結果按指定列的值分組,該屬性列值相等的元組為一個組。通常會在每組中作用集函數(shù)。HAVING短語:篩選出只有滿足指定條件的組ORDERBY子句:對查詢結果表按指定列值的升序或降序排序3.3.2單表查詢查詢僅涉及一個表,是一種最簡單的查詢操作一、選擇表中的若干列二、選擇表中的若干元組三、對查詢結果排序四、使用集函數(shù)五、對查詢結果分組查詢經(jīng)過計算的值SELECT子句的目標列表達式為表達式算術表達式字符串常量函數(shù)列別名等二、選擇
34、表中的若干元組消除取值重復的行查詢滿足條件的元組消除取值重復的行在SELECT子句中使用DISTINCT短語假設SC表中有下列數(shù)據(jù)查詢滿足條件的元組WHERE子句常用的査詢條件(1)比較大小在WHERE子句的比較條件中使用比較運算符=,=,=,!=或,!,!,邏輯運算符NOT+比較運算符(2)確定范圍使用謂詞BETWEENANDNOTBETWEENAND(3)確定集合使用謂詞IN值表,NOTIN值表值表:用逗號分隔的一組取值(4)字符串匹配NOTLIKE匹配串ESCAPE換碼字符匹配串:指定匹配模板匹配模板:固定字符串或含通配符的字符串當匹配模板為固定字符串時,可以用=運算符取代LIKE謂詞用
35、!=或運算符取代NOTLIKE謂詞通配符%(百分號)代表任意長度(長度可以為0)的字符串例:a%b表示以a開頭,以b結尾的任意長度的字符串。如acb,addgb,ab等都滿足該匹配串_(下橫線)代表任意單個字符例:a_b表示以a開頭,以b結尾的長度為3的任意字符串。如acb,afb等都滿足該匹配串查詢DB_Design課程的課程號和學分。SELECTCno,CcreditFROMCourseWHERECnameLIKEDB_DesignESCAPE(5)涉及空值的查詢使用謂詞ISNULL或ISNOTNULL“ISNULL”不能用“=NULL”代替(6)多重條件查詢用邏輯運算符AND和OR來聯(lián)結
36、多個查詢條件AND的優(yōu)先級高于OR可以用括號改變優(yōu)先級可用來實現(xiàn)多種其他謂詞NOTINNOTBETWEENAND三、對查詢結果排序使用ORDERBY子句可以按一個或多個屬性列排序升序:ASC;降序:DESC;缺省值為升序當排序列含空值時ASC:排序列為空值的兀組最后顯示DESC:排序列為空值的元組最先顯示四、使用集函數(shù)5類主要集函數(shù)計數(shù)COUNT(DISTINCTIALL*)COUNT(DISTINCTIALL列名)計算總和SUM(DISTINCTIALL列名)計算平均值AVG(DISTINCTIALL列名)求最大值MAX(DISTINCTIALL列名)求最小值MIN(DISTINCTIALL
37、列名)DISTINCT短語:在計算時要取消指定列中的重復值ALL短語:不取消重復值ALL為缺省值五、對查詢結果分組使用GROUPBY子句分組細化集函數(shù)的作用對象未對查詢結果分組,集函數(shù)將作用于整個查詢結果對查詢結果分組后,集函數(shù)將分別作用于每個組GROUPBY子句的作用對象是查詢的中間結果表分組方法:按指定的一列或多列值分組,值相等的為一組使用GROUPBY子句后,SELECT子句的列名列表中只能出現(xiàn)分組屬性和集函數(shù)使用HAVING短語篩選最終輸出結果只有滿足HAVING短語指定條件的組才輸出HAVING短語與WHERE子句的區(qū)別:作用對象不同WHERE子句作用于基表或視圖,從中選擇滿足條件的
38、元組。HAVING短語作用于組,從中選擇滿足條件的組。連接查詢同時涉及多個表的查詢稱為連接查詢用來連接兩個表的條件稱為連接條件或連接謂詞一般格式:表名1.列名1比較運算符表名2.列名2比較運算符:=、=、=、!=表名1.列名1BETWEEN表名2.列名2AND表名2.列名3連接字段連接謂詞中的列名稱為連接字段連接條件中的各連接字段類型必須是可比的,但不必是相同的連接操作的執(zhí)行過程嵌套循環(huán)法(NESTED-LOOP)首先在表1中找到第一個元組,然后從頭開始掃描表2,逐一查找滿足連接件的元組,找到后就將表1中的第一個元組與該元組拼接起來,形成結果表中一個元組。表2全部查找完后,再找表1中第二個元組
39、,然后再從頭開始掃描表2,逐一查找滿足連接條件的元組,找到后就將表1中的第二個元組與該元組拼接起來,形成結果表中一個元組。重復上述操作,直到表1中的全部元組都處理完畢排序合并法(SORT-MERGE)常用于=連接首先按連接屬性對表1和表2排序對表1的第一個元組,從頭開始掃描表2,順序查找滿足連接條件的元組,找到后就將表1中的第一個元組與該元組拼接起來,形成結果表中一個元組。當遇到表2中第一條大于表1連接字段值的元組時,對表2的查詢不再繼續(xù)找到表1的第二條元組,然后從剛才的中斷點處繼續(xù)順序掃描表2,查找滿足連接條件的元組,找到后就將表1中的第一個元組與該元組拼接起來,形成結果表中一個元組。直接遇
40、到表2中大于表1連接字段值的元組時,對表2的查詢不再繼續(xù)重復上述操作,直到表1或表2中的全部元組都處理完畢為止索引連接(INDEX-JOIN)對表2按連接字段建立索引對表1中的每個元組,依次根據(jù)其連接字段值查詢表2的索引,從中找到滿足條件的元組,找到后就將表1中的第一個元組與該元組拼接起來,形成結果表中一個元組SQL中連接查詢的主要類型廣義笛卡爾積等值連接(含自然連接)非等值連接查詢自身連接查詢外連接查詢復合條件連接查詢一、廣義笛卡爾積不帶連接謂詞的連接很少使用二、等值與非等值連接查詢等值連接連接運算符為=的連接操作.=.任何子句中引用表1和表2中同名屬性時,都必須加表名前綴。引用唯一屬性名時
41、可以加也可以省略表名前綴。自然連接等值連接的一種特殊情況,把目標列中重復的屬性列去掉。非等值連接查詢連接運算符不是=的連接操作三、自身連接一個表與其自己進行連接,稱為表的自身連接需要給表起別名以示區(qū)別由于所有屬性名都是同名屬性,因此必須使用別名前綴四、外連接(OuterJoin)外連接與普通連接的區(qū)別普通連接操作只輸出滿足連接條件的元組外連接操作以指定表為連接主體,將主體表中不滿足連接條件的元組一并輸出在表名后面加外連接操作符(*)或(+)指定非主體表非主體表有一“萬能”的虛行,該行全部由空值組成虛行可以和主體表中所有不滿足連接條件的元組進行連接由于虛行各列全部是空值,因此與虛行連接的結果中,
42、來自非主體表的屬性值全部是空值左外連接外連接符出現(xiàn)在連接條件的左邊右外連接外連接符出現(xiàn)在連接條件的右邊五、復合條件連接WHERE子句中含多個連接條件時,稱為復合條件連接嵌套查詢概述一個SELECT-FROM-WHERE語句稱為一個查詢塊將一個查詢塊嵌套在另一個查詢塊的WHERE子句或HAVING短語的條件中的查詢稱為嵌套查詢子查詢的限制不能使用ORDERBY子句層層嵌套方式反映了SQL語言的結構化有些嵌套查詢可以用連接運算替代不相關子查詢子查詢的查詢條件不依賴于父查詢相關子查詢子查詢的查詢條件依賴于父查詢不相關子查詢是由里向外逐層處理。即每個子查詢在上一級查詢處理之前求解,子查詢的結果用于建立
43、其父查詢的查找條件。相關子查詢首先取外層查詢中表的第一個元組,根據(jù)它與內層查詢相關的屬性值處理內層查詢若WHERE子句返回值為真,則取此元組放入結果表;然后再取外層表的下一個元組;重復這一過程,直至外層表全部檢查完為止引出子查詢的謂詞帶有IN謂詞的子查詢帶有比較運算符的子查詢帶有ANY或ALL謂詞的子查詢帶有EXISTS謂詞的子查詢一、帶有IN謂詞的子査詢二、帶有比較運算符的子查詢當能確切知道內層查詢返回單值時,可用比較運算符(,=,=,=,!=或)。與ANY或ALL謂詞配合使用三、帶有ANY或ALL謂詞的子査詢謂詞語義ANY:任意一個值ALL:所有值需要配合使用比較運算符ANY大于子查詢結果
44、中的某個值ALL大于子查詢結果中的所有值ANY小于子查詢結果中的某個值ALL小于子查詢結果中的所有值=ANY大于等于子查詢結果中的某個值=ALL大于等于子查詢結果中的所有值=ANY小于等于子查詢結果中的某個值=ALL小于等于子查詢結果中的所有值=ANY等于子查詢結果中的某個值=ALL等于子查詢結果中的所有值(通常沒有實際意義)!=(或v)ANY不等于子査詢結果中的某個值!=(或)ALL不等于子查詢結果中的任何一個值四、帶有EXISTS謂詞的子查詢EXISTS謂詞NOTEXISTS謂詞不同形式的查詢間的替換相關子查詢的效率用EXISTS/NOTEXISTS實現(xiàn)全稱量詞用EXISTS/NOTEXI
45、STS實現(xiàn)邏輯蘊函1.EXISTS謂詞-存在量詞日-帶有EXISTS謂詞的子査詢不返回任何數(shù)據(jù),只產(chǎn)生邏輯真值“true”或邏輯假值“false”。若內層查詢結果非空,則返回真值若內層查詢結果為空,則返回假值-由EXISTS引出的子査詢,其目標列表達式通常都用*,因為帶EXISTS的子査詢只返回真值或假值,給出列名無實際意義2.NOTEXISTS謂詞不同形式的査詢間的替換一些帶EXISTS或NOTEXISTS謂詞的子査詢不能被其他形式的子査詢等價替換所有帶IN謂詞、比較運算符、ANY和ALL謂詞的子査詢都能用帶EXISTS謂詞的子査詢等價替換。5用EXISTS/NOTEXISTS實現(xiàn)全稱量詞(
46、難點)SQL語言中沒有全稱量詞V(Forall)可以把帶有全稱量詞的謂詞轉換為等價的帶有存在量詞的謂詞:(Vx)P三(3x(P)6.用EXISTS/NOTEXISTS實現(xiàn)邏輯蘊函(難點)SQL語言中沒有蘊函(Implication)邏輯運算可以利用謂詞演算將邏輯蘊函謂詞等價轉換為:pTq三-ipVq3.3.5集合査詢標準SQL直接支持的集合操作種類并操作(UNION)一般商用數(shù)據(jù)庫支持的集合操作種類并操作(UNION)交操作(INTERSECT)差操作(MINUS)1并操作形式査詢塊UNION査詢塊參加UNION操作的各結果表的列數(shù)必須相同;對應項的數(shù)據(jù)類型也必須相同2交操作標準SQL中沒有提
47、供集合交操作,但可用其他方法間接實現(xiàn)。3差操作對集合操作結果的排序ORDERBY子句只能用于對最終査詢結果排序,不能對中間結果排序任何情況下,ORDERBY子句只能出現(xiàn)在最后對集合操作結果排序時,ORDERBY子句中用數(shù)字指定排序屬性3.4數(shù)據(jù)更新3.4.1插入數(shù)據(jù)兩種插入數(shù)據(jù)方式插入單個元組插入子查詢結果插入單個元組語句格式INSERTINTO,)VALUES(,)功能將新元組插入指定表中。INTO子句指定要插入數(shù)據(jù)的表名及屬性列屬性列的順序可與表定義中的順序不一致沒有指定屬性列:表示要插入的是一條完整的元組,且屬性列屬性與表定義中的順序一致指定部分屬性列:插入的元組在其余屬性列上取空值VA
48、LUES子句提供的值必須與INTO子句匹配值的個數(shù)值的類型插入子查詢結果語句格式INSERTINTOV表名(V屬性列1,V屬性列2)子查詢;功能將子查詢結果插入指定表中INSERTINTODeptage(Sdept,Avgage)SELECTSdept,AVG(Sage)FROMStudentGROUPBYSdept;INTO子句(與插入單條元組類似)指定要插入數(shù)據(jù)的表名及屬性列屬性列的順序可與表定義中的順序不一致沒有指定屬性列:表示要插入的是一條完整的元組指定部分屬性列:插入的元組在其余屬性列上取空值子查詢SELECT子句目標列必須與INTO子句匹配值的個數(shù)值的類型3.4.2修改數(shù)據(jù)語句格式
49、UPDATE表名SET列名=v表達式,列名=v表達式WHERE條件;功能修改指定表中滿足WHERE子句條件的元組三種修改方式修改某一個元組的值修改多個元組的值帶子查詢的修改語句UPDATESCSETGrade=0WHERECS=(SELETESdeptFROMStudentWHEREStudent.Sno=SC.Sno);SET子句指定修改方式要修改的列修改后取值WHERE子句指定要修改的元組缺省表示要修改表中的所有元組DBMS在執(zhí)行修改語句時會檢查修改操作是否破壞表上已定義的完整性規(guī)則實體完整性主碼不允許修改用戶定義的完整性NOTNULL約束UNIQUE約束值域約束DELETEFROMv表名
50、WHEREV條件;-功能刪除指定表中滿足WHERE子句條件的元組-WHERE子句指定要刪除的元組缺省表示要修改表中的所有元組-三種刪除方式刪除某一個元組的值刪除多個元組的值帶子査詢的刪除語句DBMS在執(zhí)行插入語句時會檢查所插元組是否破壞表上已定義的完整性規(guī)則-參照完整性不允許刪除級聯(lián)刪除更新數(shù)據(jù)與數(shù)據(jù)一致性DBMS在執(zhí)行插入、刪除、更新語句時必須保證數(shù)據(jù)庫一致性必須有事務的概念和原子性完整性檢査和保證3.5視圖視圖的特點虛表,是從一個或幾個基本表(或視圖)導出的表只存放視圖的定義,不會出現(xiàn)數(shù)據(jù)冗余基表中的數(shù)據(jù)發(fā)生變化,從視圖中查詢出的數(shù)據(jù)也隨之改變基于視圖的操作查詢刪除受限更新定義基于該視圖的
51、新視圖1.建立視圖語句格式CREATEVIEW視圖名(V列名,列名)AS子查詢WITHCHECKOPTION;DBMS執(zhí)行CREATEVIEW語句時只是把視圖的定義存入數(shù)據(jù)字典,并不執(zhí)行其中的SELECT語句。在對視圖查詢時,按視圖的定義從基本表中將數(shù)據(jù)查出。組成視圖的屬性列名全部省略或全部指定省略:由子查詢中SELECT目標列中的諸字段組成明確指定視圖的所有列名:某個目標列是集函數(shù)或列表達式目標列為*多表連接時選出了幾個同名列作為視圖的字段需要在視圖中為某個列啟用新的更合適的名字WITHCHECKOPTION透過視圖進行增刪改操作時,不得破壞視圖定義中的謂詞條件(即子查詢中的條件表達式)帶表
52、達式的視圖定義一個反映學生出生年份的視圖。CREATEVIEWBT_S(Sno,Sname,Sbirth)ASSELECTSno,Sname,2000-SageFROMStudent設置一些派生屬性列,也稱為虛擬列-Sbirth帶表達式的視圖必須明確定義組成視圖的各個屬性列名一類不易擴充的視圖以SELECT*方式創(chuàng)建的視圖可擴充性差,應盡可能避免2.刪除視圖DROPVIEW視圖名;該語句從數(shù)據(jù)字典中刪除指定的視圖定義由該視圖導出的其他視圖定義仍在數(shù)據(jù)字典中,但已不能使用,必須顯式刪除刪除基表時,由該基表導出的所有視圖定義都必須顯式刪除查詢視圖從用戶角度:查詢視圖與查詢基本表相同DBMS實現(xiàn)視圖
53、查詢的方法實體化視圖(ViewMaterialization)有效性檢查:檢查所查詢的視圖是否存在執(zhí)行視圖定義,將視圖臨時實體化,生成臨時表查詢視圖轉換為查詢臨時表查詢完畢刪除被實體化的視圖(臨時表)視圖消解法(ViewResolution)進行有效性檢查,檢查查詢的表、視圖等是否存在。如果存在,則從數(shù)據(jù)字典中取出視圖的定義把視圖定義中的子查詢與用戶的查詢結合起來,轉換成等價的對基本表的查詢執(zhí)行修正后的查詢視圖實體化法視圖消解法更新視圖用戶角度:更新視圖與更新基本表相同DBMS實現(xiàn)視圖更新的方法視圖實體化法(ViewMaterialization)視圖消解法(ViewResolution)指定
54、WITHCHECKOPTION子句后DBMS在更新視圖時會進行檢查,防止用戶通過視圖對不屬于視圖范圍內的基本表數(shù)據(jù)進行更新更新視圖的限制一些視圖是不可更新的,因為對這些視圖的更新不能唯一地有意義地轉換成對相應基本表的更新(對兩類方法均如此)允許對行列子集視圖進行更新對其他類型視圖的更新不同系統(tǒng)有不同限制DB2對視圖更新的限制:若視圖是由兩個以上基本表導出的,則此視圖不允許更新。若視圖的字段來自字段表達式或常數(shù),則不允許對此視圖執(zhí)行INSERT和UPDATE操作,但允許執(zhí)行DELETE操作。若視圖的字段來自集函數(shù),則此視圖不允許更新。若視圖定義中含有GROUPBY子句,則此視圖不允許更新。若視圖
55、定義中含有DISTINCT短語,則此視圖不允許更新。若視圖定義中有嵌套查詢,并且內層查詢的FROM子句中涉及的表也是導出該視圖的基本表,則此視圖不允許更新。一個不允許更新的視圖上定義的視圖也不允許更新視圖對重構數(shù)據(jù)庫提供了一定程度的邏輯獨立性物理獨立性與邏輯獨立性的概念視圖在一定程度上保證了數(shù)據(jù)的邏輯獨立性視圖只能在一定程度上提供數(shù)據(jù)的邏輯獨立性由于對視圖的更新是有條件的,因此應用程序中修改數(shù)據(jù)的語句可能仍會因基本表結構的改變而改變。視圖能夠對機密數(shù)據(jù)提供安全保護對不同用戶定義不同視圖,使每個用戶只能看到他有權看到的數(shù)據(jù)通過WITHCHECKOPTION對關鍵數(shù)據(jù)定義操作時間限制3.6數(shù)據(jù)控制
56、3.6.1授權3.6.2收回權限數(shù)據(jù)控制亦稱為數(shù)據(jù)保護,包括數(shù)據(jù)的:安全性控制完整性控制并發(fā)控制恢復SQL語言的數(shù)據(jù)控制功能SQL語言提供了數(shù)據(jù)控制功能,能夠在一定程度上保證數(shù)據(jù)庫中數(shù)據(jù)的完全性、完整性,并提供了一定的并發(fā)控制及恢復能力。1.完整性數(shù)據(jù)庫的完整性是指數(shù)據(jù)庫中數(shù)據(jù)的正確性與相容性。SQL語言定義完整性約束條件CREATETABLE語句ALTERTABLE語句碼取值唯一的列參照完整性其他約束條件2.并發(fā)控制并發(fā)控制:當多個用戶并發(fā)地對數(shù)據(jù)庫進行操作時,對他們加以控制、協(xié)調,以保證并發(fā)操作正確執(zhí)行,保持數(shù)據(jù)庫的一致性。SQL語言并發(fā)控制能力:提供事務、事務開始、事務結束、提交等概念3
57、.恢復恢復:當發(fā)生各種類型的故障導致數(shù)據(jù)庫處于不一致狀態(tài)時,將數(shù)據(jù)庫恢復到一致狀態(tài)的功能。SQL語言恢復功能:提供事務回滾、重做等概念(UNDO、REDO)4.安全性安全性:保護數(shù)據(jù)庫,防止不合法的使用所造成的數(shù)據(jù)泄露和破壞。保證數(shù)據(jù)安全性的主要措施存取控制:控制用戶只能存取他有權存取的數(shù)據(jù)規(guī)定不同用戶對于不同數(shù)據(jù)對象所允許執(zhí)行的操作DBMS實現(xiàn)數(shù)據(jù)安全性保護的過程用戶或DBA把授權決定告知系統(tǒng)SQL的GRANT和REVOKEDBMS把授權的結果存入數(shù)據(jù)字典當用戶提出操作請求時,DBMS根據(jù)授權定義進行檢查,以決定是否執(zhí)行操作請求3.6.1授權GRANT語句的一般格式:GRANT權限,權限.O
58、N對象類型對象名TO用戶,用戶.WITHGRANTOPTION;誰定義?DBA和表的建立者(即表的屬主)REVOKE功能:將對指定操作對象的指定操作權限授予指定的用戶。(1)操作權限對象對象類型操作權限屬性列TABLESELECT,INSERT,UPDATE,DELETE,ALLRIVIEGES視圖TABLESELECT,INSERT,UPDATE,DELETE,ALLRIVIEGES基本表TABLESELECT,INSERT,UPDATE,DELETEALTER,INDEX,ALLPRIVIEGES數(shù)據(jù)庫DATABASECREATETAB(2)用戶的權限建表(CREATETAB)的權限:屬于
59、DBADBA授予-普通用戶基本表或視圖的屬主擁有對該表或視圖的一切操作權限接受權限的用戶:一個或多個具體用戶PUBLIC(全體用戶)(4)WITHGRANTOPTION子句指定了WITHGRANTOPTION子句:獲得某種權限的用戶還可以把這種權限再授予別的用戶。沒有指定WITHGRANTOPTION子句:獲得某種權限的用戶只能使用該權限,不能傳播該權限査詢Student表權限授給用戶U1GRANTSELECTONTABLEStudentTOU1;把對Student表和Course表的全部權限授予用戶U2和U3GRANTALLPRIVILIGESONTABLEStudent,CourseTOU
60、2,U3;3.6.2收回權限REVOKE語句的一般格式為:REVOKE權限,權限.ON對象類型對象名FROM用戶,用戶.;功能:從指定用戶那里收回對指定對象的指定權限3.7嵌入式SQLSQL語言提供了兩種不同的使用方式:交互式嵌入式為什么要引入嵌入式SQLSQL語言是非過程性語言事務處理應用需要高級語言這兩種方式細節(jié)上有差別,在程序設計的環(huán)境下,SQL語句要做某些必要的擴充3.7.1嵌入式SQL的一般形式為了區(qū)分SQL語句與主語言語句,需要:前綴:EXECSQL結束標志:隨主語言的不同而不同以C為主語言的嵌入式SQL語句的一般形式EXECSQLSQL語句;DBMS處理宿主型數(shù)據(jù)庫語言SQL的方
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 培養(yǎng)學生社會責任感的教育活動計劃
- 《生物無機化學》課程教學大綱
- 《化工仿真實習》課程教學大綱
- 減庫存與提升周轉率的策略計劃
- 咨詢服務會計的工作計劃
- 跨界合作中的安全保障措施總結計劃
- 企業(yè)內部的培訓效果評估與反饋
- 制定個人學習發(fā)展的藍圖計劃
- 兒科學科中生物安全教育的重要性
- 2024年高考數(shù)學專項復習:直線與圓
- 混凝土拌合站拌合運輸工程合同
- 機床操作與數(shù)控編程作業(yè)指導書
- 2025云南昆明空港投資開發(fā)集團招聘7人高頻重點模擬試卷提升(共500題附帶答案詳解)
- 2024-2025學年人教版數(shù)學六年級下冊第二單元百分數(shù)(二)單元檢測(含答案)
- 湖北省武漢市江漢區(qū)2024-2025學年八年級(上)期末物理試卷(含解析)
- 2025年無錫商業(yè)職業(yè)技術學院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 《寄生蟲學檢驗》課件-結膜吸吮線蟲
- 探索商業(yè)保險與家庭醫(yī)生簽約服務的合作模式與前景
- 2024年江西泰豪動漫職業(yè)學院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 《習近平法治思想概論(第二版)》 課件 第十六章 正確處理政治和法治的關系;第十七章 正確處理改革和法治的關系
- 《習近平法治思想概論(第二版)》 課件 18.第十八章 正確處理發(fā)展和安全的關系
評論
0/150
提交評論