SQL 外键实现
SQL foreign key implementation
我必须在 SQL
.
上创建大学数据库 tables
我有三个table:
university, faculty and department
他们都有主键id
。
因此,当我创建部门 table 时,我必须在其中添加 university
和 faculty
table 的外键,还是仅添加教员 ID 就足够了?
我必须为 id 使用哪种类型的密钥?主要的还是独特的?我不太明白他们的区别。
抱歉我的英语不好。
如果层次结构是 university -> faculty -> department
,那么您将 university_id
放在院系 table 中,将 faculty_id
放在部门 table 中。
A primary key
是 unique constraint
和 not null constraint
的组合(以及物理 table 的排序)。
这三个 table 的大学、学院和部门具有唯一标识 table 中每一行的主键。要在每个 table 之间建立关系,应该有一个外键关系。
主键和唯一约束的区别是主键不允许有NULL值,但是可以有一个NULL值作为唯一键。它们都唯一标识了 table 中的每一行,并且不允许重复。
我必须在 SQL
.
我有三个table:
university, faculty and department
他们都有主键id
。
因此,当我创建部门 table 时,我必须在其中添加 university
和 faculty
table 的外键,还是仅添加教员 ID 就足够了?
我必须为 id 使用哪种类型的密钥?主要的还是独特的?我不太明白他们的区别。
抱歉我的英语不好。
如果层次结构是 university -> faculty -> department
,那么您将 university_id
放在院系 table 中,将 faculty_id
放在部门 table 中。
A primary key
是 unique constraint
和 not null constraint
的组合(以及物理 table 的排序)。
这三个 table 的大学、学院和部门具有唯一标识 table 中每一行的主键。要在每个 table 之间建立关系,应该有一个外键关系。
主键和唯一约束的区别是主键不允许有NULL值,但是可以有一个NULL值作为唯一键。它们都唯一标识了 table 中的每一行,并且不允许重复。