SQL 域中的完整性限制

本文最后更新于:2024年3月18日 凌晨

SQL 域中的完整性限制

  • 在第1,2章中已经讲到,域是数据库中一个重要的概念,一般地,域是一组具有相同数据类型的值的集合,SQL支持域的概念,并可以用CREATE DOMAIN语句建立一个域以及改域应该满足的完整性约束条件,然后就可以用域来定义属性,这样定义的优点是,数据库中不同的属性可以来自同一个域,当域上的完整性约束条件改变时只要修改域的定义即可,而不必意义修改域上的各个属性。

[例5.14]:建立一个性别域,并声明性别域的取值范围。

1
CREATE DOMAIN GenderDomain CHAR(2) CHECK(VALUE IN ('男','女'))

这样例5.10中对Ssex的说明可以改写为:

1
Ssex GenderDomain

[例5.15]:建立一个性别域GenderDomain,并对其中的限制命名。

1
CREATE DOMAIN GenderDomain CHAR(2) CONSTRAINT GD CHECK(VALUE IN ('男','女'));

[例5.16]:删除域GenderDomain的限制条件GD

1
ALTER DOMAIN GenderDomain GenderDomain DROP CONSTRAINT GD;

[例5.17]:在域GenderDomain上增加性别的限制条件GDD

1
ALTER DOMAIN GenderDomain ADD CONSTRAINT GDD CHECK(VALUE IN('1'),'0');
  • 这样,通过例5.16和例5.17,就把性别的取值范围由(‘男’,‘女’)改为(‘1’,‘0’)