【发布时间】:2011-07-08 11:57:29
【问题描述】:
通常,当我表示父子层次结构时,我有一个如下表(我还可能添加额外的深度列以加快速度),其中父子节点都是来自同一实体表的行的外键关系。
实体关系
复合密钥
孩子身份证
父 ID
我想弄清楚的是如何将树的深度限制为一。换句话说,如果某人是孩子的父母,我如何防止该父母本身就是孩子,所以不可能有祖父母甚至更远?
【问题讨论】:
-
这些是您需要在应用程序级别而不是在数据库级别实现的约束
-
我不喜欢在应用程序级别定义它的想法,因为可能会将不应允许的关系插入到数据库中。我猜这是不可能的,因为您必须在某个时候从表中检索孩子?
标签: sql database tree relationship