关系模型的提出:是从表(Table)及表的处理方式中抽象出来的,是在对传统表及其操作进行数学化严格定义的基础上,引入集合理论与逻辑学理论提出的。
关系模型三要素:
- 关系数据结构:关系/二维表格
- 关系完整性约束:
- **实体完整性:**关系中的主码/主键的值不能为NULL,也不能重复。
- **参照完整性:**如果关系R1的外码/外键Fk与关系R2的主码Pk相对应,则R1中的每一个元组的Fk值要么等于R2中某个元组的Pk值,要么为NULL。
- **用户自定义完整性:**用户针对具体的应用环境定义的完整性约束条件。
- 关系操作(查询):
域:一组相同数据类型的值的集合
关系:是表中所有元组的集合;数学意义上是一组域D1,D2,D3…的笛卡尔积的子集。
关系模式:又称为表标题,含有表名和字段名,比如student(name,age,sex)
关系模式与关系:
- 同一关系模式下,可有很多的关系
- 关系模式是关系的结构,关系是关系模式在某一时刻的数据
- 关系模式(型)是稳定的;而关系(值)是某一时刻的值,是随时间可能发生变化的
候选码/候选键:关系中的一个属性组,其值能唯一标识一个元组,若从该属性组中去掉任何一个属性,它就不具有这一性质了,这样的属性组称作候选码。显然,候选码可能由一个或多个属性组成;而一张表中可能也有一个或多个候选码。
- 简单情况:候选码只包含一个属性
- 极端情况:所有属性构成这个关系的候选码,称为全码
主属性和非主属性:包含在任意一个候选码中的属性被称作主属性,而其他属性被称作非主属性。
主码/主键:当有多个候选码时,可以选定其中一个候选码作为主码。DBMS以主码为主要线索管理关系中的各个元组。
外码/外键:关系R中的一个属性组,与另一个关系S的候选码相对应,则称这个属性组为R的外码或外键。显然一张表中的外键可能有0到N个。