我需要将从XML文件中检索到的分层数据存储到关系数据库(SQL Server)中。数据在XML中具有以下结构:
项目
ItemId(唯一标识符)
ITEMNAME
描述项目的其他字段
项目关系
ParentItemId
ChildItemId
RelationshipType(描述关系的特定于域的信息)
描述关系的其他特定领域字段
我想将这些数据存储在数据库中,以便查询快速简单。由于关系的更新不会经常发生,我不太关心更新/插入/删除性能。
我曾考虑过hierarchyid方法。然而,除了父和子id(即RelatiopnshipType和其他一些)之外,还存在与关系相关联的其他字段,因此这似乎不可行。
有两个名为Items和ItemRelationships的表怎么样?
Items表包含ItemId(主键)和ItemName列。
ItemRelationships包含ParentItemId,ChildItemId,RelationshipType列。
ParentItemId和ChildItemId是Items.ItemId列的外键。这是一个有效的查询结构吗?请记住,ParentItemId可以有多个ChildItemId。层次结构的深度可能超过10个级别。 我也很困惑这种方法是否被称为邻接列表或桥接表或其他一些术语?