第3章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL(3)_第1頁
第3章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL(3)_第2頁
第3章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL(3)_第3頁
第3章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL(3)_第4頁
第3章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL(3)_第5頁
已閱讀5頁,還剩68頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院 數(shù)據(jù)庫系統(tǒng)概論數(shù)據(jù)庫系統(tǒng)概論An Introduction to Database System第三章第三章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL SQL (續(xù)續(xù)2)河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院第三章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL3.1 SQL概述概述3.2 學(xué)生學(xué)生-課程數(shù)據(jù)庫課程數(shù)據(jù)庫3.3 數(shù)據(jù)定義數(shù)據(jù)定義3.4 數(shù)據(jù)查詢數(shù)據(jù)查詢3.5 數(shù)據(jù)更新數(shù)據(jù)更新3.6 視圖視圖3.7 小結(jié)小結(jié)河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院3.5 數(shù) 據(jù) 更 新 3.5.1 插入數(shù)據(jù)插入數(shù)據(jù)3.5.2 修改數(shù)據(jù)修改數(shù)據(jù)3.

2、5.3 刪除數(shù)據(jù)刪除數(shù)據(jù) 河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院3.5.1 插入數(shù)據(jù) 兩種插入數(shù)據(jù)方式1. 插入元組2. 插入子查詢結(jié)果可以一次插入多個元組 河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院一、插入元組語句格式INSERTINTO (,)VALUES ( , )功能n 將新元組插入指定表中河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院插入元組(續(xù)) INTO子句n屬性列的順序可與表定義中的順序不一致n沒有指定屬性列n指定部分屬性列 VALUES子句n 提供的值必須與INTO子句匹配值的個數(shù)值的類型河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院插入元組(續(xù))例1 將

3、一個新學(xué)生元組(學(xué)號:200215128;姓名:陳冬;性別:男;所在系:IS;年齡:18歲)插入到Student表中。 INSERT INTO Student (Sno,Sname,Ssex,Sdept,Sage) VALUES (200215128,陳冬,男,IS,18);河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院插入元組(續(xù))例2 將學(xué)生張成民的信息插入到Student表中。 INSERT INTO Student VALUES (200215126, 張成民, 男,18,CS); 河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院插入元組(續(xù))例3 插入一條選課記錄( 2002151

4、28,1 )。 INSERT INTO SC(Sno,Cno) VALUES ( 200215128 , 1 ); RDBMS將在新插入記錄的Grade列上自動地賦空值。 或者: INSERT INTO SC VALUES ( 200215128 , 1 ,NULL);河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院二、插入子查詢結(jié)果 語句格式 INSERT INTO ( , ) 子查詢; 功能 將子查詢結(jié)果插入指定表中河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院插入子查詢結(jié)果(續(xù)) INTO子句(與插入元組類似) 子查詢nSELECT子句目標(biāo)列必須與INTO子句匹配值的個數(shù)值的類型河北經(jīng)

5、貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院插入子查詢結(jié)果(續(xù))例4 對每一個系,求學(xué)生的平均年齡,并把結(jié)果存入數(shù)據(jù)庫。第一步:建表 CREATE TABLE Dept_age (Sdept CHAR(15) /* 系名*/ Avg_age SMALLINT); /*學(xué)生平均年齡*/ 河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院插入子查詢結(jié)果(續(xù))第二步:插入數(shù)據(jù) INSERT INTO Dept_age(Sdept,Avg_age) SELECT Sdept,AVG(Sage) FROM Student GROUP BY Sdept;河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院插入子查

6、詢結(jié)果(續(xù))RDBMS在執(zhí)行插入語句時會檢查所插元組是否破壞表上已定義的完整性規(guī)則 實體完整性 參照完整性 用戶定義的完整性NOT NULL約束UNIQUE約束值域約束河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院3.5 數(shù) 據(jù) 更 新 3.5.1 插入數(shù)據(jù)插入數(shù)據(jù)3.5.2 修改數(shù)據(jù)修改數(shù)據(jù)3.5.3 刪除數(shù)據(jù)刪除數(shù)據(jù) 河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院3.4.2 修改數(shù)據(jù) 語句格式 UPDATE SET =,= WHERE ; 功能修改指定表中滿足WHERE子句條件的元組河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院修改數(shù)據(jù)(續(xù))nSET子句指定修改方式要修改的列修改后取

