关系上的约束
关系上可以声明哪几类约束?
| 约束 | 约束对象 |
|---|---|
| 引用完整性约束 | 关系之间的元组引用关系 |
| 键约束 | 关系内部键属性值的唯一性 |
| 域约束 | 单个属性的类型、长度与取值范围 |
引用完整性约束约束什么?
- 定义: 规定某个关系出现的所有元组必须在另一个关系中出现;
- 落地形式: 外键引用另一个关系的键, 外键值必须能在被引用关系中找到;
键约束约束什么?
- 定义: 关系任意元组在键上的属性值互不相同;
- 落地形式:
PRIMARY KEY与UNIQUE, 见 关系的载体与数据类型; - 作用: 使键能唯一确定一个元组;
域约束约束哪些方面?
- 类型: 属性值的数据类型;
- 长度: 字符串或位串的最大长度;
- 取值: 属性值必须落在允许的集合或区间内;
- 落地形式: 属性级
CHECK与NOT NULL, 见 属性与元组约束;
(source: 010-关系数据模型.md §关系上的约束)