SQL數(shù)據(jù)庫(kù)完全操作手冊(cè)_第1頁(yè)
SQL數(shù)據(jù)庫(kù)完全操作手冊(cè)_第2頁(yè)
SQL數(shù)據(jù)庫(kù)完全操作手冊(cè)_第3頁(yè)
SQL數(shù)據(jù)庫(kù)完全操作手冊(cè)_第4頁(yè)
SQL數(shù)據(jù)庫(kù)完全操作手冊(cè)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、SQL是Structured Quevy Language結(jié)構(gòu)化查詢語(yǔ)言)的縮寫(xiě)。SQL是專為數(shù)據(jù) 庫(kù)而建立的操作命令集,是一種功能齊全的數(shù)據(jù)庫(kù)語(yǔ)言。在使用它時(shí),只需要發(fā)出做什 么”的命令,怎么做”是不用使用者考慮的。SQL功能強(qiáng)大、簡(jiǎn)單易學(xué)、使用方便,已 經(jīng)成為了數(shù)據(jù)庫(kù)操作的基礎(chǔ),并且現(xiàn)在幾乎所有的數(shù)據(jù)庫(kù)均 支持SQLo#1二、SQL數(shù)據(jù)庫(kù)數(shù)據(jù)體系結(jié)構(gòu)SQL數(shù)據(jù)庫(kù)的數(shù)據(jù)體系結(jié)構(gòu)基本上是三級(jí)結(jié)構(gòu),但使用術(shù)語(yǔ)與傳統(tǒng)關(guān)系模型術(shù)語(yǔ)不 同。在SQL中,關(guān)系模式(模式)稱為基本表” (basetable)存儲(chǔ)模式(內(nèi)模 式)稱 為存儲(chǔ)文件” (storedfile)子模式(外模式)稱為視圖” (view

