SQL数据模型中指向自身的键代表什么含义?
自引用外键(Self-Referencing Foreign Key)
你看到的是数据模型里的自引用外键,用于表达同一张表内部的递归层级关系:
- 带钥匙标识的线,一端关联表的主键字段,另一端指向表内的另一个字段(外键字段),规则是这个外键字段的取值必须匹配同表中主键字段的有效记录。
- 典型应用场景:
- 员工管理表:
employee_id作为主键,manager_id作为外键引用employee_id,用来标记员工的直属上级(上级本身也是员工表中的记录) - 商品分类表:
category_id是主键,parent_category_id引用category_id,实现分类的父子层级结构
- 员工管理表:
这种设计让单张表就能存储带有层级关联的数据,无需额外创建多张表来维护这类关系。
内容的提问来源于stack exchange,提问作者Kees Lasser
相关产品推荐
相关产品推荐

