機房收費系統重構——視圖,機房收費系統重構

來源:互聯網
上載者:User

機房收費系統重構——視圖,機房收費系統重構

在第一遍敲機房收費系統的時候,資料庫時自己根據查詢的時候需要用到哪個表,哪個欄位,就直接將這些欄位放在了一個表裡面了。沒有考慮過三範式什麼的。因為上下機的時候卡號,表裡面的內容是動態,卡號總是會重複,所以連主鍵都沒有設定就直接這麼下來了。當時也不懂什麼資料冗餘啊什麼的。現在經過了一些稍微專業點的訓練,知道那麼做是不行的。資料庫的設計需要遵循三範式。

問題來了,將資料庫根據三範式設計了,這樣有時候需要查詢的欄位在兩個表裡面,怎麼辦呢?這時就需要一個新東西了——視圖。

視圖在之前資料庫學習的時候也是學習過的,但是當時只是看看,並沒有真正的去動手時間過。心裡會有一種這個東西很高大上的感覺。這次不得不用了,就查了一下,動手實踐操作。發現其實很簡單的。並沒有想象中的那麼高大上。

下面來講一下視圖。

視圖的建立有兩種方式,第一種方式就是在資料庫裡面根據資料庫的提示建立。第二種就是直接寫SQL語句來建立。雖然之前學過視圖的句子,但是畢竟沒有手動實踐過,就先來第一種吧。

首先,右擊 “視圖”,選擇“建立視圖”

     

會出現“添加表”的視窗,選擇需要的表,然後點擊“添加”

 

就會出現可視化兩個表,勾選上自己需要的欄位,這時在下面就會有相應的SQL語句產生。


然後點擊儲存,給該視圖命名個名字即可。也可以點擊執行來看看效果。

視圖是一個虛擬表,所以在查詢的時候,直接將視圖作為一個表進行從中查詢就可以了。在建立好的視圖中,我們自己也可以在下面產生的SQL語句中加入條件。

比如,我加了一個條件,讓T_OnOffLine表中的state欄位值為False




總結:

在課本中學到的東西,沒有動手實踐過,只能是瞭解。遇到問題多多去動手實踐,遇到問題,解決問題。才會成長的更多。實踐出真知啊。


相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.