跳到主要内容

关系上的约束

关系上可以声明哪几类约束?​

约束约束对象
引用完整性约束关系之间的元组引用关系
键约束关系内部键属性值的唯一性
域约束单个属性的类型、长度与取值范围

引用完整性约束约束什么?​

  • 定义: 规定某个关系出现的所有元组必须在另一个关系中出现;
  • 落地形式: 外键引用另一个关系的键, 外键值必须能在被引用关系中找到;

键约束约束什么?​

  • 定义: 关系任意元组在键上的属性值互不相同;
  • 落地形式: PRIMARY KEY 与 UNIQUE, 见 关系的载体与数据类型;
  • 作用: 使键能唯一确定一个元组;

域约束约束哪些方面?​

  • 类型: 属性值的数据类型;
  • 长度: 字符串或位串的最大长度;
  • 取值: 属性值必须落在允许的集合或区间内;
  • 落地形式: 属性级 CHECK 与 NOT NULL, 见 属性与元组约束;

(source: 010-关系数据模型.md §关系上的约束)