域
一组具有相同数据类型的值的集合,如整数、实数,对应一张表里面的一列
笛卡尔积
一组域D1 D2 D3 D4…
笛卡尔积:D1D2D3D4…
举例:D1: a b c D2: c d
笛卡尔积:D1D2={ac,ad,bc,bd,cc,cd}
元组
笛卡尔积中的每一个元素或者说一张表里面的一行
分量
笛卡尔积元素中的每一个值或者说一张表里面一行中的一格
关系
关系是笛卡尔积的子集,是一张二维表
基本关系的一些性质
- 列是同性质的
- 不同的列可以来自同一个域
- 列的顺序没有影响
- 行的顺序没有影响
- 任意两个元组不能完全相同,至少主码不能相同
- 分量(一行中的一格)必须取原子值
关系模式
- 关系模式是型
- 关系是值
- 关系模式是对关系的描述
- 形式化定义:
通常简记:R(A1,A2…An)
R是关系名,A1…An是属性名
关系模式与关系
关系模式:
- 对关系的描述
- 静态的、稳定的
关系:
关系: - 在某一时刻的状态或内容
- 动态的、随时间不断变化的
###关系的完整性
实体完整性
主属性不能取空值
参照完整性
F是基本关系R的外码
F对应基本关系S的主码(R和S可以是同一个关系)
则对于R在F上的取值只能是以下两种情况“
1.取空值,即F的每个属性值均为空值
2.对于S中的某个元组的主码值
举例:
有一个学生表,对于某一元组有一个非主属性专业号
有一个专业表,其主属性为专业号
那么对于学生表的一个学生,他的专业号要么为空,也就是还没有分配专业;或者他的专业号是专业表里面的一个主码;不存在这样一个学生,他的专业号在专业表中不存在。
用户定义的完整性
用户自定义的完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所设计的数据必须满足的语义要求。
例子: