关系数据库
关系表的属性:
- 每个表都有唯一的名称。
- 一个表中每个列有不同的名字。
- 一个列的值来自于相同的属性域。
- 列是无序的。
- 行是无序的。
候选键:
仅包含唯一标识记录所必须的最小数量列的超键。表的候选键有三个属性:
- 唯一性:在每条记录中,候选键的值唯一标识该记录。
- 最小性:具有唯一性属性的超键的最小子集。
- 非空性:候选键的值不允许为空
主键:
唯一标识表中记录的候选键。主键是唯一的、非空的。没有被选做主键的候选键称为备用键。在选择主键时,我们可以参考以下原则:
- 主键要尽可能地小
- 主键值不应该被改变。主键会被其他表所引用。如果改变了主键的值,所有引用该主键的值都需要修改,否则引用就是无效的。
- 主键通常使用数字类型,数字类型的主键要比其他数据类型效率更高。
- 主键应该是没用业务含义的,它不应该包含实际的业务信息,无意义的数字列不需要修改,因此是主键的思想选择。大部分关系型数据库支持的增属性或序列对象更适合当作主键。
- 虽然主键允许由多列组成,但应该使用尽可能少的列,最好是单列。
关系型数据库的主要语言就是SQL语言。
关系数据模型的缺点:需要额外建立数据集市的存储区,并增加相应的数据装载过程。对数据仓库的使用强烈依赖于SQL语言的掌握程度。