數據庫原理及應用SQLServer關系圖和視圖管理PPT課件_第1頁
數據庫原理及應用SQLServer關系圖和視圖管理PPT課件_第2頁
數據庫原理及應用SQLServer關系圖和視圖管理PPT課件_第3頁
數據庫原理及應用SQLServer關系圖和視圖管理PPT課件_第4頁
數據庫原理及應用SQLServer關系圖和視圖管理PPT課件_第5頁
已閱讀5頁,還剩23頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數據庫系統概論An Introduction to Database System第7章SQL Server 2005關系圖和視圖管理第1頁/共28頁教學目標: 通過第1章介紹的E-R圖和本章關系圖的對照,加深理解實體和實體之間的聯系在數據庫中的實現; 熟練掌握視圖的操作:創建、使用、修改和刪除,應該做到給一個應用后就能馬上反映到用不用視圖,用什么樣的視圖,怎么用視圖的熟練程度。第2頁/共28頁第7章SQL Server 2005關系圖和視圖管理 7.1SQL Server 2005關系圖 7.2 T-SQL語言的視圖定義 7.3創建視圖 7.4修改視圖 7.5使用視圖 7.6刪除視圖第3頁/

2、共28頁7.1SQL Server 2005關系圖 數據庫關系圖:數據庫中對象的圖形表示形式;數據庫關系圖既可以是整個數據庫結構的圖片,也可以是部分數據庫結構的圖片;它包括表對象、表所包含的列以及它們之間的關系。第4頁/共28頁7.1SQL Server 2005關系圖 以創建、修改、刪除教務管理選課系統數據庫EDUC的關系圖為例。請看操作演示。第5頁/共28頁7.2 T-SQL語言的視圖定義 視圖與基本表的聯系:視圖(view)是在基本表之上建立的表,它的結構(即所定義的列)和內容(即所有數據行)都來自基本表,它依據基本表存在而存在。一個視圖可以對應一個基本表,也可以對應多個基本表。視圖是基

3、本表的抽象和在邏輯意義上建立的新關系 第6頁/共28頁7.2 T-SQL語言的視圖定義 視圖與基本表的區別 :(1)視圖是已經編譯好的sql語句。而表不是 (2)視圖沒有實際的物理記錄。而表有。(3)表是內容,視圖是窗口(4)表只用物理空間而視圖不占用物理空間,視圖只是邏輯概念的存在,表可以及時四對它進行修改,但視圖只能有創建的語句來修改第7頁/共28頁7.2 T-SQL語言的視圖定義 視圖與基本表的區別 :(5)表是內模式,試圖是外模式(6)視圖是查看數據表的一種方法,可以查詢數據表中某些字段構成的數據,只是一些SQL語句的集合。從安全的角度說,視圖可以不給用戶接觸數據表,從而不知道表結構。

4、(7)表屬于全局模式中的表,是實表;視圖屬于局部模式的表,是虛表。 (8)視圖的建立和刪除只影響視圖本身,不影響對應的基本表。第8頁/共28頁7.2 T-SQL語言的視圖定義 從某種意義上說視圖還可以給數據提供安全性保證。可以防止未授權用戶查看特定的行或列,是用戶只能看到表中特定行的方法如下:(1) 在表中增加一個標志用戶名的列;(2) 建立視圖,是用戶只能看到標有自己用戶名的行;(3) 把視圖授權給其他用戶。 第9頁/共28頁7.2 T-SQL語言的視圖定義 視圖可以實現邏輯數據獨立性:視圖可以使應用程序和數據庫表在一定程度上獨立。如果沒有視圖,應用一定是建立在表上的。有了視圖之后,程序可以

5、建立在視圖之上,從而程序與數據庫表被視圖分割開來。 第10頁/共28頁7.3創建視圖 使用SSMS創建視圖 使用T-SQL語句第11頁/共28頁使用SSMS創建視圖 請看演示第12頁/共28頁使用T-SQL語句創建視圖語法格式:CREATE VIEW 視圖名AS SELECT子句第13頁/共28頁使用T-SQL語句創建視圖 例:定義視圖V1_BOOKS為圖書中的作者和書名。USE LibraryGOCREATE VIEW V1_BOOKSAS SELECT DISTINCT Author, Bname FROM dbo.BookGOUSE LibraryGO第14頁/共28頁使用T-SQL語句

6、創建視圖例:定義視圖overdue,讀者借書應還日期SReturnDate信息。CREATE VIEW overdue ( RID,Rname, BID, Bname,SReturnDate )ASSELECT Reader.RID, Reader.Rname, Book.BID, Book.Bname,Borrow.LendDate+ ReaderType.LimitDaysFROM Reader INNER JOIN Borrow ON Reader.RID = Borrow.RID INNER JOIN ReaderType ON Reader.TypeID = ReaderType.T

7、ypeID INNER JOIN Book ON Borrow.BID = Book.BIDWHERE (Borrow.ReturnDate IS NULL)第15頁/共28頁使用T-SQL語句創建視圖 例:創建視圖從overdue中查詢出借閱超期的讀者信息。CREATE VIEW v_overdueASSELECT *FROM overdueWHERE (SReturnDate GETDATE()第16頁/共28頁7.4修改視圖 使用SSMS修改視圖 使用T-SQL語句第17頁/共28頁使用SSMS修改視圖 請看演示第18頁/共28頁使用T-SQL語句修改視圖語法格式:ALTER VIEW

8、視圖名AS SELECT子句第19頁/共28頁使用T-SQL語句修改視圖例4:修改視圖V1_BOOKS,使其顯示Book表中的不重復的作者和書名USE LibraryGOALTER VIEW V1_BOOKSAS SELECT DISTINCT Author, Bname FROM dbo.BookGO第20頁/共28頁7.5使用視圖 視圖檢索(查詢) 利用視圖操作基表第21頁/共28頁視圖檢索(查詢) 與基表相同 第22頁/共28頁利用視圖操作基表 插入記錄例:在視圖View_EB中插入一條新的記錄,其各字段的值分別為2005216322,李曉燕,女,1986-9-6,電子商務。USE ED

9、UCGOINSERT INTO View_EB(SID,Sname,Sex,Birthday,Specialty)VALUES(2005216322,李曉燕,女,1986-9-6,電子商務)GO第23頁/共28頁利用視圖操作基表 修改記錄例:將視圖View_EB姓名為郭洪亮的學生的出生日期改為1987-4-27。USE EDUC GOUPDATE View_EBSET Birthday =1987-4-27WHERE Sname=郭洪亮GO第24頁/共28頁利用視圖操作基表 刪除記錄例:在視圖View_EB中刪除姓名為李曉燕的學生記錄。USE EDUCGODELETE FROM View_EBWHERE Sna

溫馨提示

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

評論

0/150

提交評論