【机房重构】一步一步往上爬——企业管理器,好好利用

	这么些天,一直在机房重构中。这么些天,从刚开始的迷茫,到已经完全理解七层间的调用,现在是敲代码敲得恶心了。因为自己好像什么都没有做,只是在一遍又一遍的敲重复的代码,有时候,真的不想干了。但不干是不行的,所以,还是想找些其他方法,在挥去一些厌烦情绪的同时,自己也学习些新的东西。
	因为太多重复的代码,所以导致了自己不想敲下去,在经过了一些新的尝试后,总算是有种柳暗花明的感觉。那么,本篇博客就将介绍一下在机房收费系统中数据库中的企业管理器的应用,它的强大,以前只是听说或者看过,但自己还没有尝试过。这一次,在重构中利用了几个,真的给自己省了不少事。
(一)视图
	1.使用缘由
	在机房收费系统中各种查询数据的功能下,需要的信息可能涉及多张表,以前是一张表一张表的查,然后才出现一条整体信息,这样大家肯定觉得麻烦。所以,在重构中,视图就可以派上用场了。创建一个视图实际就是编写Select语句,它可以帮助我们把分布在不同的表中的信息搜集整理出一张新的表,查询的时候只需查询该视图即可。
	2.使用展示
	这里以机房重构中查询余额的功能为例,看看视图的效果。第一次因为学生信息和卡信息都存放在一张表中,所以只需查询一张表。而这一次,将学生信息与卡信息分开了,再需要查看余额的时候,就需要涉及到两张表。这时候,就可以创建一个视图了,下面是详细过程:
在自己的数据库下找到视图,右击点击“新建视图”,便会出现这样一个添加表的界面:

	选择查询设计到了表,这里我就选择了Card_Info和StudentInformation_Info,关闭后,进入的就是对视图的设计界面,根据需要选择列:

	这样这些字段就会组成一个新的表,在查询的时候真的方便了不少。
	3.使用优点
	视点集中,简化操作,定制数据,合并分割数据,安全性
	(二)存储过程
	1.是什么?
	存储过程是存放在服务器上的预先编译好的SQL语句,在第一次执行时进行语句检查和编译,编译好的存储过程在高速缓存中用于后续调用,这样就可以使存储过程执行时更加迅速,更加高效。存储过程可以带有输入和输出的参数。
	2.优点?
	主要有提供了安全机制,改进了执行性能,减少了网络流量和增强了代码的重用性。
	3.如何使用?
	在数据库下的“可编程性”下有单独的一项“存储过程”,右击,新建存储过程

	便出现了一屏幕的代码,看着都感觉不会用了,但实际上,还是很容易的,忽略绿色的注释,剩下的就是简单的一些语句的组成了:

	4.应用?
	对于在重构中如何使用存储过程,自己感觉在组合查询的功能实现下有个明显的不一样的感觉,特别的省事。因为,整个机房系统中,有不止一个的组合查询功能的实现,但它们都有一个共同点:输入的参数是相同的。这样我们就可以提前把SQL语句写好,再加上两个判断,这样写好了一个存储过程,其他的组合查询功能也就同时可以调用实现了。
	存储过程代码:

	(三)触发器
	1.使用缘由
	在机房重构中经常遇到这样一类问题:在执行某一操作后,该表下的数据发生改变,而相应地其他表中的这一字段的数据也需要发生相应的改变。在以前,我们是在功能完成后,在写一个甚至几个Update语句,更新其他表中的这一字段信息。这样特别麻烦,所以,触发器就可以派上用场了。
	2.基本知识
	触发器是与表事件相关的特殊的存储过程。触发器不能被直接执行,它们只能为表上的Insert、Update和Delete事件所触发,此外也不能够传递或接受参数。
	3.使用
	每个表下都有触发器这单独的一项,那么,只需要在需要添加触发器这一功能的表下,右击新建触发器即可,接着是编写代码。
	4.应用
	下面以在卡号下机后,在更新上下机表中的信息的同时,也需要更新卡号表中的余额这一功能的实现,使用触发器。
	在LineRecord_Info表下,新建触发器,编写代码即可:

学习总结:
	以上介绍的三种企业管理器给我们机房重构方便了不少,从第一次的直接略过到以后的离不开,这就是一个进步的过程。不过,凡事有利弊,好用的东西也不是要到处都用,而是需要掌握一个适度的原则吧,所以说,企业管理器,好好利用。
时间: 2024-08-03 08:32:35

【机房重构】一步一步往上爬——企业管理器,好好利用的相关文章

【机房重构】一步一步往上爬——不仅仅是三层

不知道大家还记不记得之前学习的UML中一个单独列出来的一种图,也就是这次我想说的包图.那个时候,让我们画机房收费系统的各种图,用例图.类图等等,通过自己反复琢磨,还都勉勉强强画出来了.唯独只有包图,我是一点东西也没有画上,只是见到了传说中的"包"是长什么样子的. 现在到了机房重构的阶段了,之前也学习了三层,终于是知道了包图该怎么画了.但也不仅仅是理解了包图,而且也是见证到了包图是如何在一步一步层层升级的.下面就将用一个机房系统中的登录实例来看看为什么说<不仅仅是三层>. 三

