规则和政策之间有什么区别

时间:2011-01-22 15:39:22

标签: database rules policy rule policies

在数据库的上下文中,我们有时需要针对某些语句检查值,例如“客户名称为非空”“客户购买数量为正”< /强> ...

但这些陈述是否构成规则或政策?

一般来说,您如何定义这些概念,它们的差异和关系?

提前致谢。

2 个答案:

答案 0 :(得分:1)

我想我知道你在谈论什么;我之前遇到过这样的区别(尽管英语单词并没有那么不同),这就是我认为它在大多数商业计算领域的表现。

在这样的背景下,规则 - 无论是结构性事实还是商业强加的声明 - 都不会改变,或者至少只有非常小的改变机会。 “X不能为空”形式的大多数语句代表规则。 “Null”通常对业务用户没有多大意义;通常,您通过检查模型的构建方式来达到这些规则。对规则的更改会对数据库和任何支持应用程序的构建方式产生深远的影响。

政策更像是商业指令。首选客户获得10%的折扣可能是一项政策,但正如您所知,这样的事情往往会发生变化。对策略的更改可能会影响应用程序的工作方式,但不会影响其基本体系结构或基础。

从语用上讲 - 听起来你可能已经知道这一点 - 你想让政策相对容易改变。规则虽然可能会发生变化,但通常更为复杂:更改规则通常需要更改代码,UI,心理模型,思维方式等。

我希望这会有所帮助。

答案 1 :(得分:1)

在数据库的上下文中,我认为拥有一个用户名是一个规则,而它是一个策略(可能被行政或其他批准覆盖),允许客户在低于1的情况下获得较低的分配折扣设定购买数量。

Rule: All users must have a username.
Rule: All users must have a password.
Rule: All users must have a valid email address.
Rule: All users must have a valid credit card on file.
Policy: All users begin with a 0% discount rate on purchases.
Policy: All users are required to pay for shipping.

规则是由验证支持的外向声明。政策是由后果支持的内部规则。

这可能是一项政策,以后的用户可以更改用户名(取决于软件的编写方式),或者可以调整注册时分配的折扣和运费以创造客户机会。 / p>

根据我的估计,规则需要进行严格的验证,而政策本质上需要进行干预和/或操纵。

HTH

贾里德