SQL 外键实现

SQL foreign key implementation

我必须在 SQL.

上创建大学数据库 tables

我有三个table:

university, faculty and department

他们都有主键id

因此,当我创建部门 table 时,我必须在其中添加 universityfaculty table 的外键,还是仅添加教员 ID 就足够了?

我必须为 id 使用哪种类型的密钥?主要的还是独特的?我不太明白他们的区别。

抱歉我的英语不好。

如果层次结构是 university -> faculty -> department,那么您将 university_id 放在院系 table 中,将 faculty_id 放在部门 table 中。

A primary keyunique constraintnot null constraint 的组合(以及物理 table 的排序)。

这三个 table 的大学、学院和部门具有唯一标识 table 中每一行的主键。要在每个 table 之间建立关系,应该有一个外键关系。

主键和唯一约束的区别是主键不允许有NULL值,但是可以有一个NULL值作为唯一键。它们都唯一标识了 table 中的每一行,并且不允许重复。