将分层数据存储在数据库中

我需要将从XML文件检索到的分层数据存储到关系数据库(SQL Server)中。数据在XML中具有以下结构:

项目

  • ItemId(唯一标识符)

  • 项目名

  • 描述项目的其他字段

  • 项目关系

  • ParentItemId

  • ChildItemId

  • RelationshipType(描述关系的域特定信息)

  • 描述关系的其他领域特定字段

  • 我想将这些数据存储在数据库中,这样查询起来就快捷简单。 由于关系更新不会经常发生,所以我并不太在意更新/插入/删除性能。

    我曾考虑分层次方法。 然而,除了父母和孩子ID之外,还有其他与父母关系相关的字段(即RelatiopnshipType和其他几个),所以这看起来不太可行。

    如何有两个名为Items和ItemRelationships的表?

  • Items表中有ItemId(主键)和ItemName列。

  • ItemRelationships具有ParentItemId,ChildItemId,RelationshipType列。

  • ParentItemId和ChildItemId是Items.ItemId列的外键。 这是一个有效的查询结构吗? 请记住ParentItemId可以有多个ChildItemId。 层次结构的深度可以超过10个级别。 我也很困惑这种方法是否被称为邻接表或桥接表或其他术语?

    链接地址: http://www.djcxy.com/p/16795.html

    上一篇: Storing hierarchical data in a database

    下一篇: Postgresql, maintaining hierarchical data with triggers