外键列到底要建在哪里?

虽然说刚步入软件开发岗位,但是自己做的大大小小的项目也不少了。让我一直纠结比较困惑的一个问题是,当我们建表时,外键实在是很烦人有没有?所以说它在创建的时候到底有没有什么规则或者依据。今天,决定彻底搞明白这一个问题。

(1)1:1的关系。我们知道1对1的关系一般都有一个主、一个附,一般我们把外键创建在附表上。(比如订单和订单详情,订单表是主表、订单详情表是附表,外键建在订单详情表中。)

(2)1:n的关系。把外键建立在n的那张表上。如果将外键建在1的上面会造成数据冗余。不明白的小伙伴打开你的Excel画个图就明白了。

(3)n:m的情况,需要建立一个关系表(中间表),两个原表和其关系分别是1:n,1:m。用第三张表去维护原来两张表之间的关系。

原文地址:https://www.cnblogs.com/zyh1994/p/6222845.html