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