软删除和删除

背景

最近学习MVC的时候,遇到了一个词“软删除”,然后就学习了一下。

什么是 “软删除” ?

软删除 又叫 逻辑删除标记删除。与我们常说的删除不一样,并不是真正从数据库中将该条记录删除,而是会设置一个字段,比如:IsDelete 来标记删除状态。

为什么有 “软删除” ?

其实,在实际情况中,很多时候我们说的“删除”并不是真的“删除”,比如;

1、购物车的订单不是被删除的,而是被“取消”的;
2、公司的员工不是被删除的,而是被“解雇”的(也可能是退休了~~);
3、员工的职位不是被删除的,而是被“填补”的(或者是招聘申请被撤回~)
4、等等

所以,这些时候,我们并不能真的把记录删除,所以“软删除”就出现了。

当然,我们更希望用一个表示状态的词来代替:IsDelete ,就比如我们见过的:有效、停用、弃用 等等。

软删除 VS 硬删除

虽然软删除比较好,他能保证数据的完整性,但并不代表我们任何时候都使用软删除
当我们确定某些数据确实不再需要的时候,就用到了硬删除
比如验证码,这种数据删除后就没有保存的必要啦。

总结

我们要,根据实际情况,合理使用软删除和硬删除。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 42
    评论
数据库删除是指在删除数据时,并不直接从数据库中永久删除该数据,而是通过标记或修改数据的状态来表示数据已被删除删除通常用于保留数据的历史记录或提供恢复已删除数据的功能。 删除的实现方式可以有多种: 1. 添加一个额外的列(例如 `deleted_at`):在表中添加一个用于记录删除时间的列。当数据被删除时,将该列标记为相应的时间戳或日期值。在查询数据时,可以通过检查该列来过滤已被删除的数据。 2. 使用状态字段:在数据表中添加一个用于表示数据状态的字段(例如 `is_deleted`)。当数据被删除时,将该字段标记为已删除的状态值(例如 1 或 true)。在查询数据时,可以根据该字段的值来过滤已被删除的数据。 无论使用哪种方式,删除都能够提供以下好处: - 数据保留:删除允许保留已删除数据的备份或历史记录,这对于审计、恢复或回溯操作非常有用。 - 数据完整性:删除避免了直接从数据库中永久删除数据,从而可以保持数据的完整性和关联性。 - 数据恢复:通过删除,可以更轻松地恢复或还原已删除的数据,而无需从备份中恢复。 需要注意的是,删除并不适用于所有情况。在某些情况下,完全删除数据可能更合适,例如对于敏感信息或不可恢复的数据。删除的使用应基于具体需求和业务逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 42
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨幂等

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值