2009-07-10 101 views
4

如果意見是用來顯示所選列給用戶,並且同樣可以通過使用差異查詢

SELECT col1, col2 
FROM xyz 

,什麼是使用視圖的角度來完成?

+0

具有很好的答案類似的問題:http://stackoverflow.com/questions/214132/what-are-views-good-for/214195或http://stackoverflow.com/questions/ 256700/what-is-a-view-in-oracle – 2009-07-10 09:52:08

回答

6

由於Quassnoi說,它是在一個表授予權限的某些行是有用的。

例如,假設在一所大學的講師需要訪問信息,學生在她的課。她不應該訪問「學生」表,因爲她可以查找或修改整個大學的任何學生的信息。數據庫管理員製作一個視圖,僅顯示講師課程中的學生,併爲講師授予視圖適當的權限。現在講師可以訪問她自己的學生數據,但不能訪問整個「學生」表。

11
  • 使用視圖可以節省您的複製和粘貼您的疑問,並增加了代碼重用,所以你可以改變一個單一視圖,而不是在你的代碼的不同地方10查詢。
  • 不同的權限可以在視圖和表被授予,這樣就可以只顯示數據的一部分給用戶
  • 一個視圖可以被實現,這意味着高速緩存的基本查詢的結果
1

視圖使SQL更容易編寫(和讀取)。

您還可以使用視圖來控制訪問權限。

0

視圖對訪問權限非常有用。還有其他許多優點(如上面提供的鏈接所述),但對我來說主要優勢是可重用性。正如Quassnoi寫道的那樣,您可以有一個單點來編輯查詢,而不是編輯一個方法列表。

完美!

1

一個視圖可以被描述爲虛擬表,從存儲在數據庫中的SQL查詢創建的。

因此,下面的方面在使用視圖

  • 性能考慮:它可以提高數據訪問的性能,涉及多個表的查詢生成的交易已經交換來生成視圖。

  • 簡單:大部分我一起工作的意見是從4+表,一串內部連接列的數據安排。一旦創建了視圖,應用程序開發人員就必須在同一視圖中使用列來處理SELECT語句,因此也就是術語虛擬表。

  • 安全:或稱之爲訪問控制。大多數關係數據庫管理系統允許在視圖對象中控制訪問類型的屬性。例如,可以允許用戶更新視圖,但只有DBA可以修改組成視圖的表。

0

瀏覽: 1.查看不會存儲任何數據 2.用於安全目的 3.當基表被刪除,則該視圖就不能再訪問 4.一個可以執行直接DML操作上的觀點

物化視圖: 1.物化視圖不存儲數據 2.它是用於更好的性能 3.當基臺被丟棄,伴侶rialized視圖仍然可以訪問 4.不能在物化視圖上執行DML操作。

參考:https://www.youtube.com/watch?v=8ySsyZlixuE