我很难设计数据库,因为它需要大量的递归。我真的不能使用XML,因为它对于可伸缩性和我需要存储的数据量是不实际的。你们知道一个可以用来存储分层数据的数据库吗?
答案 0 :(得分:3)
SQL Server 2008具有HierarchyId数据类型。它专门为此任务而设计。正确的索引和键可以让您在深度优先和广度优先搜索中快速访问数据。
答案 1 :(得分:1)
答案 2 :(得分:1)
Oracle可以轻松地使用CONNECT BY语法
进行层次结构查询您可以拥有一个自我参照表,如:
PART_ID
parent_part_id
或几个表,如:
org_id
名称
org_id1
org_id2
答案 3 :(得分:0)
如果您对NoSQL开放,那么我建议使用MongoDB。它是面向文档的,所以你没有被束缚到固定的架构。它也具有很高的可扩展性和高性能。其中有很多好的OOP。例如,文档可以包含嵌入的文档,这样如果您的数据库已经设计为XML,那么在MongoDB中存储它将非常简单
答案 4 :(得分:0)
SQL Server还允许您将XML文件存储在单个字段中,然后通过查询轻松地从中解析特定元素/属性