2、;元組稱為行” (row;屬性稱為 列” (columno名稱對(duì)稱如400100009人:#1三、SQL語(yǔ)言的組成在正式學(xué)習(xí)SQL語(yǔ)言之前,首先讓我們對(duì)SQL語(yǔ)言有一個(gè)基本認(rèn)識(shí),介紹一下 SQL語(yǔ)言的組成:1一個(gè)SQL數(shù)據(jù)庫(kù)是表(Table)的集合,它由一個(gè)或多個(gè)SQL模式定義。2 .一個(gè)SQL表由行集構(gòu)成,一行是列的序列(集合),每列與行對(duì)應(yīng)一個(gè)數(shù)據(jù) 項(xiàng)。3 .一個(gè)表或者是一個(gè)基本表或者是一個(gè)視圖?;颈硎菍?shí)際存儲(chǔ)在數(shù)據(jù)庫(kù)的表,而 視圖是由若干基本表或其他視圖構(gòu)成的表的定義。4 .一個(gè)基本表可以跨一個(gè)或多個(gè)存儲(chǔ)文件,一個(gè)存儲(chǔ)文件也可存放一個(gè)或多個(gè)基本 表。每個(gè)存儲(chǔ)文件與外部存儲(chǔ)上一個(gè)物理文件

3、對(duì)應(yīng)。5用戶可以用SQL語(yǔ)句對(duì)視圖和基本表進(jìn)行查詢等操作。在用戶角度來(lái) 看,視圖和基本表是一樣的,沒(méi)有區(qū)別,都是關(guān)系(表格)。用戶可以是應(yīng)用程序,也可以是終端用戶。SQL語(yǔ)句可嵌入在宿主語(yǔ)言的程 序中使 用,宿主語(yǔ)言有FORTRAN COBOL PASCAL PL/I, C和Ada語(yǔ)言等。SQL用戶也能作 為獨(dú)立的用戶接口,供交互環(huán)境下的終端用戶使用。#1四、對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作SQL包括了所有對(duì)數(shù)據(jù)庫(kù)的操作,主要是由4個(gè)部分組成: 1數(shù)據(jù)定義:這一部分又稱為“SQLDD,定義數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),包括定義 數(shù)據(jù)庫(kù)、基本表、視圖和索引4部分。2.數(shù)據(jù)操縱:這一部分又稱為“ SQLDM, L其中包括數(shù)據(jù)

4、查詢和數(shù)據(jù)更新兩大類操作,其中數(shù)據(jù)更新又包括插 入、 刪除和更新三種操作。3.數(shù)據(jù)控制:對(duì)用戶訪問(wèn)數(shù)據(jù)的控制有基本表和視圖的授權(quán)、完整性規(guī)則的描述, 事務(wù)控制語(yǔ)句等。4嵌入式SQL語(yǔ)言的使用規(guī)定:規(guī)定SQL語(yǔ)句在宿主語(yǔ)言的程序中使用的 規(guī)則。下面我們將分別介紹:#2 (一)數(shù)據(jù)定義SQL數(shù)據(jù)定義功能包括定義數(shù)據(jù)庫(kù)、基本表、索引和視圖。首先,讓我們了解一下SQL所提供的基本數(shù)據(jù)類型:(如“00100009")1 .數(shù)據(jù)庫(kù)的建立與刪除(1)建立數(shù)據(jù)庫(kù):數(shù)據(jù)庫(kù)是一個(gè)包括了多個(gè)基本表的數(shù)據(jù)集,其語(yǔ)句格式為:CREATEDATABAS數(shù)據(jù)庫(kù)名 > 其它參數(shù)其中,數(shù)據(jù)庫(kù)名 >在系統(tǒng)中

5、必須是唯一的,不能重復(fù),不然將導(dǎo)致數(shù)據(jù)存取失 誤。其它參數(shù)因具體數(shù)據(jù)庫(kù)實(shí)現(xiàn)系統(tǒng)不同而異。例:要建立項(xiàng)目管理數(shù)據(jù)庫(kù)(xmmanage),其語(yǔ)句應(yīng)為:CREATEDATABASExmmanage(2)數(shù)據(jù)庫(kù)的刪除:將數(shù)據(jù)庫(kù)及其全部?jī)?nèi)容從系統(tǒng)中刪除。其語(yǔ)句格式為:DROPDATABASE八庫(kù)名例:刪除項(xiàng)目管理數(shù)據(jù)庫(kù)(xmmanage),其語(yǔ)句應(yīng)為:DROPDATABASExmmanage2 .基本表的定義及變更本身獨(dú)立存在的表稱為基本表,在SQL語(yǔ)言中一個(gè)關(guān)系唯一對(duì)應(yīng)一個(gè)基本表?;?本表的定義指建立基本關(guān)系模式,而變更則是指對(duì)數(shù)據(jù)庫(kù)中已存在的基本表進(jìn)行刪除與修 改。(1)基本表的定義:基本表是非導(dǎo)出

6、關(guān)系,其定義涉及表名、列名及數(shù)據(jù)類型等,其 語(yǔ)句格式為:CREATETABLE據(jù)庫(kù)名 . 表名(列名數(shù)據(jù)類型缺省值NOTNULL/NUL L ,列名數(shù)據(jù)類型缺 省值NOTNULL/NULL :,UNIQUE列名,列名),PRIMAR YKEY (名):,FOR日GNKE列名3歹U名REFERENCE表名 (歹U名,列 名 )1:,CHECK條件)其它參數(shù))其中,數(shù)據(jù)庫(kù)名.指出將新建立的表存放于該數(shù)據(jù)庫(kù)中;新建的表由兩部分組成:其一為表和一組列名,其二是實(shí)際存放的數(shù)據(jù)(即可在定義表的同時(shí),直接存放數(shù)據(jù)到表中);列名為用戶自定義的易于理解的名稱,列名中不能使用空格;數(shù)據(jù)類型為上面所介紹的幾種標(biāo)準(zhǔn)數(shù)

