为.net开发者提供的一份关于存储过程的评论
2006-07-23 11:17:50 来源:WEB开发网核心提示: 第二个值得考虑的潜在好处是可维护性,在理想的情况下你的数据库架构不会改变,为.net开发者提供的一份关于存储过程的评论(3),你的事务规则也不会改变;但在现实中这些是经常发生的,例如:当需要为新的促销活动添加x,y,z表时,如果可移植性对于你的系统环境来说制关重要的话,那么将事务逻辑封装在
第二个值得考虑的潜在好处是可维护性。在理想的情况下你的数据库架构不会改变,你的事务规则也不会改变;但在现实中这些是经常发生的。例如:当需要为新的促销活动添加x,y,z表时,你可以通过修改存储过程简单地将这些数据包含近来,而不需要再到你的程序代码中到处寻找需要修改的语句。在存储过程中修改代码对于应用程序来说是透明的,你依旧可以得到相同的销售信息,虽然存储过程的内部实现已经改变了。相对于你修改现有代码,重新测试和配置程序来说,直接修改存储过程更加省时省力。
而且,通过提取一些相同的实现方法并将其保存在存储过程中,当应用程序需要通过这些方法访问数据时只需采用相同的操作。你便不用维护散布在许多地方的相同代码了,并保证你的用户可以获得一致的信息。
另外一个对维护有好处的是,将T-SQL语句保存在存储过程中也是一种较好的控制版本的方法。你可以利用那些创建和修改存储过程的脚本来做版本控制,就像控制源代码模块的版本一样。通过使用微软提供的Visual SourceSafe和其它一些版本控制工具,你可以很容易地引用和恢复到旧的版本。
请不要误解,使用存储过程来提高可维护性并不能避免需要修改数据架构和事务规则的可能。当这些改变过大时,就需要更改存储过程的输入参数与返回值,而且要修改你的前台程序代码例如添加参数、更新GetValue()函数的调用等等。
另外需要考虑的问题是,使用存储过程封装事务逻辑限制了你应用程序的可移植性,那样便被束缚在SQL Server上了。如果可移植性对于你的系统环境来说制关重要的话,那么将事务逻辑封装在与关系数据库无关的中间层中是个不错的选择。
安全性
使用存储过程的最后一个原因就是它可以提高系统的安全性。
- ››开发者眼中的Windows Phone和Android
- ››开发者在App Store上赚的钱比在Android Market上多...
- ››开发者应深入学习的10个Android开源应用项目
- ››Netpas加速 让非电信宽带用户流畅上网
- ››net中fckediter的图片上传时候点击\浏览服务器\出...
- ››开发者眼中的iPhone与Android
- ››Netmsg局域网聊天程序
- ››开发者或想使用的10个Android2.2新特性
- ››NetAirus指控苹果iPhone侵犯其专利
- ››Netflix 在线影视播放程序将登陆 iPhone
- ››Net中各种不同的对象创建方式的速度差异
- ››NetNewsWire 功能简单 界面快速 Reader 浏览器
更多精彩
赞助商链接