sql – 存储库中的业务规则?

让我们假设一个应用程序在模型/表示层中具有所有必要的业务规则,并且它们工作正常.我的问题是,是否应在sql Server等存储库中使用冗余业务规则(即两个日期的跨度不能与任何其他现有跨度重叠).

sql Server中添加强制执行此规则的约束是否必要/有益?一方面,它可以防止任何人(包括DBA)在绕过应用程序时无意中破坏业务规则.此外,我们已经通过主键和外键在存储库中拥有某些形式的业务规则.另一方面,重复的规则需要额外的时间来开发和维护.

这个问题涵盖了许多不同的技术,所以我故意保持标签的通用性.

解决方法

如果您关心自己的数据,则会将所需规则放在首选位置.数据受到应用之外的许多地方的影响.仅在业务层中放置规则是短暂的,并导致严重的数据完整性问题atat可能是非常可怕的尝试修复.有关数据的规则属于数据库.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...