SqlServer2008學(xué)習(xí)講義課件9視圖_第1頁
SqlServer2008學(xué)習(xí)講義課件9視圖_第2頁
SqlServer2008學(xué)習(xí)講義課件9視圖_第3頁
SqlServer2008學(xué)習(xí)講義課件9視圖_第4頁
SqlServer2008學(xué)習(xí)講義課件9視圖_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

創(chuàng)建和管理視圖

創(chuàng)建和管理視圖

目錄視圖概念創(chuàng)建視圖視圖的應(yīng)用修改與刪除視圖2 目錄視圖概念2什么是視圖思考:對于學(xué)生信息表和學(xué)生成績表,教師和輔導(dǎo)員所需要的信息不同教師:姓名、學(xué)號、cSharp成績、SQL成績、平均分輔導(dǎo)員:姓名、學(xué)號、性別,年齡、家庭住址等解決方法:視圖3什么是視圖思考:3什么是視圖視圖是一張?zhí)摂M表,它表示一張表的部分數(shù)據(jù)或多張表的綜合數(shù)據(jù),其結(jié)構(gòu)和數(shù)據(jù)是建立在對表的查詢基礎(chǔ)上視圖中并不存放數(shù)據(jù),而是存放在視圖所引用的原始表(基表)中同一張原始表,根據(jù)不同用戶的不同需求,可以創(chuàng)建不同的視圖一個視圖可以派生于一個或多個基表,也可以從其它視圖中派生4什么是視圖視圖是一張?zhí)摂M表,它表示一張表的部分數(shù)據(jù)或多張表的什么是視圖視圖的用途篩選表中的行防止未經(jīng)許可的用戶訪問敏感數(shù)據(jù)降低數(shù)據(jù)庫的復(fù)雜程度將多個物理數(shù)據(jù)庫抽象為一個邏輯數(shù)據(jù)庫5什么是視圖視圖的用途5如何創(chuàng)建視圖使用T-SQL語句創(chuàng)建視圖的語法Column:視圖中的列名Withencryption:視圖將被加密Select_statement:查詢語句Withcheckoption:讓update和insert語句嚴格按照視圖中定義的格式注:一個視圖能參照的最大列數(shù)為1024CREATEVIEWview_name(column[,…..n])[withencryption]As

select_statement[withcheckoption]6如何創(chuàng)建視圖使用T-SQL語句創(chuàng)建視圖的語法6創(chuàng)建視圖-(例1)基于stuInfo表創(chuàng)建一個視圖

CREATEVIEWview_assistantAS SELECTstuInfo.stuNo,stuInfo.stuName,stuInfo.stuAge,stuInfo.stuSex,stuInfo.stuAddress FROMstuInfoGO7創(chuàng)建視圖-(例1)基于stuInfo表創(chuàng)建一個視圖7創(chuàng)建視圖-(例2)創(chuàng)建視圖,使用不同于基表的列名CREATEVIEWview_ass(學(xué)號,姓名,性別,年齡,住址)AS SELECTstuNo,stuName,stuAge,stuSex,stuAddress FROMstuInfoGO8創(chuàng)建視圖-(例2)創(chuàng)建視圖,使用不同于基表的列名8創(chuàng)建視圖-(例3)基于stuInfo和stuMarks兩個表創(chuàng)建視圖,查詢學(xué)號,姓名,性別,c#成績,SQL成績,平均成績)。CREATEVIEWview_twotable(學(xué)號,姓名,性別,c#成績,SQL成績,平均成績)AS SELECTstuInfo.stuNo,stuName,stuSex,cSharpExam,SQLExam,(cSharpExam+SQLExam)/2 FROMstuInfo,stuMarks WHEREstuInfo.stuNo=stuMarks.stuNoGO9創(chuàng)建視圖-(例3)基于stuInfo和stuMarks創(chuàng)建視圖-(例4)練習(xí):創(chuàng)建視圖,查看學(xué)號,姓名,c#成績,SQL成績,平均成績且平均成績高于80分的同學(xué)。10創(chuàng)建視圖-(例4)練習(xí):創(chuàng)建視圖,查看學(xué)號,姓名,c創(chuàng)建視圖-(例5)使用函數(shù)創(chuàng)建視圖,查看stuInfo表中男生和女生分別的人數(shù),并將視圖加密CREATEVIEWview_numOfSexWITHENCRYPTIONAS SELECTstuSex,COUNT(stuSex)AS人數(shù)

FROMstuInfo GROUPBYstuSexGO給視圖加密可以防止其他用戶查看最初的視圖產(chǎn)生代碼。這是軟件開發(fā)人員隱藏視圖或其他數(shù)據(jù)對象的源代碼的有效方法11創(chuàng)建視圖-(例5)使用函數(shù)創(chuàng)建視圖,查看stuInfo視圖的應(yīng)用

-查看視圖的定義使用withencryption選項的視圖不能查看

SP_HELPTEXT

view_twotable

GO

