【问题标题】:How to properly create a many-to-many relationship in an SQL database?如何在 SQL 数据库中正确创建多对多关系?
【发布时间】:2018-04-13 06:44:09
【问题描述】:

我最近收到了一个面试问题,有人告诉我有一个 File 表和一个 Category 表。一个文件(主键file_id)可以有很多类别(主键category_id),也可以有很多个文件。但是,在它们各自的表中应该只有一个文件条目和一个类别条目。创建架构。

我的解决方案是使用 file_id 和 category_id 外键创建一个联结表。如果用户想要检索文件的所有类别,查询将类似于:

SELECT * FROM Files JOIN FileCategory USING (file_id)

这个解决方案是正确的还是有更好的解决方法?

【问题讨论】:

  • 为什么没有回答这个问题,比如说,谷歌搜索,比如说,你的标题?

标签: sql database many-to-many schema database-schema


【解决方案1】:

您的解决方案是正确的。在两个实体之间实现多对多关系的标准方法是创建第三个实体,其复合主键由两个引用表的键组成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-02
    • 2015-12-31
    相关资源
    最近更新 更多