• 机房收费系统——视图的运用


           对于视图在一年前的数据库学习和自考中就学到了。那时仅仅是理论学习。这次在机房收费系统重构中亲自实践,加深了对视图的理解。

    定义:

          从数据库系统外部来看,视图是用户从一个特定的角度来查看数据库中的数据。从数据库系统内部来看,视图是由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。这就是我们学习的过程吧,循序渐进。逐层深入。



  • 相关阅读:
    游戏大厅升级日记 第3天
    GamePlatform 2.0 b的数据库脚本
    会xiaotie的一个TCP问题
    求助,基于WCF的聊天室,在用户非法掉线后,不能将Disconnected事件通知到Server
    SQL Server 聚合函数 (方差和标准差)
    体验了一把vs2008
    老罗语录打包下载(保证能下载)
    局域网单独一台机器无法ping通网关故障的解决方法
    vs2005中遇到的一个奇怪的错误 
    Page.RegisterClientScriptBlock和Page.RegisterStartupScript有何区别
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/7280538.html
Copyright © 2020-2023  润新知