由于系统比较大,所以建了一些基础表。如:部门,班次,班组,单位等...
有很多业务表通过外键和部门,班次联系,但是这样出现了一个问题,如果部门表里的一条数据删掉,那么很多业务表里的数据就关联不上了。导致关联的查询没有结果,或 出错。
我想问一下大家是如何解决这种表之间的联系的...

解决方案 »

  1.   

    我们现在想到一个做法是在基础表中新增一列Ctrl列主要用于和别的表的关联。
    只要维护好Ctrl不变就行。但是这样歹额外的增加维护成本,要记住基础数据对应的Ctrl
      

  2.   


    没什么太大的意义,这个也没什么太好的办法,
    避免对基础表作删除,增加一个Status列,标明基础表里数据是在用状态还是历史状态可以做个自动任务,定时清查引用完整性
      

  3.   

    正式系统中还有删除功能么?我已经5-6年没写过删除语句了,一律是在表中增加一个字段叫 IsActive 来判断是否还在用,不用了就 IsActive =0 
      

  4.   

    ASP.NET 3.5(1)第一群47448683 ,创群三年,刚刚清理,留上的都算得上是高手,现招人!
    群里肯定有人能解决您的问题!
      

  5.   

    正式系统中还有删除功能么? 我已经5-6年没写过删除语句了,一律是在表中增加一个字段叫 IsActive 来判断是否还在用,不用了就 IsActive =0 
    ----------------------------------------------------------------------------------------------
    谢谢,这个建议不错,考虑一下...
      

  6.   

    楼主在查询数据的时候怎么处理呢?
    比如说某个部门删除了,这个部门的业务还能查询出来吗?
    一般来说应该是不能查看的吧?
    用inner join查询有时候也难避免