7、據(jù)類型;:NOTNULL/NULL指出該列是否允許存放空值,SQL語(yǔ)言支持空值的概 念,所謂空 值是“不知道”或“無(wú)意義”的值,值得注意的是數(shù)據(jù)“。和”空格都不是空值,系統(tǒng)一般默認(rèn)允許為空值,所以當(dāng)不允許為空值時(shí),必須明確使用NOT NULL;UNIQUE將列按照其規(guī)定的順序進(jìn)行排列,如不指定排列順序,則按列的定義 順序排列;PRIMARY KEY用于指定表的主鍵(即關(guān)系中的主屬性),實(shí)體完整性約束條件規(guī)定:主鍵必須是唯一的,非空的;:,FOREIGNKE列名,歹U名.REFERENCE名 > (列名,歹U名刀是用于指定外鍵參照完整性約束條件,F(xiàn)OREIGNKE指定相關(guān)列為外鍵,其參照對(duì)

8、象為另外一個(gè)表的指定列,即使用 REFERENCE入的外表中的列,當(dāng)不指定外表列名時(shí),系統(tǒng)將默認(rèn)其列名與參照鍵的列名相同,要注意的是:使用 外鍵時(shí)必須使用參照,另外數(shù)據(jù)的外鍵參照完整性約束條件規(guī)定:外鍵的值要么與相對(duì) 應(yīng)的主鍵相同,要么為空值(具體由實(shí)現(xiàn)系統(tǒng)不同而異),CHECK用于使用指定條件對(duì)存入表中的數(shù)據(jù)進(jìn)行檢查,以確定其合法性,提高數(shù)據(jù)的安全性。例:要建立一個(gè)學(xué)生情況表(student)CREATE TABLE stude 表名例如:將上面建立的表都刪除DROP TABLE studen, t subject, score(3)基本表的修改:在基本表建立并使用一段時(shí)間后,可能需要根據(jù)實(shí)

9、際要求對(duì)基 本表的結(jié)構(gòu)進(jìn)行修改,即增加新的屬性或刪除屬性。增加屬性的語(yǔ)句格式為:ALTER TABLEv數(shù)據(jù)庫(kù)名 >.表名ADD(列名數(shù)據(jù)類型缺省值NOT NULL/NULL:,列名數(shù)據(jù)類型缺省值NOT NULL/NULL ,UNIQUE 列(名,歹J名)LPRIMARYKE 列名):,FOREIGN KE列名,列名)REFERENCE表名 >(列名,列 名),CHECK條件)其它參數(shù))例如:在基本表student中加入列stborn出生日期,數(shù)據(jù)類型為DATE且 不能為空值 ALTER TABLE student ADD (stborn DATE NOT NULL)刪除屬性的語(yǔ)句

10、格式為:ALTER TABLEv數(shù)據(jù)庫(kù)名 >.表名DROP(C列名數(shù)據(jù)類型缺省值NOT NULL/NUL L:,列名數(shù)據(jù)類型缺省值NOT NULL/NULL )例如:將基本表student中的列st_age刪除ALTER TABLE student DROP (st_age)3 .視圖定義與刪除在SQL中,視圖是外模式一級(jí)數(shù)據(jù)結(jié)構(gòu)的基本單位。它是從一個(gè)或幾個(gè)基 本表中導(dǎo) 出的表,是從現(xiàn)有基本表中抽取若干子集組成用戶的“專用表”。這種構(gòu)造方式必須使 用SQL中的SELECTS句來(lái)實(shí)現(xiàn)。在定義一個(gè)視圖時(shí),只是把其 定義存放在系統(tǒng)的數(shù)據(jù) 中,而并不直接存儲(chǔ)視圖對(duì)應(yīng)的數(shù)據(jù),直到用戶使用視圖時(shí)才去

