ホームページ  >  記事  >  データベース  >  机房收费系统视图的运用

机房收费系统视图的运用

WBOY
WBOYオリジナル
2016-06-07 16:00:451015ブラウズ

对于视图在一年前的数据库学习和自考中就学到了,那时只是理论学习,这次在机房收费系统重构中亲自实践,加深了对视图的理解。 定义: 从数据库系统外部来看,视图是用户从一个特定的角度来查看数据库中的数据。从数据库系统内部来看,视图是由SELECT语句组

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

<strong>定义:</strong>

从数据库系统外部来看,视图是用户从一个特定的角度来查看数据库中的数据。从数据库系统内部来看,视图是由SELECT语句组成的查询定义的虚拟表,在数据库中并不真实存在。好比在提高班有学术部,安全部,纪律部等等,这些部门就是视图,需要给哪个部门开会就通知哪个部门。这些部门的人都是提高班各个期的(基本表),并且每个人都是独一无二的。

<strong>操作:</strong>

由于视图只是存储的SQL Select 语句,因此创建一个视图实际上就是编写Select语句。

1.视图的创建:

CREATE VIEW()

AS

以上是在查询分析器中直接以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。这就是我们学习的过程吧,循序渐进,逐层深入。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。