黑马程序员技术交流社区

标题: 维护数据库的完整性和一致性,用触发器还是自写业务逻辑?为什么? [打印本页]

作者: 周健    时间: 2012-4-12 15:47
标题: 维护数据库的完整性和一致性,用触发器还是自写业务逻辑?为什么?
维护数据库的完整性和一致性,用触发器还是自写业务逻辑?为什么?


作者: 郑森    时间: 2012-4-12 18:14
尽可能用约束(包括CHECK、主键、唯一键、外键、非空字段)实现,这种方式的效率最好;其次用触发器,这种方式可以保证无论何种业务系统访问数据库都能维持数据库的完整性、一致性;最后再考虑用自写业务逻辑实现,但这种方式效率最低、编程最复杂,当为下下之策。
作者: 周健    时间: 2012-4-12 21:08
谢谢,多多帮助共同进步啊
作者: 逝去的谎言    时间: 2012-4-12 22:44
触发器可通过数据库中的相关表实现级联更改;不过,通过级联引用完整性约束可以更有效地执行这些更改。   触发器可以强制比用 CHECK 约束定义的约束更为复杂的约束。   与 CHECK 约束不同,触发器可以引用其它表中的列。例如,触发器可以使用另一个表中的 SELECT 比较插入或更新的数据,以及执行其它操作,如修改数据或显示用户定义错误信息。   触发器也可以评估数据修改前后的表状态,并根据其差异采取对策。   一个表中的多个同类触发器(INSERT、UPDATE 或 DELETE)允许采取多个不同的对策以响应同一个修改语句。
更多详细的可以参考参考http://baike.baidu.com/view/1189954.htm




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2