MySQL檢視簡介及優缺點

2019-10-16 22:56:03

在本教學中,您將了解一個叫作資料庫檢視的新資料庫物件。 我們將討論使用資料庫檢視的優缺點。

資料庫檢視是虛擬表或邏輯表,它被定義為具有連線的SQL SELECT查詢語句。 因為資料庫檢視與資料庫表類似,它由行和列組成,因此可以根據資料庫表查詢資料。 大多數資料庫管理系統(包括MySQL)允許您通過具有一些先決條件的資料庫檢視來更新基礎表中的資料。

資料庫檢視是動態的,因為它與物理模式無關。資料庫系統將資料庫檢視儲存為具有連線的SQL SELECT語句。當表的資料發生變化時,檢視也反映了這些資料的變化。

資料庫檢視的優點

以下是使用資料庫檢視的優點 -

  • 資料庫檢視允許簡化複雜查詢:資料庫檢視由與許多基礎表相關聯的SQL語句定義。 您可以使用資料庫檢視來隱藏終端使用者和外部應用程式的基礎表的複雜性。 通過資料庫檢視,您只需使用簡單的SQL語句,而不是使用具有多個連線的複雜的SQL語句。

  • 資料庫檢視有助於限制對特定使用者的資料存取。 您可能不希望所有使用者都可以查詢敏感資料的子集。可以使用資料庫檢視將非敏感資料僅顯示給特定使用者組。

  • 資料庫檢視提供額外的安全層。 安全是任何關聯式資料庫管理系統的重要組成部分。 資料庫檢視為資料庫管理系統提供了額外的安全性。 資料庫檢視允許您建立唯讀檢視,以將唯讀資料公開給特定使用者。 使用者只能以唯讀檢視檢索資料,但無法更新。

  • 資料庫檢視啟用計算列。 資料庫表不應該具有計算列,但資料庫檢視可以這樣。 假設在orderDetails表中有quantityOrder(產品的數量)和priceEach(產品的價格)列。 但是,orderDetails表沒有一個列用來儲存訂單的每個訂單項的總銷售額。如果有,資料庫模式不是一個好的設計。 在這種情況下,您可以建立一個名為total的計算列,該列是quantityOrderpriceEach的乘積,以表示計算結果。當您從資料庫檢視中查詢資料時,計算列的資料將隨機計算產生。

  • 資料庫檢視實現向後相容。 假設你有一個中央資料庫,許多應用程式正在使用它。 有一天,您決定重新設計資料庫以適應新的業務需求。刪除一些表並建立新的表,並且不希望更改影響其他應用程式。在這種情況下,可以建立與將要刪除的舊表相同的模式的資料庫檢視。

資料庫檢視的缺點

除了上面的優點,使用資料庫檢視有幾個缺點:

  • 效能:從資料庫檢視查詢資料可能會很慢,特別是如果檢視是基於其他檢視建立的。
  • 表依賴關係:將根據資料庫的基礎表建立一個檢視。每當更改與其相關聯的表的結構時,都必須更改檢視。

在本教學中,您已經了解了資料庫檢視是什麼。我們還介紹了使用資料庫檢視的優缺點,以便您可以在資料庫設計中有效地應用資料庫檢視。