SP_HELPTEXTview_numOfSex

GO12視圖的應(yīng)用

-查看視圖的定義使用withencr視圖的應(yīng)用

-使用createview的幾點注意要求對基表有select權(quán)限不能在視圖上建立規(guī)則、默認和觸發(fā)器,或構(gòu)造索引一個視圖只能參照1024列不能創(chuàng)建臨時視圖,也不能以臨時表為基表建立視圖由于不能以臨時表為基表建立視圖,而selectinto語句需要建立臨時表,所以在createview語句中不能使用selectinto13視圖的應(yīng)用

-使用createview的幾點注意視圖的應(yīng)用-視圖的使用通過視圖檢索數(shù)據(jù)可以通過任何查詢方式檢索視圖建立視圖時,系統(tǒng)不檢查參照對象的存在,檢索視圖時不存在的對象將導(dǎo)致錯誤使用select*建立的視圖在基表增加新列后,不能檢索新列,及表刪除某列后檢索將不能進行通過視圖修改數(shù)據(jù)實際是對基表的數(shù)據(jù)進行修改,所以必須遵守基表的數(shù)據(jù)完整性約束一個語句只能修改視圖的一個基表不允許對groupby定義的視圖或視圖的計算列進行修改14視圖的應(yīng)用-視圖的使用通過視圖檢索數(shù)據(jù)14視圖的應(yīng)用通過視圖插入數(shù)據(jù)insertintoview_assvalues('G21120','李鵬',23,'女','山東濟南')[需要特別注意對于基表的數(shù)據(jù)完整性檢查]對插入的數(shù)據(jù)進行修改UPDATEView_teacherSETc#成績=60WHERE姓名='張明'15視圖的應(yīng)用通過視圖插入數(shù)據(jù)15修改與刪除視圖修改視圖的結(jié)構(gòu)與創(chuàng)建一致語法:ALTERVIEWview_name

ASselect_statement示例:修改View_teacher

ALTERVIEWview_teacher(學(xué)號,姓名,c#成績,SQL成績,總成績)AS SELECTstuInfo.stuNo,stuName,cSharpExam,SQLExam,cSharpExam+SQLExam FROMstuInfo,stuMarks WHEREstuInfo.stuNo=stuMarks.stuNoGO16修改與刪除視圖修改視圖的結(jié)構(gòu)與創(chuàng)建一致16修改與刪除視圖

-刪除視圖語法:DROPVIEWview_name示例:DROPVIEW

view_teacher17修改與刪除視圖

-刪除視圖語法:DROPVIE總結(jié)視圖概念創(chuàng)建視圖視圖的應(yīng)用修改與刪除視圖18總結(jié)視圖概念18總結(jié)視圖是虛擬表,它從一個或多個稱為基表或內(nèi)含表的表中產(chǎn)生數(shù)據(jù)。視圖作為安全機制,而保護基表中的數(shù)據(jù)。視圖屏蔽了系統(tǒng)內(nèi)部表的復(fù)雜性.19總結(jié)視圖是虛擬表,它從一個或多個稱為基表或內(nèi)含表的表中產(chǎn)生數(shù)作業(yè)及練習(xí)練習(xí):建立一個視圖要求:可以通過本視圖直接查詢輸出員工號,經(jīng)理號,員工職務(wù),員工所在部門名稱

(使用adventureWorks數(shù)據(jù)庫)20作業(yè)及練習(xí)練習(xí):建立一個視圖20創(chuàng)建和管理視圖

創(chuàng)建和管理視圖

目錄視圖概念創(chuàng)建視圖視圖的應(yīng)用修改與刪除視圖22 目錄視圖概念2什么是視圖思考:對于學(xué)生信息表和學(xué)生成績表,教師和輔導(dǎo)員所需要的信息不同教師:姓名、學(xué)號、cSharp成績、SQL成績、平均分輔導(dǎo)員:姓名、學(xué)號、性別,年齡、家庭住址等解決方法:視圖23什么是視圖思考:3什么是視圖視圖是一張?zhí)摂M表,它表示一張表的部分數(shù)據(jù)或多張表的綜合數(shù)據(jù),其結(jié)構(gòu)和數(shù)據(jù)是建立在對表的查詢基礎(chǔ)上視圖中并不存放數(shù)據(jù),而是存放在視圖所引用的原始表(基表)中同一張原始表,根據(jù)不同用戶的不同需求,可以創(chuàng)建不同的視圖一個視圖可以派生于一個或多個基表,也可以從其它視圖中派生24什么是視圖視圖是一張?zhí)摂M表,它表示一張表的部分數(shù)據(jù)或多張表的什么是視圖視圖的用途篩選表中的行防止未經(jīng)許可的用戶訪問敏感數(shù)據(jù)降低數(shù)據(jù)庫的復(fù)雜程度將多個物理數(shù)據(jù)庫抽象為一個邏輯數(shù)據(jù)庫25什么是視圖視圖的用途5如何創(chuàng)建視圖使用T-SQL語句創(chuàng)建視圖的語法Column:視圖中的列名Withencryption:視圖將被加密Select_statement:查詢語句Withcheckoption:讓update和insert語句嚴格按照視圖中定義的格式注:一個視圖能參照的最大列數(shù)為1024CREATEVIEWview_name(column[,…..n])[withencryption]As

