设为首页 加入收藏

TOP

【机房重构】――视图,触发器,存储过程的使用
2015-07-24 09:34:59 来源: 作者: 【 】 浏览:0
Tags:机房 重构 视图 触发器 存储 过程 使用

在机房收费系统中,对多个表的查询,要写多个SQL是很麻烦的事情,为了方便我们写代码,同时对代码进行解耦和,我们引用了视图,触发器,存储过程。

一、是什么?


视图

从若干个基本表和其他视图构造出来的虚拟表。视图本身并不存储实际的数据,而仅仅存储一个Select语句和所涉及表的metadata。


触发器

特殊的存储过程,此机制是由事务触发而完成的,而不是存储过程的调用。



存储过程
一组完成特定功能的SQL语句集合以及流程控制语句编写的模块,存储过程经过编译后存储在 数据库服务端的数据库中,使用时调用即可。


二、为什么?


视图
(1)提供了用户访问的接口,用户不必知道底层的表结构是什么样的,当表改变时,只需改变视图的语句,而客户端不许改变,降低了耦合性

(2)加强了安全性,用户只能看到视图提供的那部分数据,其他的看不到

(3)简化了数据库的访问操作



存储过程

(1)提高运行速度,调用存储过程的速度会比执行一条SQL语句要快的多。
(2)只需编译一次即可,而SQL语句使用一次编译一次。
(3)可以反复调用,减轻了程序编写的工作量
(4)增强了SQL的功能和灵活性,能完成复杂的楼及判断和复杂运算


触发器
(1)通过数据库中的相关表来实现级联操作。
(2)自动执行
(3)触发器可以强制用比CHECK约束定义的约束更为复杂的约束。(这一点不太理解)
。。。。。。


三、怎么用?



1、创建视图后,使用时和使用表一样。


Create View <视图名>(<列表序列>)
AS
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇mysql在查询结果中自动添加序号字.. 下一篇Hibernate对象3种状态

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·如何从内核协议栈到 (2025-12-27 03:19:09)
·什么是网络协议?有哪 (2025-12-27 03:19:06)
·TCP/ IP协议有哪些 (2025-12-27 03:19:03)
·怎样用 Python 写一 (2025-12-27 02:49:19)
·如何学习python数据 (2025-12-27 02:49:16)