7、值nWHERE子句指定要修改的元組缺省表示要修改表中的所有元組河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院修改數(shù)據(jù)(續(xù)) 三種修改方式1. 修改某一個元組的值2. 修改多個元組的值3. 帶子查詢的修改語句河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院1. 修改某一個元組的值例5 將學(xué)生200215121的年齡改為22歲 UPDATE Student SET Sage=22 WHERE Sno= 200215121 ; 河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院2. 修改多個元組的值例6 將所有學(xué)生的年齡增加1歲 UPDATE Student SET Sage= Sage+1;河北經(jīng)

8、貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院3. 帶子查詢的修改語句例7 將計算機科學(xué)系全體學(xué)生的成績置零。 UPDATE SC SET Grade=0 WHERE CS= (SELETE Sdept FROM Student WHERE Student.Sno = SC.Sno);河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院修改數(shù)據(jù)(續(xù)) SET子句 指定修改方式 要修改的列 修改后取值 WHERE子句指定要修改的元組缺省表示要修改表中的所有元組河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院修改數(shù)據(jù)(續(xù))RDBMS在執(zhí)行修改語句時會檢查修改操作是否破壞表上已定義的完整性規(guī)則n實體完整性n

9、主碼不允許修改n用戶定義的完整性 NOT NULL約束 UNIQUE約束 值域約束河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院3.5 數(shù) 據(jù) 更 新 3.5.1 插入數(shù)據(jù)插入數(shù)據(jù)3.5.2 修改數(shù)據(jù)修改數(shù)據(jù)3.5.3 刪除數(shù)據(jù)刪除數(shù)據(jù) 河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院3.5.3 刪除數(shù)據(jù) 語句格式 DELETE FROM WHERE ; 功能刪除指定表中滿足WHERE子句條件的元組 WHERE子句n指定要刪除的元組n缺省表示要刪除表中的全部元組,表的定義仍在字典中河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院刪除數(shù)據(jù)(續(xù)) 三種刪除方式1. 刪除某一個元組的值2. 刪除多

10、個元組的值3. 帶子查詢的刪除語句河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院1. 刪除某一個元組的值例8 刪除學(xué)號為200215128的學(xué)生記錄。 DELETE FROM Student WHERE Sno= 200215128 ;河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院2. 刪除多個元組的值例9 刪除所有的學(xué)生選課記錄。 DELETE FROM SC;河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院3. 帶子查詢的刪除語句例10 刪除計算機科學(xué)系所有學(xué)生的選課記錄。 DELETE FROM SC WHERE CS= (SELETE Sdept FROM Student WHER

11、E Student.Sno=SC.Sno);河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院第三章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL3.1 SQL概述概述3.2 學(xué)生學(xué)生-課程數(shù)據(jù)庫課程數(shù)據(jù)庫3.3 數(shù)據(jù)定義數(shù)據(jù)定義3.4 數(shù)據(jù)查詢數(shù)據(jù)查詢3.5 數(shù)據(jù)更新數(shù)據(jù)更新3.6 視圖視圖3.7 小結(jié)小結(jié)河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院3.6 視 圖視圖的特點 虛表,是從一個或幾個基本表(或視圖)導(dǎo)出的表 只存放視圖的定義,不存放視圖對應(yīng)的數(shù)據(jù) 基本表中的數(shù)據(jù)發(fā)生變化,從視圖中查詢出的數(shù)據(jù)也隨之改變河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院3.6 視 圖基于視圖的操作 查詢 刪除 受限更新

12、 定義基于該視圖的新視圖河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院3.6 視 圖3.6.1 定義視圖定義視圖3.6.2 查詢視圖查詢視圖3.6.3 更新視圖更新視圖3.6.4 視圖的作用視圖的作用河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院3.6.1 定義視圖 建立視圖 刪除視圖河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院一、建立視圖 語句格式 CREATE VIEW ( ,) AS WITH CHECK OPTION; 組成視圖的屬性列名:全部省略或全部指定 子查詢不允許含有ORDER BY子句和DISTINCT短語河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院 建立視圖(續(xù)

13、) RDBMS執(zhí)行CREATE VIEW語句時只是把視圖定義存入數(shù)據(jù)字典,并不執(zhí)行其中的SELECT語句。 在對視圖查詢時,按視圖的定義從基本表中將數(shù)據(jù)查出。河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院組成視圖的屬性列名 全部省略或全部指定 省略: 由子查詢中SELECT目標(biāo)列中的諸字段組成 明確指定視圖的所有列名:(1) 某個目標(biāo)列是集函數(shù)或列表達(dá)式(2) 目標(biāo)列為 *(3) 多表連接時選出了幾個同名列作為視圖的字段(4) 需要在視圖中為某個列啟用新的更合適的名字河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院建立視圖(續(xù)) 例1 建立信息系學(xué)生的視圖。 CREATE VIEW IS_S