11、求得對(duì)應(yīng)的數(shù)據(jù)。(1)視圖的定義:定義視圖可以使用CREATE VIEW®句實(shí)現(xiàn),其語(yǔ)句格式為:CREATE VIEV 視圖名 AS SELEC 語(yǔ)句從一個(gè)基本表中導(dǎo)出視圖:例:從基本表student中導(dǎo)出只包括女學(xué)生情況的視圖CREATE VIEW WOMANVIEW /引S的定義與刪除索引屬于物理存儲(chǔ)概念,而不是邏輯的概念。在SQL中拋棄了索引概念,直接使 用主鍵概念。值得一提的是,有些關(guān)系DBMS同時(shí)包括索引機(jī)制和主鍵 機(jī)制,這里我們 推薦使用主鍵機(jī)制,因?yàn)樗鼘?duì)系統(tǒng)資源占用較低且效率較高。(1)索引的定義:索引是建立在基本表之上的,其語(yǔ)句格式為:CREATE UNIQUE IN

12、DEX 索引名 ON:數(shù)據(jù)庫(kù)名表名例名ASC/DESC ,列名ASC/DESC )這里,保留字UNIQUE表示基本表中的索引值不允許重復(fù),若缺省則表示索引值在 表中允許重復(fù);DESC表示按索引鍵降序排列,若缺省或ASC表示升序排列。例:對(duì)基本表student中的st_no和st_age建立索引,分別為升序與降序,且索引 值不允許重復(fù)CREATE UNIQUE INDEX STINDEX 條件查詢 例:找出所有學(xué)生的的選課情況SELECT st n, o su noFROM score例:找出所有學(xué)生的情況SELECT*FROM student“ 為通配符,表示查找FROM中所指出關(guān)系的所有屬性

13、的值。2 .條件查詢 條件查詢即帶有WHERE子句的查詢,所要查詢的對(duì)象必須滿足WHERE子 句給出的條件。例:找出任何一門課成績(jī)?cè)?0以上的學(xué)生情況、課號(hào)及分?jǐn)?shù)SELECT UNIQU, E,FROM student, scoreWHERE >=70 AND =DISTINC則這里使用UNIQUE是不從查詢結(jié)果集中去掉重復(fù)行,如果使用會(huì)去掉重復(fù)行。另外邏輯運(yùn)算符的優(yōu)先順序?yàn)?NOPAN) ORo例:找出課程號(hào)為C02的,考試成績(jī)不及格的學(xué)生SELECT st_noFROM sCoreWHERE su_no= ' C02 ' AN D sCore<603 .排序查詢

14、排序查詢是指將查詢結(jié)果按指定屬性的升序(ASC或降序(DESC排列,由11/15ORDERBY子句指明。例:查找不及格的課程,并將結(jié)果按課程號(hào)從大到小排列SELECT UNIQUE su_noFROM sCoreWHERE sCore<60ORDER BY su_no DESC4 .嵌套查詢嵌套查詢是指WHERE子句中又包含SELECT句,它用于較復(fù)雜的跨多個(gè) 基本表 查詢的情況。例:查找課程編號(hào)為C03且課程成績(jī)?cè)?0分以上的學(xué)生的學(xué)號(hào)、姓名SELECT st_n, o st_nameFROM studentWHERE stno IN (SELECT st_noFROM scoreIN

15、是常WHERE su_no= ' c03 ' AND score>80 )這里需要明確的是:當(dāng)查詢涉及多個(gè)基本表時(shí)用嵌套查詢逐次求解層次分明,具有結(jié)構(gòu)程序設(shè)計(jì)特點(diǎn)。在嵌套查詢中, 用到的謂詞。若用戶能確 切知道內(nèi)層查詢返回的是單值,那么也可用算術(shù)比較運(yùn)算符表 示用戶的要求。5 .計(jì)算查詢計(jì)算查詢是指通過(guò)系統(tǒng)提供的特定函數(shù)(聚合函數(shù))在語(yǔ)句中的直接使用而獲 得某些只有經(jīng)過(guò)計(jì)算才能得到的結(jié)果。常用的函數(shù)有:COUNT (*)計(jì)算元組的個(gè)數(shù)COUNT列名)對(duì)某一列中的值計(jì)算個(gè)數(shù)SUM例名)求某一列值的總和(此列值是數(shù)值型)AVG歹UJ名)求某一列值的平均值(此列值是數(shù)值型)MA

