【发布时间】:2020-11-21 20:33:45
【问题描述】:
我有一个基于实体关系模型设计的数据库,用于火车预订系统。
数据库包含主键和外键约束,以及多个一对多和多对多关系。
我很难理解递归关系。谁能解释一下我将如何识别数据库中的递归关系?
【问题讨论】:
标签: sql
我有一个基于实体关系模型设计的数据库,用于火车预订系统。
数据库包含主键和外键约束,以及多个一对多和多对多关系。
我很难理解递归关系。谁能解释一下我将如何识别数据库中的递归关系?
【问题讨论】:
标签: sql
递归关系通常表示为返回同一张表的外键关系。
例如,如果您有一个包含文件夹的文件系统,那么文件夹包含文件夹,您可能会这样做。有:
create table folders (
folder_id int generated always as identity primary key,
name varchar(255),
parent_folder_id int,
constraint fk_folder_parent foreign key (parent_folder_id) references folders(folder_id)
);
注意:约束表示数据库中的层次关系,但它并不“创建”它。关系是实体逻辑定义的一部分。
【讨论】: