现在数据库中有两个表
成本项目表tb_costitem,存放成本项目
基础数据表tb_basedata,存放许多产品成本项目的总成本和总消耗
比如,成本项目表中共有50条成本项目,基础数据表中的产品A对应50条数据,产品B对应50条数据。。。。每种产品都对应50条数据
tb_costitem和tb_basedata两个表靠索引列来关联,因为每种产品对应的50条数据,要和50条成本项目一一对应,哪个成本项目对应哪条数据,都根据这两个表中的索引值来确定。
成本项目表里存放的数据是一个树形结构,用户可以添加节点,删除节点,移动节点。每做这些操作时,系统会使用深度优先遍历算法重新计算树的索引。但是,基础数据表的索引并不会跟着变化,也就是说两个表的索引不同步。
用户上传新数据到基础数据表的时候,通过存储过程给他们分配索引。新插入的数据的索引都没有问题,问题是老数据索引是有问题的,报表展示时显示的成本项目和基础数据对不上号。
请问有什么好的解决方案能解决索引不同步的问题吗?需要在怎样设计数据库的表结构?
我现在的表结构
------解决思路----------------------
成本项目表加字段项目ID,两个表靠项目ID关联,索引字段仅供显示时排序用。
注意:如果成本项目允许删除,则基础数据表中相应的数据将不再被显示。
------解决思路----------------------
外键关联,级联更新,基本就这些!再有就是根据查询条件添加索引之类~~