16、X (列名)求某一列值中的最大值MIN (列名)求某一列值中的最小值例:求男學(xué)生的總?cè)藬?shù)和平均年齡SELECT COUNT (, *) AVG (st_age)FROM studentWHERE st_sex 男例:統(tǒng)計(jì)選修了課程的學(xué)生的人數(shù)SELECT COUNT (DISTINCT st_no)FROM score注意:這里一定要加入DISTINCT因?yàn)橛械膶W(xué)生可能選修了多門課程,但統(tǒng)計(jì)時(shí)只 能按1人統(tǒng)計(jì),所以要使用DISTINCT進(jìn)行過(guò)濾。#2 (三)數(shù)據(jù)更新數(shù)據(jù)更新包括數(shù)據(jù)插入、刪除和修改操作。它們分別由INSERT語(yǔ)句,DELETED句及UPDATE語(yǔ)句完成。這些操作都可在任何基本表

17、上進(jìn)行,但在視 圖上有 所限制。其中,當(dāng)視圖是由單個(gè)基本表導(dǎo)出時(shí),可進(jìn)行插入和修改操 作,但不能進(jìn)行刪 除操作;當(dāng)視圖是從多個(gè)基本表中導(dǎo)出時(shí),上述三種操作都不能進(jìn)行。1 .數(shù)據(jù)插入將數(shù)據(jù)插入SQL的基本表有兩種方式:一種是單元組的插入,另一種是多元組的插 入。單元組的插入:向基本表score中插入一個(gè)成績(jī)?cè)M(100002, c02, 95),可 使用以下語(yǔ)句:INSERT INTO score (st_n, osu_no, score) VALUES ( M000, 02''c02'5)由此,可以給出單元組的插入語(yǔ)句格式:INSERT INTC表名(列名1 :,列名2

18、)VALUE列值1 ,列值2)其中,列名序列為要插入值的列名集合,列值序列為要插入的對(duì)應(yīng)值。若插入的是一個(gè) 表的全部列值,則列名可以省略不寫(xiě)如上面的(st_no, su_no,score)可以省去;若插入的是表的部分列值,貝口必須列出相應(yīng)列名,此時(shí),該關(guān)系中 未列出的列名取空值。多元組的插入:這是一種把SELECTS句查詢結(jié)果插入到某個(gè)已知的基本表中的方法。例如:需要在表score中求出每個(gè)學(xué)生的平均成績(jī),并保留在某個(gè)表中。此 時(shí)可以 先創(chuàng)建一個(gè)新的基本表stu_avggrade,再用INSERT語(yǔ)句把表score中求得 的每一個(gè)學(xué) 生的平均成績(jī)(用SELECTA得)插入至stu_avggra

19、de中。CREATE TABLE stu_avggrade(st_no CHAR(10) NOT NULL 據(jù)冊(cè)U除SQL的刪除操作是指從基本表中刪除滿足WHERE條件表達(dá)式 >的記錄。如果沒(méi) 有WHERE子句,貝刪除表中全部記錄,但表結(jié)構(gòu)依然存在。其語(yǔ)句格式為:DELETE FRO表名WHERE條件表達(dá)式下面舉例說(shuō)明:?jiǎn)卧M的刪除:把學(xué)號(hào)為100002的學(xué)生從表student中刪除,可用以下語(yǔ)句:DELETE FROM studentWHERE st_no= 1000 據(jù) 02 修'改修改語(yǔ)句是按SET子句中的表達(dá)式,在指定表中修改滿足條件表達(dá)式的記錄的相應(yīng) 列值。其語(yǔ)句格式如