select_statement[withcheckoption]26如何創(chuàng)建視圖使用T-SQL語句創(chuàng)建視圖的語法6創(chuàng)建視圖-(例1)基于stuInfo表創(chuàng)建一個視圖

CREATEVIEWview_assistantAS SELECTstuInfo.stuNo,stuInfo.stuName,stuInfo.stuAge,stuInfo.stuSex,stuInfo.stuAddress FROMstuInfoGO27創(chuàng)建視圖-(例1)基于stuInfo表創(chuàng)建一個視圖7創(chuàng)建視圖-(例2)創(chuàng)建視圖,使用不同于基表的列名CREATEVIEWview_ass(學(xué)號,姓名,性別,年齡,住址)AS SELECTstuNo,stuName,stuAge,stuSex,stuAddress FROMstuInfoGO28創(chuàng)建視圖-(例2)創(chuàng)建視圖,使用不同于基表的列名8創(chuàng)建視圖-(例3)基于stuInfo和stuMarks兩個表創(chuàng)建視圖,查詢學(xué)號,姓名,性別,c#成績,SQL成績,平均成績)。CREATEVIEWview_twotable(學(xué)號,姓名,性別,c#成績,SQL成績,平均成績)AS SELECTstuInfo.stuNo,stuName,stuSex,cSharpExam,SQLExam,(cSharpExam+SQLExam)/2 FROMstuInfo,stuMarks WHEREstuInfo.stuNo=stuMarks.stuNoGO29創(chuàng)建視圖-(例3)基于stuInfo和stuMarks創(chuàng)建視圖-(例4)練習(xí):創(chuàng)建視圖,查看學(xué)號,姓名,c#成績,SQL成績,平均成績且平均成績高于80分的同學(xué)。30創(chuàng)建視圖-(例4)練習(xí):創(chuàng)建視圖,查看學(xué)號,姓名,c創(chuàng)建視圖-(例5)使用函數(shù)創(chuàng)建視圖,查看stuInfo表中男生和女生分別的人數(shù),并將視圖加密CREATEVIEWview_numOfSexWITHENCRYPTIONAS SELECTstuSex,COUNT(stuSex)AS人數(shù)

FROMstuInfo GROUPBYstuSexGO給視圖加密可以防止其他用戶查看最初的視圖產(chǎn)生代碼。這是軟件開發(fā)人員隱藏視圖或其他數(shù)據(jù)對象的源代碼的有效方法31創(chuàng)建視圖-(例5)使用函數(shù)創(chuàng)建視圖,查看stuInfo視圖的應(yīng)用

-查看視圖的定義使用withencryption選項的視圖不能查看

SP_HELPTEXT

view_twotable

GO

SP_HELPTEXTview_numOfSex

GO32視圖的應(yīng)用

-查看視圖的定義使用withencr視圖的應(yīng)用

-使用createview的幾點注意要求對基表有select權(quán)限不能在視圖上建立規(guī)則、默認和觸發(fā)器,或構(gòu)造索引一個視圖只能參照1024列不能創(chuàng)建臨時視圖,也不能以臨時表為基表建立視圖由于不能以臨時表為基表建立視圖,而selectinto語句需要建立臨時表,所以在createview語句中不能使用selectinto33視圖的應(yīng)用

-使用createview的幾點注意視圖的應(yīng)用-視圖的使用通過視圖檢索數(shù)據(jù)可以通過任何查詢方式檢索視圖建立視圖時,系統(tǒng)不檢查參照對象的存在,檢索視圖時不存在的對象將導(dǎo)致錯誤使用select*建立的視圖在基表增加新列后,不能檢索新列,及表刪除某列后檢索將不能進行通過視圖修改數(shù)據(jù)實際是對基表的數(shù)據(jù)進行修改,所以必須遵守基表的數(shù)據(jù)完整性約束一個語句只能修改視圖的一個基表不允許對groupby定義的視圖或視圖的計算列進行修改34視圖的應(yīng)用-視圖的使用通過視圖檢索數(shù)據(jù)14視圖的應(yīng)用通過視圖插入數(shù)據(jù)insertintoview_assvalues('G21120','李鵬',23,'女','山東濟南')[需要特別注意對于基表的數(shù)據(jù)完整性檢查]對插入的數(shù)據(jù)進行修改UPDATEView_teacherSETc#成績=60WHERE姓名='張明'35視圖的應(yīng)用通過視圖插入數(shù)據(jù)15修改與刪除視圖修改視圖的結(jié)構(gòu)與創(chuàng)建一致語法:ALTERVIEWview_n

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論