最近在做一个项目,表关系比较复杂,而且以后可能会有很大扩展。我想为每一个表建立一个表征是否可用的字段,“1”为可用,“0”为禁用,默认为“1”,用户在前台所做的“删除”仅能改变此字段的值,真正的删除只能通过后台实现,请问这样做的优缺点是什么?
14条回答 默认 最新
- iteye_18973 2008-11-25 12:27关注
因为你上面说到了你们做的东西的表结构比较复杂,那么这点就很明确了。做逻辑删除(设标记)比物理删除要好的多,因为你在多表进行操作的时候一定是有关联的,如果你物理删除了这个字段,在你下次再跑程序的时候,你关联的方法会因为找不到你的这条记录而报错误,这样你的维护起来就很不好维护了。
但是逻辑删除和物理删除也要分情况,如果是末级的记录,经常更新的,为了维护起来方便可以设置成物理删除的,如果是标题类的,或者是菜单中的比较重要的关联表中的记录,那么最好就打上标记,以防以后操作中因没有了关联记录而报错误。
我不知道这些能否帮助你解决问题,但是应该会有一些帮助吧,呵呵!本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 maple软件,用solve求反函数出现rootof,怎么办?
- ¥50 汇编语言除法溢出问题
- ¥65 C++实现删除N个数据列表共有的元素
- ¥15 Visual Studio问题
- ¥15 state显示变量是字符串形式,但是仍然红色,无法引用,并显示类型不匹配
- ¥20 求一个html代码,有偿
- ¥100 关于使用MATLAB中copularnd函数的问题
- ¥20 在虚拟机的pycharm上
- ¥15 jupyterthemes 设置完毕后没有效果
- ¥15 matlab图像高斯低通滤波