20、下:UPDATE表名SET列名二列改變值WHERE條件表達(dá)式例:把C02的課程名改為英語(yǔ),可以用下列語(yǔ)句:UPDATE subjectSET su_subject八語(yǔ)WHERE su_no= 'c02 '例:將課程成績(jī)達(dá)到70分的學(xué)生成績(jī),再提高10%UPDATE scoreSET score=*scoreWHERE score>=70SQL的刪除語(yǔ)句和修改語(yǔ)句中的WHERE子句用法與SELEC中WHERE子句 用法相同。數(shù)據(jù)的刪除和修改操作,實(shí)際上要先做SELEC查詢操作,然后再把 找到的元 組刪除或修改。#2 (四)數(shù)據(jù)控制由于數(shù)據(jù)庫(kù)管理系統(tǒng)是一個(gè)多用戶系統(tǒng),為了控制

21、用戶對(duì)數(shù)據(jù)的存取權(quán)禾I,保持?jǐn)?shù) 據(jù)的共享及完全性,SQL語(yǔ)言提供了一系列的數(shù)據(jù)控制功能。其中,主要包括安全性控 制、完整性控制、事務(wù)控制和并發(fā)控制。1 .XX控制數(shù)據(jù)的安全性是指保護(hù)數(shù)據(jù)庫(kù),以防非法使用造成數(shù)據(jù)泄露和破壞。保證數(shù)據(jù)安全 性的主要方法是通過(guò)對(duì)數(shù)據(jù)庫(kù)存取權(quán)力的控制來(lái)防止非法使用數(shù)據(jù)庫(kù) 中的數(shù)據(jù)。即限定 不同用戶操作不同的數(shù)據(jù)對(duì)象的權(quán)限。存取權(quán)控制包括權(quán)力的授與、檢查和撤消。權(quán)力授與和撤消命令由數(shù)據(jù)庫(kù) 管理員或特定應(yīng)用人員使用。系統(tǒng)在對(duì)數(shù)據(jù)庫(kù)操作前,先核實(shí)相應(yīng)用戶是否有 權(quán)在相應(yīng)數(shù)據(jù)上進(jìn) 行所要求的操作。(1)權(quán)力授與:權(quán)力授與有數(shù)據(jù)庫(kù)管理員專用的授權(quán)和用戶可用的授權(quán)兩種 形式。數(shù)

22、據(jù)庫(kù)管理員專用授權(quán)命令格式如下:ICONNECT |GRANT|RESOURCE|T 用戶名IDENTIFED B 口令|DBA |其中,CONNECT表示數(shù)據(jù)庫(kù)管理員允許指定的用戶具有連接到數(shù)據(jù)庫(kù)的權(quán)力,這 種授權(quán)是針對(duì)新用戶;RESOURCE示允許用戶建立自己的新關(guān)系模式,用戶獲得 CONNECT權(quán)力后,必須獲得RESOURCE力才能創(chuàng)建自己的新表;DBA表示數(shù)據(jù)庫(kù)管 理員將自己的特權(quán)授與指定的用戶。若要同時(shí)授與某用戶上述三種授權(quán)中的多種權(quán)力, 則必須通過(guò)三個(gè)相應(yīng)的GRANT命令指定。另外,具有CONNECT和RESOURC授權(quán)的用戶可以建立自己的表,并在自己建立的表和視圖上具有查詢、插入

23、、修改和刪除的權(quán)力。但通常不能使用其 他用 戶的關(guān)系,除非能獲得其他用戶轉(zhuǎn)授給他的相應(yīng)權(quán)力。例:若允許用戶SSE連接到數(shù)據(jù)庫(kù)并可以建立他自己的關(guān)系,則可通過(guò)如 下命令授與權(quán)力:GRANT CONNECT TO SSE INENTIFIED BY BD1928GRANT RESOURCE TO SSE用戶可用的授權(quán)是指用戶將自己擁有的部分或全部權(quán)力轉(zhuǎn)授給其他用戶的命令 形式,其命令格式如下:ISELECT |IINSERT |IDELETE |GRANT|UPDATE列名1,列名2)QN表名|TO|用戶名| WITH GRANT OPTION |ALTER | |視圖名 | |PUBLIC|IN