14、tudent AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept= IS;從單個基本表導(dǎo)出只是去掉了基本表的某些行和某些列保留了碼河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院 建立視圖(續(xù)) WITH CHECK OPTION透過視圖進(jìn)行增刪改操作時,不得破壞視圖定義中的謂詞條件(即子查詢中的條件表達(dá)式)河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院建立視圖(續(xù))例2建立信息系學(xué)生的視圖,并要求進(jìn)行修改和插入操作時仍需保證該視圖只有信息系的學(xué)生 。 CREATE VIEW IS_Student AS SELECT Sno,Sname,Sag

15、e FROM Student WHERE Sdept= IS WITH CHECK OPTION;河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院建立視圖(續(xù))對IS_Student視圖的更新操作: 修改操作:自動加上Sdept= IS的條件 刪除操作:自動加上Sdept= IS的條件 插入操作:自動檢查Sdept屬性值是否為IS 如果不是,則拒絕該插入操作 如果沒有提供Sdept屬性值,則自動定義Sdept為IS河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院建立視圖(續(xù)) 基于多個基表的視圖例3 建立信息系選修了1號課程的學(xué)生視圖。 CREATE VIEW IS_S1(Sno,Sname,

16、Grade) AS SELECT Student.Sno,Sname,Grade FROM Student,SC WHERE Sdept= IS AND Student.Sno=SC.Sno AND SC.Cno= 1;河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院建立視圖(續(xù)) 基于視圖的視圖例4 建立信息系選修了1號課程且成績在90分以上的學(xué)生的視圖。 CREATE VIEW IS_S2 AS SELECT Sno,Sname,Grade FROM IS_S1 WHERE Grade=90;河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院建立視圖(續(xù)) 帶表達(dá)式的視圖例5 定義一個反映學(xué)

17、生出生年份的視圖。 CREATE VIEW BT_S(Sno,Sname,Sbirth) AS SELECT Sno,Sname,2000-Sage FROM Student;設(shè)置一些派生屬性列, 也稱為虛擬列-Sbirth 帶表達(dá)式的視圖必須明確定義組成視圖的各個屬性列名河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院建立視圖(續(xù)) 分組視圖例6 將學(xué)生的學(xué)號及他的平均成績定義為一個視圖 假設(shè)SC表中“成績”列Grade為數(shù)字型 CREAT VIEW S_G(Sno,Gavg) AS SELECT Sno,AVG(Grade) FROM SC GROUP BY Sno;河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)

18、院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院 建立視圖(續(xù)) 不指定屬性列 例7 將Student表中所有女生記錄定義為一個視圖 CREATE VIEW F_Student(F_Sno,name,sex,age,dept) AS SELECT * FROM Student WHERE Ssex=女; 缺點: 修改基表Student的結(jié)構(gòu)后,Student表與F_Student視圖的映象關(guān)系被破壞,導(dǎo)致該視圖不能正確工作。河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院二、刪除視圖 語句的格式:DROP VIEW ; 該語句從數(shù)據(jù)字典中刪除指定的視圖定義 如果該視圖上還導(dǎo)出了其他視圖,使用CASCADE級聯(lián)刪除語

19、句,把該視圖和由它導(dǎo)出的所有視圖一起刪除 刪除基表時,由該基表導(dǎo)出的所有視圖定義都必須顯式地使用DROP VIEW語句刪除 河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院刪除視圖(續(xù)) 例8 刪除視圖BT_S: DROP VIEW BT_S; 刪除視圖IS_S1:DROP VIEW IS_S1;拒絕執(zhí)行級聯(lián)刪除: DROP VIEW IS_S1 CASCADE; 河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院3.6 視 圖3.6.1 定義視圖定義視圖3.6.2 查詢視圖查詢視圖3.6.3 更新視圖更新視圖3.6.4 視圖的作用視圖的作用河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院3.6

