我这个项目是做文档管理的,只要文档的内容有修改,就要生成一个新的版本,旧版本和新版本都可以查看。现在有这么个情况,数据元文档的结构是:
1.前言
2.范围
3.规范性引用文件
4.数据元目录
4.1 子目录
4.1.1 子目录
中文名称:...
内部标识符:...
... : ...
4.2 子目录
5.版本号
它的结构是这样的,我现在是把123作为一个文档表里面的字段,然后4的目录拆分出来做了一个表,表结构是父id和名称(因为可能要增加目录,比如有4.1.1.1),具体的数据元信息又是一个表(表结构是父id加数据元的字段),都是通过父id来关联,确认那个目录/数据元属于哪个目录下。然后要做的功能是当这个文档的内容修改过后,都会把原来的保存不动,生成一个新的版本号,以后可以查看之前版本的文档内容。现在的问题是,如果没有拆分的话,直接全部复制然后修改就可以,但是现在拆分表的话,文档表一复制,其下的目录表的父id,目录表里的子目录父id,数据元表里的父id,都要因为父id改变而增加一个,那这种情况,该怎么实现这么多的父id修改?
我想了一种方法: 在目录表和数据元表里加一个字段,除了它们本身有的父id外,再加一个祖id(文档的id),通过文档id来区分是属于哪一个版本的,但是这样好像也会有问题,复制过来的目录表、数据元表里的父id指向的还是上一个版本的对应id,只是祖id改变了。
很苦恼,还是我不该这么设计拆分表,非常感谢,耽误了您几分钟时间。
问题一: 我究竟该怎么拆分表,还是不拆分,直接用一个(直接用一个会有一个问题,子目录下有100条内容的话,在前端是分页显示的,能否做到子目录下的记录分页,比如我只要这个目录下的第11条到第20条记录)?
问题二: 如果拆分表的话,那这种情况,怎么实现这么多的关联父id的修改?