【机房重构】一步一步往上爬——又见UML与文档

机房重构的代码编写完成后,下一阶段的任务就是画图和文档了.在师父细心的一番指导后,开始动工了. 在数据库设计的时候,自己也有根据自考学习的知识,画了张ER图.到现在系统完成后,回头看之前贴在博客上的那张ER图,也是错漏百出,自己都不知道误导了多少人了.. 今天一开始把ER图给师父看,师父第一个问题就是问ER图是给谁看的?我顿时懵了.师父接着说ER图是给用户看的,你用英文写,用户看的懂吗? 下面就从ER图说起: ER图,是需要在需求分析文档中出现的,那么就是需要给用户看到的,而不是程序员或者说是开

【机房重构】一步一步往上爬——验收给了我什么

整个机房重构过程中,一共经历了两次验收.一次是关于系统编程:一次是关于画图与文档,每一次,师父都是耐心.细心地指导.要问验收给了我什么,看下面的博客内容便清楚了. 个人机房重构可分为两个阶段,前期主要是代码的编写,后期主要是画图. 在前期阶段,慕夏师父也是非常关心我的进展,时常来我这里看看,问问我有什么问题,抓住这几次机会,师父也是和我说了很多,从而对整个机房收费系统的业务逻辑更加清楚了.刚开始接触到抽象工厂+配置文件+反射的时候,除了茫然还是茫然,几天下来没有什么成果,登录的主线也没有完全明白

【机房重构】一步一步往上爬——七层中的那些事

机房重构开始已经一个多星期了,从最开始的理解登录到现在已经成功完成至少一次的"增"."删"."改"."查"的操作,现在在七层的这个大环境下,从最开始的奄奄一息,终于变得生龙活虎起来了. 之前总是听师哥师姐们说,敲完登录一条线了,后面就会很顺利了.可是,从我来说,事实并非如此.然而,磕磕绊绊,四个字足以形容我的这些天.不过,我心态好,我可以忍受一个人花时间调代码的孤独,再说,我也可以找小伙伴.找师父帮助我,我有什么理由不成功.

【机房重构】一步一步往上爬——数据库设计

期末考试结束了,寒假全职生活如期而至,终于可以开始全身心的投入我的机房重构了.又是一个新的项目,万事开头难,但不开头更难.自己也只能是一步一步往上爬,机房重构便从数据库设计开始. 回想去年的自考学习,<数据库系统原理>中的知识就可以在机房重构的时候好好应用一把了.第二章的<数据库设计和ER模型>很仔细地教了我们如何进行数据库设计.所以,在参考自考书的基础上,把重构时的数据库全新地设计了一番. 首先明确数据库系统的生存期一般可划分为七个阶段:规划.需求分析.概念设计.逻辑设计.物理设

【机房重构】一步一步往上爬——小问题大收获

机房重构进行了半个月之久了,其中遇到了不少问题,有的调试了很久,有的是因为自己的大意.不管怎样,自己还是通过各种问题,收获了许多,成长了许多.这篇博客主要就是对之前遇到的一些问题的集锦,希望能给大家一些帮助,遇到问题,成功地解决问题. 问题一:缺少参数,在U层传参数的时候少写了一个参数. 解决:根据提示检查U层的该参数,将该参数赋上相应的值. 问题二:进程无法访问文件,文件正由另一个进程使用. 解决:重新生成解决方案,或者是关闭程序,重新启动程序. 问题三:接口的实现错误,类型无法转换,这是因为

一步一步写算法(之克鲁斯卡尔算法 上)

原文:一步一步写算法(之克鲁斯卡尔算法 上) [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com]     克鲁斯卡尔算法是计算最小生成树的一种算法.和prim算法(上,中,下)按照节点进行查找的方法不一样,克鲁斯卡尔算法是按照具体的线段进行的.现在我们假设一个图有m个节点,n条边.首先,我们需要把m个节点看成m个独立的生成树,并且把n条边按照从小到大的数据进行排列.在n条边中,我们依次取出其中的每一条边,如果发现边的两个节点分别位于两棵树上,

一步一步写算法(之prim算法 上)

原文:一步一步写算法(之prim算法 上) [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com]     前面我们讨论了图的创建.添加.删除和保存等问题.今天我们将继续讨论图的一些其他问题,比如说如何在图的环境下构建最小生成树.为什么要构建最小生成树呢?其实原理很简单.打个比方,现在某一个乡镇有n个村,那么这n个村肯定是联通的.现在我们打算在各个村之间搭建网线,实现村村通的工程.那么有什么办法可以实现村村互通,同时又使得最后的总距离最小呢?要达

一步一步写算法(之哈夫曼树 上)

原文:一步一步写算法(之哈夫曼树 上) [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com]       在数据传输的过程当中,我们总是希望用尽可能少的带宽传输更多的数据,哈夫曼就是其中的一种较少带宽传输的方法.哈夫曼的基本思想不复杂,那就是对于出现频率高的数据用短字节表示,对于频率比较低得数据用长字节表示.     比如说,现在有4个数据需要传输,分别为A.B.C.D,所以一般来说,如果此时没有考虑四个数据出现的概率,那么我们完全可以这么分配