我有一个针对火车预订系统的实体关系模型设计的数据库。
数据库包含主键和外键约束,以及几个一对多和多对多的关系。
我很难理解递归关系。谁能解释一下我将如何识别数据库中的递归关系?
递归关系通常表示为与同一张表的外键关系。
例如,如果您有一个包含文件夹的文件系统,那么文件夹包含文件夹,您可能会这样做。有:
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)
);
注意:约束表示数据库中的层次关系,但不会“创建”它。关系是实体的逻辑定义的一部分。