我已经开发了大约6年的网络/桌面应用程序.在我的职业生涯中,我遇到了使用存储过程在数据库中大量编写的应用程序,而许多应用程序只为每个实体只有几个基本存储过程(读取,插入,编辑和删除实体记录) .
我见过人们争辩说,如果你已经为企业数据库付费,那就广泛使用它的功能.虽然很多"面向对象的架构师"告诉我,在数据库中放置任何必要的东西绝对是犯罪,你应该能够使用这些类的方法来驱动应用程序吗?
您认为哪里是平衡?
谢谢,Krunal
我认为这是业务逻辑与数据逻辑的关系.如果存在确保数据一致性的逻辑,请将其放入存储过程中.用于数据检索/更新的便利功能相同.
其他一切都应该进入代码.
我的一位朋友正在为生物信息学中的数据分析算法开发大量存储过程.我认为他的方法非常有趣,但从长远来看并不是正确的方法.我的主要反对意见是可维护性和缺乏适应性.
我是面向对象的建筑师阵营.将代码放入数据库并不一定是犯罪行为,只要您了解随之而来的警告即可.这里有一些:
它不可调试
它不受源代码控制
您的两组代码的权限将有所不同
如果您从两个位置访问数据库中的信息,将更难以跟踪数据中的错误来源