小编典典

在这种情况下我应该如何工作。我应该使用触发器还是留在用户身上进行管理

sql

我正在创建一个应用程序,其中我正在使用存储过程在其中实现我的逻辑。

现在我需要知道的是-我希望我的数据库不包含任何无效的条目,为此,我应该创建触发器来实现我的 数据验证逻辑,
这样当FailPasswordAttemptCount更改为某个值时,我应该在对应的字段中进行更改相应地,通过触发器将IsLocked列保留,或将其保留在dba上进行管理。

例如

if FailPassowrdAttemptCount > 3
  IsCaptchaActivated=True
if FailPasswordAttemptCount>6
  IsLocked=true

现在,如果dba将FailPasswordAttemptCount的值更改为4而不将IsCaptchaActivated更改为true,那么这将使我的前端输入无效。因此,我应该通过触发器来管理它还是应该将它留在dba上以进行正确输入。

尽管无法通过前端进行此类输入,但是如果any1具有访问数据库的特权,则可以直接通过数据库进行更改。为此,我应该将其留给用户还是应该通过触发器进行管理。我想使我的数据库在所有情况下都保持一致。


阅读 170

收藏
2021-04-22

共1个答案

小编典典

我将进行以下操作:

  • 将数据验证逻辑放入存储过程
  • 使存储过程成为应用程序与表交互的唯一方式
  • 将所需的代码放入存储过程。

随着应用程序的业务逻辑复杂性增加,基于触发器的编程范式变得难以编写和维护。

但是,如果您完全确定只拥有这样的简单逻辑,则可以将其放入触发器中,因为这将需要对应用程序与数据库进行交互的方式进行最少的更改。

2021-04-22