元组(tuple)是关系数据库(relational database)中的基本概念,关系是一张表,表中的每行(即数据库中的每条记录)就是一个元组,每列就是一个属性。

使K∈R,如果K值能够在一个关系中唯一地标志一个元组,则K是R的 超码。如果K是最小超码,则K是 候选码

如果k是一个候选码,并由用户明确定义,则K是一个 主键。主键通常用下划线标记。

关系代数

六个基本运算:

1.选择(select)根据条件选出行(元组)。

2.投影(project)选择列(属性),将表中重复的元组删除。

3.并(union)将两个有相同属性(且排列顺序相同)的表合并,重复的元组删除。

4.差(set difference)将两个有相同属性(且排列顺序相同)的表中出现相同的元组删除。

5.广义笛卡尔积(cartesian product)

定义:r x s = { {t q} | t∈r and q∈s}
 假设r(R)的属性和s(S)的属性没有交集
 如果r(R)和s(S)的属性有交集,那么必须重命名这些有交集的属性(r.B和s.B)

数据库Day1

6.重命名(rename)

四个附加运算:

1.交(Set intersection)从两个有相同属性(且排列顺序相同)的表中找出相同的元组。表达式:r ∩ s =  r - ( r -  s )

2.自然连接(natural join)    r ⋈ s

数据库Day1

(1) r,s必须含有共同属性 (名, 域对应相同),
(2) 连接二个关系中同名属性值相等的元组
(3) 结果属性是二者属性集的并集,但消去重名属性。

3.除(division) r ÷ s

数据库Day1理解这张图,语言太难描述了。

4.赋值(assignment)

(←)可以使复杂的查询表达变得简单

将 ← 右侧的表达式的结果赋给 ← 左侧的关系变量,该关系变量可以在后续的表达式中使用。

拓展关系运算:

1.广义投影~允许在投影列表中使用算术函数来对投影操作进行扩展

2.聚集函数~输入一个值集合,然后返回单一值作为结果,如avg,min,max,sum

3.外连接

 外连接运算是连接运算的扩展,可以处理缺失信息
 保留一侧关系中所有与另一侧关系的任意元组都不匹配的元组,再把
产生的元组加到自然连接的结构上
 使用空值:
    空值表示值不知道或不存在

数据库Day1

数据库Day1

数据库的修改:插入、删除、更新。

 

相关文章: