将分层数据存储在数据库中
我需要将从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