SqlServer系列之視圖的創建與使用:
什么是視圖?
視圖的概述
在資料查詢中,可以看到資料表設計程序中,考慮到資料的冗余度低、資料一致性等問題,通常對資料表的設計要滿足范式的要求,因此也會造成一個物體的所有資訊保存在多個表中,
當檢索資料時,往往在一個表中不能夠得到想要的所有資訊, 為了解決這種矛盾,在SQL Server中提供了視圖,
視圖的概念
視圖是一種資料庫物件,是從一個或者多個資料表或視圖中匯出的虛表,視圖的結構和資料是對資料表進行查詢的結果,只存放視圖的定義,不存放視圖對應的資料;
其結構和和資料是建立在對表的查詢基礎上,故表中的資料發生變化,從視圖中查詢出的資料也隨之改變,
視圖的使用,跟對普通的表的查詢使用完全一樣,
視圖的特點
1. 視圖能夠簡化用戶的操作,從而簡化查詢陳述句
2. 視圖使用戶能以多種角度看待同一資料,增加可讀性
3. 視圖對重構資料庫提供了一定程度的邏輯獨立性;
4. 視圖能夠對機密資料提供安全保護;
5. 適當的利用視圖可以更清晰的表達查詢,
使用視圖的注意事項
1、只能在當前資料庫中創建視圖;
2、視圖的命名必須遵循識別符號命名規則,不可與表同名;
4、如果視圖中某一列是函式、數學運算式、常量或者來自多個表的列名相同,則必須為列定義名稱,
5、當視圖參考基表或視圖被洗掉,該視圖也不能再被使用,
6、不能在視圖上創建全文索引,不能在規則、默認的定義中參考視圖,
7、一個視圖最多可以參考1024個列,
8、視圖最多可以嵌套32層,
視圖的用途
1、篩選表中的行;
2、防止未經許可的用戶訪問敏感資料,降低資料庫的復雜程度;
3、將多個物理資料庫抽象為一個邏輯資料庫,
手動創建視圖
按照下面操作保存后創建成功;

代碼創建視圖
使用T-SQL陳述句創建視圖
CREATE VIEW view_StudentInfo AS SELECT陳述句
使用T-SQL陳述句洗掉視圖
--判斷:如果存在指定視圖則洗掉 IF EXISTS (SELECT * FROM sysobjects WHERE name='view_StudentInfo') --單引號里面為視圖名稱 DROP VIEW view_StudentInfo --視圖名稱
使用T-SQL陳述句查看視圖
SELECT * FROM view_StudentInfo
案例代碼
--判斷:如果存在指定視圖則洗掉 IF EXISTS (SELECT * FROM sysobjects WHERE name='view_StudentInfo') --單引號里面為視圖名稱 DROP VIEW view_StudentInfo --視圖名稱 go --創建成績查詢視圖 CREATE VIEW view_StudentInfo AS SELECT a.Number,a.NAME,c.ClassName, b.C#,b.SqlDB,b.Java,b.Python FROM a_Students a INNER JOIN a_StudentsScore b ON a.Number=b.Number INNER JOIN a_StudentClass c ON c.ClassId=a.ClassId go --查詢成績視圖 SELECT * FROM view_StudentInfo
效果展示

歡迎關注訂閱我的微信公眾平臺【熊澤有話說】,更多好玩易學知識等你來取作者:熊澤-學習中的苦與樂 公眾號:熊澤有話說 出處: https://www.cnblogs.com/xiongze520/p/14566646.html 創作不易,任何人或團體、機構全部轉載或者部分轉載、摘錄,請在文章明顯位置注明作者和原文鏈接,
|
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/271168.html
標籤:SQL Server
