我想在SQL Server中存储分层数据,我想知道最有效的方法是什么。
示例数据集将是:
Department Manager #1
Product Manager #1
Team Leader #1
Team Member #1
Team Member #2
Team Member #3
Team Leader #2
Team Member #1
Team Member #2
Team Member #3
etc...
答案 0 :(得分:3)
Person Table
- ID
- ParentID
优点:
缺点:
您还需要添加一项检查,以确保一个人不能成为自己的父(ID和父ID对于特定记录不能相同),否则您将在查询数据时遇到一些严重问题。
答案 1 :(得分:0)
最常见的答案是将每个对象类型存储在不同的表中,因此根据您的数据,您需要: 1表部门经理 1产品经理表 1个团队负责人表 1个团队成员表。
在Team Members表中,yuo需要为每个其他表提供一个外键。您还可以将所有数据保存在同一个表中,但您可能会有重复的数据。 希望这有帮助。