请有经验的朋友指点迷津,关于数据表删除记录的问题
我看到有部分人在删除表的记录时候使用了删除标志 也就是设置一个FDelted字段 表示记录是否删除,而实际上该记录并没有从数据表中删除的方法,这种方法使用起来特别麻烦,请问这种方法是否真的适合开发主从表或大的项目,有什么优势或者弊端的?
[解决办法]
个人看法:
使用删除标志的好处:
1、数据跟踪方便,从系统起用开始所有的数据都保留在系统中,只要打开数据库,所有你所需要的信息都可以很方便地查到。
2、undo功能很容易就可以现实。
3、对操作员的考核比较好进行。
弊端:
可能就是如果时间长了,数据量会比较大一些。
[解决办法]
弊端:数据量大,需要对这部分数据作备份
优势:
方便数据跟踪,这是一定的
还有就是要看什么样的记录做记号了,客户需要这部分数据,肯定不能删除的。没准人家定期翻出来作处理呢
大的项目主要是要分清什么样的数据可以直接删除,什么样的数据需要做个记号。实在要从客户的角度出发
[解决办法]
看项目需要而做。
[解决办法]
这个一般用在要删除的记录与其他表有关联操作的情况
比如员工资料表,在很多其他表有有引用员工的工号作为关联字段,这种设计的好处就是在其他表中只存在一个字段就可以很方便的代出员工的所有属性资料,这时候要是删除员工资料的话就可能导致其他表的历史数据找不到对应的员工或对应错误,在这种情况下删除员工就应该只做删除标志而不能完全删除
[解决办法]
这样做的优势就在于可以用少量的字段关联显示复杂的数据报表,有效减少数据库的数据存储量。
比如一个员工有10个属性资料存在10个字段中,又有10个表需要用到员工的所有属性资料,如果不以关联方式就只能为每个表建10个字段存放员工的10个属性资料,这样就等于一个数据库中多用了100个字段,如果这10个表的数据量都很大的时候,可想而知数据库多维护了多少资料~~而用关联操作则只需要为员工表维护一条10个字段的记录