20、.2 查詢視圖 用戶角度:查詢視圖與查詢基本表相同 RDBMS實現(xiàn)視圖查詢的方法視圖消解法(View Resolution) 進(jìn)行有效性檢查 轉(zhuǎn)換成等價的對基本表的查詢 執(zhí)行修正后的查詢河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院查詢視圖(續(xù))例9 在信息系學(xué)生的視圖中找出年齡小于20歲的學(xué)生。 SELECT Sno,Sage FROM IS_Student WHERE Sage20;IS_Student視圖的定義 (參見視圖定義例1): CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept= IS

21、;河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院查詢視圖(續(xù))視圖消解轉(zhuǎn)換后的查詢語句為: SELECT Sno,Sage FROM Student WHERE Sdept= IS AND Sage=90; S_G視圖的子查詢定義:視圖的子查詢定義: CREATE VIEW S_G (Sno,Gavg) AS SELECT Sno,AVG(Grade)FROM SCGROUP BY Sno;河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院查詢轉(zhuǎn)換錯誤:SELECT Sno,AVG(Grade)FROM SCWHERE AVG(Grade)=90GROUP BY Sno;正確:SELECT S

22、no,AVG(Grade)FROM SCGROUP BY SnoHAVING AVG(Grade)=90;河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院3.6 視 圖3.6.1 定義視圖定義視圖3.6.2 查詢視圖查詢視圖3.6.3 更新視圖更新視圖3.6.4 視圖的作用視圖的作用河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院更新視圖(續(xù)) 用戶角度:更新視圖與更新基本表相同例12 將信息系學(xué)生視圖IS_Student中學(xué)號200215122的學(xué)生姓名改為“劉辰”。UPDATE IS_StudentSET Sname= 劉辰WHERE Sno= 200215122 ;轉(zhuǎn)換后的語句:UPDA

23、TE StudentSET Sname= 劉辰WHERE Sno= 200215122 AND Sdept= IS;河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院更新視圖(續(xù))例13 向信息系學(xué)生視圖IS_S中插入一個新的學(xué)生記錄:200215129,趙新,20歲INSERTINTO IS_StudentVALUES(95029,趙新,20);轉(zhuǎn)換為對基本表的更新:INSERTINTO Student(Sno,Sname,Sage,Sdept)VALUES(200215129 ,趙新,20,IS );河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院更新視圖(續(xù))例14刪除信息系學(xué)生視圖IS_

24、Student中學(xué)號為200215129的記錄 DELETEFROM IS_StudentWHERE Sno= 200215129 ;轉(zhuǎn)換為對基本表的更新:DELETEFROM StudentWHERE Sno= 200215129 AND Sdept= IS;河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院更新視圖(續(xù)) 更新視圖的限制:一些視圖是不可更新的,因為對這些視圖的更新不能唯一地有意義地轉(zhuǎn)換成對相應(yīng)基本表的更新例:視圖S_G為不可更新視圖。UPDATE S_GSET Gavg=90WHERE Sno= 200215121;這個對視圖的更新無法轉(zhuǎn)換成對基本表SC的更新河北經(jīng)貿(mào)大學(xué)信息

25、技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院更新視圖(續(xù)) 允許對行列子集視圖進(jìn)行更新 對其他類型視圖的更新不同系統(tǒng)有不同限制河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院3.6 視 圖3.6.1 定義視圖定義視圖3.6.2 查詢視圖查詢視圖3.6.3 更新視圖更新視圖3.6.4 視圖的作用視圖的作用河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院3.6.4 視圖的作用 1. 視圖能夠簡化用戶的操作 2. 視圖使用戶能以多種角度看待同一數(shù)據(jù) 3. 視圖對重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨立性 4. 視圖能夠?qū)C密數(shù)據(jù)提供安全保護(hù) 5. 適當(dāng)?shù)睦靡晥D可以更清晰的表達(dá)查詢河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院1. 視圖能夠簡化用戶的操作當(dāng)視圖中數(shù)據(jù)不是直接來自基本表時,定義視圖能夠簡化用戶的操作 基于多張表連接形成的視圖 基于復(fù)雜嵌套查詢的視圖 含導(dǎo)出屬性的視圖河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院2. 視圖使用戶能以多種角度看待同一數(shù)據(jù) 視圖機制能使不同用戶以不同方式看待同一數(shù)據(jù),適應(yīng)數(shù)據(jù)庫共享的需要河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院3.視圖對重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨立性例:數(shù)據(jù)庫邏輯結(jié)構(gòu)發(fā)生改變 學(xué)生關(guān)系Student(Sno,Sname,Ssex,Sage,Sdept) “垂直”地分成兩個基本表: SX(Sno,Sn

溫馨提示

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

評論

0/150

提交評論