SQL外键实现

时间:2015-03-30 13:40:14

标签: sql database oracle foreign-keys

我必须在SQL上创建大学数据库表。

我有三张桌子:

  

大学,教师和部门

所有这些主键都有id

因此,当我创建部门表时,我必须添加universityfaculty表的外键,或者只有教师ID是否足够?

我必须使用哪种类型的密钥?小学还是独特?我不太了解他们的不同。

抱歉我的英语不好。

2 个答案:

答案 0 :(得分:1)

如果层次结构为university -> faculty -> department,那么您将university_id放在教师表中,将faculty_id放在部门表中。

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

答案 1 :(得分:1)

三个表大学,教师和部门都有主键,可以唯一标识该表中的每一行。要在每个表之间建立关系,应该存在外键关系。

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