2.1.1 关系##


笛卡儿积
关系
candiate key 如果一组属性值可以唯一的标识一个元祖,但是他的子集不行,那么这是一个候选码
关系可以由三种类型
基本关系
查询关系
视图

为关系附加如下两条定义
无限关系是无意义的,
通过为关系附加一个属性名的方式取消 关系的有序性

基本关系有如下6条性质
列是同质的
不同的列可以取自同一个域
行的顺序无所谓
任意两个元祖的候选码不可以相同
分量必须是原子化的

2.1.2 关系模式##

关系模式可以形式化的表现为
R(U,D,ROM,F)
U 是 组成关系的属性集合
D 是 属性所取值的域
ROM 是属性向域的映射集合
F 是属性之间依赖关系的集合

关系模式可以简记成R(U) R(A1,A2..) An 是属性名 , 其他的部分省略

2.2 关系操作#

2.2.1 基本关系操作##

选择 投影 连接 除 差 并 交 笛卡儿积

基本操作有: 选择 投影 并 差 笛卡儿积 五种

2.2.2 关系语言的分类##

代数方式或者逻辑关系来表示

分别称为 关系代数和关系演算

  • 关系代数用对关系的运算来表达查询需求

  • 关系演算用谓词来表示 查询需求

关系演算又按照基本对象是 元组变量还是域变量 分为 元祖关系演算语言 和 域关系演算语言

和具有以上两种关系的语言 SQL

SQL 是集查询, 数据定义语言 数据操作语言, 数据控制语言 DCL 于一体的语言

2.3 关系的完整性#

2.3.1 实体完整性##

就是null 主属性都不可以为 NULL

2.3.2 参照完整性##

就是如果F 是 R的 外码
与 S中的 Ks 相对应
那么 F 可以取空值
非空值要等于S中某一个主码的值

2.4 关系代数#

关系代数分为 传统的集合运算和关门的关系运算符两种

2.4.1 传统的集合运算##

差 并 交 笛卡儿积(广义的) 4种

2.4.2 专门的关系运算符号

包括 选择 投影 连接 除运算等

选择###

选择表达式实际上是从关系 R种选择使得 F 为真的元组
σF(R) ={t | t属于R 并且F(t)='真'}

投影

投影是从R中选出若干属性列组成新的关系。
ΠA(R)={t[a] |t 属于R}

连接##

也成为 θ 连接,从两个关系的笛卡尔积中选出满足一定条件的元祖来

θ 是= 的连接被称为等值连接

自然连接是一种特殊的等值连接 ,这要求 进行比较的两个关系中 属性名相等,并且在结果中 除去重复的列

关系R 中有些元组因为对应的 S 中不存在,所以有可能被放弃,变成悬浮元组,(dangline tuple)

保留悬浮元组并且 填上NULL 称为外连接 。 只保留左边和右边 分别是左连接 右连接

除运算##

R / S ={Tr[X] | Tr 属于 R 并且Πy(S) 属于Yx}

关系演算#

2.5.1 元组关系演算语言 ALPHA##

1 检索操作

2.5.2元组关系演算##

暂略