嵌套集模型或用于表示层次结构的其他模型?
我有一个项目,我希望在基本上是平面数据库系统(简而言之,它是XML记录的集合)中存储分层信息(特别是类别和子类别)。我想在系统中存储有关类别和子类别的信息:
动物
无脊椎动物
脊椎动物
天气
房屋
摩天大楼
历史建筑
......等等。
无论好坏,系统中的所有内容都存储为XML记录;这就是存储系统的工作原理。
这意味着系统中的每个类别也存储为XML记录,如下所示:
<record id="12345">
<attribute name="Skyscrapers" />
<attribute type="Category" />
</record>
所以我想知道如何在这些约束下实现层次结构。
我习惯于在关系数据库中存储数据。在这些情况下,我几乎总是使用嵌套集模型。在这种情况下,这似乎不是一个好的选择,因为:
每次插入一个项目,你
必须改变right
和/或
left
许多节点的值。
我无法对XML进行批量更新
文件,所以我必须更新每个
一个人。
虽然有搜索功能让我过滤
“小于”或“大于”(所以我
理论上可以只拉动
相关的子节点或父节点
一个给定的类别),我无法订购
按属性的XML记录。所以
我必须检索所有的
文件,将它们转换成一个
可以排序的对象列表
(在这种情况下使用Python)然后
使用lambda
功能对它们进行排序。
由于我的数据存储模型与使用NoSQL存储数据没有显着差异,我想知道是否有人使用该存储机制已经提出了处理和存储分层数据的好方法。
没有找到相关结果
已邀请:
2 个回复
捅瓶啡
淑灯