这么些天,一直在机房重构中。这么些天,从刚开始的迷茫,到已经完全理解七层间的调用,现在是敲代码敲得恶心了。因为自己好像什么都没有做,只是在一遍又一遍的敲重复的代码,有时候,真的不想干了。但不干是不行的,所以,还是想找些其他方法,在挥去一些厌烦情绪的同时,自己也学习些新的东西。
因为太多重复的代码,所以导致了自己不想敲下去,在经过了一些新的尝试后,总算是有种柳暗花明的感觉。那么,本篇博客就将介绍一下在机房收费系统中数据库中的企业管理器的应用,它的强大,以前只是听说或者看过,但自己还没有尝试过。这一次,在重构中利用了几个,真的给自己省了不少事。
(一)视图
1.使用缘由
在机房收费系统中各种查询数据的功能下,需要的信息可能涉及多张表,以前是一张表一张表的查,然后才出现一条整体信息,这样大家肯定觉得麻烦。所以,在重构中,视图就可以派上用场了。创建一个视图实际就是编写Select语句,它可以帮助我们把分布在不同的表中的信息搜集整理出一张新的表,查询的时候只需查询该视图即可。
2.使用展示
这里以机房重构中查询余额的功能为例,看看视图的效果。第一次因为学生信息和卡信息都存放在一张表中,所以只需查询一张表。而这一次,将学生信息与卡信息分开了,再需要查看余额的时候,就需要涉及到两张表。这时候,就可以创建一个视图了,下面是详细过程:
在自己的数据库下找到视图,右击点击“新建视图”,便会出现这样一个添加表的界面:
选择查询设计到了表,这里我就选择了Card_Info和StudentInformation_Info,关闭后,进入的就是对视图的设计界面,根据需要选择列:
这样这些字段就会组成一个新的表,在查询的时候真的方便了不少。
3.使用优点
视点集中,简化操作,定制数据,合并分割数据,安全性
(二)存储过程
1.是什么?
存储过程是存放在服务器上的预先编译好的SQL语句,在第一次执行时进行语句检查和编译,编译好的存储过程在高速缓存中用于后续调用,这样就可以使存储过程执行时更加迅速,更加高效。存储过程可以带有输入和输出的参数。
2.优点?
主要有提供了安全机制,改进了执行性能,减少了网络流量和增强了代码的重用性。
3.如何使用?
在数据库下的“可编程性”下有单独的一项“存储过程”,右击,新建存储过程
便出现了一屏幕的代码,看着都感觉不会用了,但实际上,还是很容易的,忽略绿色的注释,剩下的就是简单的一些语句的组成了:
4.应用?
对于在重构中如何使用存储过程,自己感觉在组合查询的功能实现下有个明显的不一样的感觉,特别的省事。因为,整个机房系统中,有不止一个的组合查询功能的实现,但它们都有一个共同点:输入的参数是相同的。这样我们就可以提前把SQL语句写好,再加上两个判断,这样写好了一个存储过程,其他的组合查询功能也就同时可以调用实现了。
存储过程代码:
(三)触发器
1.使用缘由
在机房重构中经常遇到这样一类问题:在执行某一操作后,该表下的数据发生改变,而相应地其他表中的这一字段的数据也需要发生相应的改变。在以前,我们是在功能完成后,在写一个甚至几个Update语句,更新其他表中的这一字段信息。这样特别麻烦,所以,触发器就可以派上用场了。
2.基本知识
触发器是与表事件相关的特殊的存储过程。触发器不能被直接执行,它们只能为表上的Insert、Update和Delete事件所触发,此外也不能够传递或接受参数。
3.使用
每个表下都有触发器这单独的一项,那么,只需要在需要添加触发器这一功能的表下,右击新建触发器即可,接着是编写代码。
4.应用
下面以在卡号下机后,在更新上下机表中的信息的同时,也需要更新卡号表中的余额这一功能的实现,使用触发器。
在LineRecord_Info表下,新建触发器,编写代码即可:
学习总结:
以上介绍的三种企业管理器给我们机房重构方便了不少,从第一次的直接略过到以后的离不开,这就是一个进步的过程。不过,凡事有利弊,好用的东西也不是要到处都用,而是需要掌握一个适度的原则吧,所以说,企业管理器,好好利用。