(1) 是否所有完整性约束都可以采用列级定义和表级定义两种方式实现?举例说明。
时间: 2023-12-06 22:43:14 浏览: 63
用于托管 Discord Overlay 的 DirectX 11 窗口.zip
不是所有完整性约束都可以采用列级定义和表级定义两种方式实现。一些完整性约束只能通过触发器来实现。
举个例子,在一个学生信息表中,可能有一个完整性约束是“所有学生的年龄必须大于等于18岁”。这个约束可以通过列级定义来实现,即在“年龄”列上设定一个 CHECK 约束,限制其取值必须大于等于18。也可以通过表级定义来实现,即在创建表时设置一个 CHECK 约束,限制整个表中“年龄”列的取值都必须大于等于18。
但是,如果我们希望在插入新记录时,自动计算该学生的出生年份,并将其存储到另一个列中,那么就需要使用触发器来实现。这个完整性约束无法通过列级定义和表级定义来实现。
阅读全文