機房收費系統——視圖的運用,機房收費系統檢視表

來源:互聯網
上載者:User

機房收費系統——視圖的運用,機房收費系統檢視表

       對於視圖在一年前的資料庫學習和自考中就學到了,那時只是理論學習,這次在機房收費系統重構中親自實踐,加深了對視圖的理解。

定義:

      從資料庫系統外部來看,視圖是使用者從一個特定的角度來查看資料庫中的資料。從資料庫系統內部來看,視圖是由SELECT語句組成的查詢定義的虛擬表,在資料庫中並不真實存在。好比在提高班有學術部,安全部,紀律部等等,這些部門就是視圖,需要給哪個部門開會就通知哪個部門。這些部門的人都是提高班各個期的(基本表),並且每個人都是獨一無二的。

操作:

      由於視圖只是儲存的SQL Select 語句,因此建立一個視圖實際上就是編寫Select語句。


1.視圖的建立:

CREATE VIEW<視圖名>(<列表序列>)

AS <SELECT 查詢語句>

以上是在查詢分析器中直接以T_SQL語句建立視圖,也可以在企業管理器中以圖形化的方式建立視圖。


2.視圖的撤銷:

DROP VIEW<視圖名>


3.視圖的更新:

如果視圖是從單個基本表只使用選擇、投影操作匯出的,並且包含了基本表的主鍵,這樣的視圖稱為“行列子集視圖”,可以被執行更新操作(插入、修改、刪除),但在定義的時候必須加上“WITH CHECK OPTION”短語。


應用:

       在機房收費系統中”下機“需要知道上機學生的卡號、卡內金額、上下機時間以及費率等等,其中查看”卡內餘額“在T_Card中,查看”上機時間“在T_StuRecord中,通過使用視圖可以將需要的資料放在一起,組合成一張新表。


在查詢分析器中建立該視圖:

create viewV_ManageOnline

as select T_Card.cardNo ,cash,loginTime

from T_Card,T_StuRecord

where T_Card .cardNo=T_StuRecord .cardNo and T_StuRecord .logoutTime=null


建立成功後:


在代碼中使用視圖和基本表基本上沒有區別:

<span style="font-family:Microsoft YaHei;font-size:18px;"><span style="font-family:Microsoft YaHei;"> Public Function ManageDown() As DataTable Implements IManageUpStu.ManageDown        Dim strSQL As String = "select * from V_ManageOnline"        Dim helper As New SqlHelper.sqlHelper        Dim dt = helper.GetDataTable(strSQL, CommandType.Text)        Return dt    End Function</span></span>

        最後我們來說說使用視圖的好處。它使使用者只能查看和修改他們所關心的某些特定資料,其它資料庫或表既不可見也不可以訪問,這樣就提高了資料庫的安全性。當需要多個表中的資料時,不必一個一個表去查詢,只要一條簡單的查詢檢視語句即可。視圖向使用者隱藏了表與表之間的複雜的串連操作,大大簡化了使用者對資料的操作。雖然一年前對視圖就有所耳聞了,但那時覺得它好”高大上“,現在親自實踐了,原來 so easy。這就是我們學習的過程吧,循序漸進,逐層深入。




學校機房收費系統

百度搜尋 網吧管理系統或者機房計費系統,可以發現有好多。
 
C語言的機房收費管理系統

這個是用C實現的,不要介面嗎?
 

相關文章

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.