0

有一个名为 的表Department,其中显示了大学的各个部门。
还有一个名为 的表Branch,显示了各个分支(如电气、计算机科学、机械、汽车、法律、文学等)

条件:

  1. ADepartment可以有任意数量的Branches。
  2. ABranch可以关联到 single Department

Department这意味着:之间的基数Branch是“一对多”。

现在的问题是,在这种情况下,如果我将dept_id(表的属性:)Department作为主键。我如何能够关联多个branch_id(表的属性:)Branch,因为如果我这样做,我可能会违反其dept_id自身的主键条件。

如何处理基数和使外键齐头并进?

4

1 回答 1

1

添加外键dept_idBranch引用Department.dept_id.

由于dept_idin 是唯一的,因此 in 的Department每一行Branch显然都可以链接到 in 的某一行Department,并且 in 可以有多个Branch包含相同的行dept_id

因此,两者之间将存在一对多的关系。


要描述多对多关系,您需要创建第三个表,其中包含:

  • 外键dept_id引用Department.dept_id
  • 外键branch_id引用Branch.branch_id
于 2013-08-05T16:25:29.137 回答