使用SQL的完整性,属性和表约束之间有什么区别?

时间:2017-01-07 18:26:41

标签: sql database attributes constraints integrity

我有一项任务要完成我有两个问题,我正在努力理解某些术语之间的区别。我已经通过电子邮件发送给我的讲师确认,但一周内没有回复,而且几天后就会收到回复!

第一个问题要求我使用包含数据类型和完整性约束的SQL命令创建表。 我理解完整性约束是外键,主键,唯一,而不是null。如果错误请纠正我。

然后第二个问题要求我通过添加属性约束和表约束来更改此表的定义。 我认为DROP / ALTER计为属性约束。但我不知道表约束是什么!

我还需要包含外键的删除/更新,但我不确定这是否是完整性约束或属性/表约束的一部分,到目前为止,互联网搜索已证明无效。

对此的任何帮助将不胜感激。 TIA

1 个答案:

答案 0 :(得分:0)

我不能说我对这一术语非常熟悉。但是,以下是合理的推测。

  • 属性约束将位于表中的各个列上。因此,这在逻辑上会包含NOT NULLcheck约束。

  • 完整性约束将位于表之间的列上。因此,这在逻辑上包括foreign key约束。

  • 表约束将出现在表中的所有行上。因此,这在逻辑上包括unique约束。

根据这个定义,主键既可以是表约束(唯一性),也可以是属性约束(非空)。

在这三者中,“完整性”约束是相当常用的。我对“属性约束”和“表约束”的术语并不十分熟悉。

我希望这本书,文章或讲义能够澄清这样的术语问题。