在数据库设计中,当一条数据关联到多张表时,我们通常有两种处理方式:【级联删除和软删除。】
【级联删除】:级联删除意味着当你删除主表中的一个记录时,所有相关联的从表中的记录也会被自动删除。这在数据库层面通过设置外键约束的ON DELETE CASCADE来实现。但在业务逻辑中,你可能需要手动检查并执行这些删除操作,特别是在使用ORM框架时。
【软删除】
软删除是指在数据库中并不真正删除记录,而是标记某条记录为已删除状态。这样可以避免数据丢失,并且在需要时可以恢复数据。在业务逻辑中,你可以通过更新记录的“删除标志”字段来实现软删除
在多张表中实施软删除策略,每张表都需要包含一个表示删除状态的字段,通常命名为 deleted、is_deleted 或 common_status 等。这个字段一般是一个布尔类型或者枚举类型,用来标记这条记录是否已被逻辑删除。