日期:2014-05-18  浏览次数:20440 次

高手们帮忙说说这样设计数据库的风险!!!
有逻辑关系的两个表没有在数据库中添加主外键关系,而是在设计的时候把一个表的主键作为另外一个表的一列;
如产品表pro,产品型号表aa,产品性能表bb,其中aa,bb中都有一列是pro的主键值,这样使用起来也可以;   不过有个问题是如果pro删掉一条记录,那么aa,bb中包含该条记录的信息仍然还有!!
还有其他的潜在风险么????
大家说下!!

------解决方案--------------------
记录最好不要删除,而是采用一个标记字段来代替。
------解决方案--------------------
第一、采用事务,删除的时候,同时删除关联的数据
第二、采用逻辑删除,即对要删除的纪录并不是物理上的删除,只是做一个标记
------解决方案--------------------
Avoid(千金散尽还复来) ( ) 信誉:100 Blog 加为好友 2007-07-13 17:25:08 得分: 0
==================================================================

以前做小的网的时候,我也喜欢一下就删除,到今天,就不一样了,设置个键或者专门设置一个表用来存放删除的数据。特别对于公司客户这是非常必要的。



------解决方案--------------------
做大型系统的时候,尽量避免物理删除,表中设一个字段Status 表示记录状态,即逻辑删除(要知道,信息对公司来讲是相当重要的资源)
对于多重提交或耦合度比较高的表操作,尽量使用事务,一旦出错,可以回滚
对于程序中尽量避免出现SQL语句,尽所能使用SP,程序中使用DAL层的数据接口调用SP
对于大数据量整表操作,尽量避免游标操作