【问题标题】:Recursive Relationships in SQL DatabaseSQL 数据库中的递归关系
【发布时间】:2020-11-21 20:33:45
【问题描述】:

我有一个基于实体关系模型设计的数据库,用于火车预订系统。

数据库包含主键和外键约束,以及多个一对多和多对多关系。

我很难理解递归关系。谁能解释一下我将如何识别数据库中的递归关系?

【问题讨论】:

    标签: sql


    【解决方案1】:

    递归关系通常表示为返回同一张表的外键关系。

    例如,如果您有一个包含文件夹的文件系统,那么文件夹包含文件夹,您可能会这样做。有:

    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)
    );
    

    注意:约束表示数据库中的层次关系,但它并不“创建”它。关系是实体逻辑定义的一部分。

    【讨论】:

      猜你喜欢
      • 2017-11-10
      • 2014-10-24
      • 1970-01-01
      • 2013-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-18
      相关资源
      最近更新 更多