一定要减少上面这种情况:
I.在数据库中存储字段uuid,name,version,path,createTime,updateTime,parentName。
II.有许多个xml文件
文件内包含着这些字段信息:uuid,name,version,parentName
同样的信息,又存储在xml中。
III.
还有一个List.xml文件,用于维护一个树形结构(包含节点和xml文件名称)
包含字段:name,iconPath,type
这样会带来数据的冗余。
更严重的问题是:
(1)读取数据时,我们是读取数据库中的信息,还是读取xml中的信息。
(读取数据,要读哪里的呢?)
(2)而且为了保证数据的一致性,当你修改这些字段信息后,你要同时修改数据库和xml中相关字段的值。
(保存数据,要同时保存两次)
---------------------------------------------------------
我认为比较合理的做法:
数据库中保存字段:uuid,name,version,path,createTime,updateTime
舍弃parentName,它可以通过List.xml文件得到。
xml中保存字段:uuid
舍弃name,直接使用它的文件名即可
version存储在数据库中
parentName存储在List.xml中
List.xml中保存字段:name,type
舍弃iconPath,它可以通过type得到。
在程序中:
首先通过List.xml文件得到name,构建出QTreeWidget
使得每一个QTreeWidgetItem设置对应的type.
然后根据name得到对应的数据库中相关记录和xml文件
此时每个QTreeWidgetItem都获取了对应的uuid,name,version,path,createTime,updateTime以及保存在xml中的详细信息