24、DEX |all|若對(duì)某一用戶同時(shí)授與多種操作權(quán)力,則操作命令符號(hào)可用“,”相隔。PUBLIC表示將權(quán)力授與數(shù)據(jù)庫(kù)的所有用戶,使用時(shí)要注意:任選項(xiàng)WITHGRANTOPTIO表示接到授權(quán)的用戶,具有將其所得到的同時(shí) 權(quán) 力再轉(zhuǎn)授給其他用戶權(quán)力。例:如果將表student的查詢權(quán)授與所有用戶,可使用以下命令:GRANT SELECT ON student TO PUBLIC例:若將表subject的插入及修改權(quán)力授與用戶SSE并使得他具有將這種權(quán) 力轉(zhuǎn)授他人的權(quán)力,則可使用以下命令:GRANT INSER, TUPDATE(su_subject) ON subject TO SSE WITH G

25、RANT OPTION這里,UPDATE后面跟su_subject是指出其所能修改的列。(2)權(quán)力回收:權(quán)力回收是指回收指定用戶原已授與的某些權(quán)力。與權(quán)力授與命令相 匹配,權(quán)力回收也有數(shù)據(jù)庫(kù)管理員專用和用戶可用的兩種形式。DBA專用的權(quán)力回收命令格式為:ICONNECT |REVOKE|RESOURCE|FRC 1 戶名15 /|DBA |用戶可用的權(quán)力回收命令格式為:ISELECT |INSERT|IDELETE |REVOKE|UPDAT列名1 :,列名2)|0N|表名|FROM |用戶名|IALTER | |視圖名 | |PUBLIC|IINDEX |ALL|例:回收用戶SSE的DBA權(quán)

26、力:REVOKE DBA FROM SSE2 .完整性控制數(shù)據(jù)庫(kù)的完整性是指數(shù)據(jù)的正確性和相容性,這是數(shù)據(jù)庫(kù)理論中的重要概念。完整 性控制的主要目的是防止語(yǔ)義上不正確的數(shù)據(jù)進(jìn)入數(shù)據(jù)庫(kù)。關(guān)系系統(tǒng)中的完整性約束條 件包括實(shí)體完整性、參照完整性和用戶定義完整性。而完整性約束條件的定義主要是通過(guò)CREATETABL語(yǔ)句中的CHECK子句來(lái)完成。另 外,還有一些輔助命令可以進(jìn)行數(shù)據(jù)完整性保護(hù)。如UNIQUE和NOT NULL前者用于防止重復(fù)值進(jìn)入數(shù)據(jù)庫(kù),后者用于防止 空 值。3 .事務(wù)控制事務(wù)是并發(fā)控制的基本單位,也是恢復(fù)的基本單位。在SQL中支持事務(wù)的概 念。所謂事務(wù),是用戶定義的一個(gè)操作序列(集合),這些操作要么都做,要么一個(gè) 都不做,是一個(gè)不可分割的整體。一個(gè)事務(wù)通常以BEGIN TRANSACTION始,以 COMMIT 或 ROLLBACKS 束。SQL提供了事務(wù)提交和事務(wù)撤消兩種命令:(1)事務(wù)提交:事務(wù)提交的命令為:COMMIT WORKK事務(wù)提交標(biāo)志著對(duì)數(shù)據(jù)庫(kù)的某種應(yīng)用操作成功地完成,所有對(duì)數(shù)據(jù)庫(kù)的操作都 必須作為事務(wù)提交給系統(tǒng)時(shí)才有效。事務(wù)一經(jīng)提交就不能撤消。(2)事務(wù)撤消:事務(wù)撤消的命令是:ROLLBACK WORKK事務(wù)撤消標(biāo)志著相應(yīng)事務(wù)對(duì)數(shù)據(jù)庫(kù)操作失敗,因而要撤消對(duì)數(shù)據(jù)庫(kù)的改變,即 要“回滾”到相應(yīng)事務(wù)開(kāi)始時(shí)的狀態(tài)。當(dāng)系統(tǒng)非正常結(jié)束

溫馨提示

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