数据库-关系代数(类型、完整性约束、基本运算、扩展运算)
来源:互联网 发布:sql identity_insert 编辑:程序博客网 时间:2024/05/22 17:35
(1)基本概念
① 属性和域:
每个事物有很多属性,每个属性对应的取值范围叫做域,所有对域都是原子数据(第一范式)
② 相关名词
n元关系:R(D1,D2,D3...Dn)是n元关系,其中关系属性的个数称为“元数”,元组的个数称为“基 数”,也就是记录值。
候选码:若关系中某一个属性或者属性组的值可以唯一的标识一个元组,则称为候选码
主码:可以选择任意一个候选码作为主码
主属性:包含在任何候选码中的属性叫作主属性
全码:关系模型中所有属性都是这个关系模型的候选码,称为全码
外码:关系模式中的属性非该关系的码,则称为外码
③ 三种类型:
基本表:实际存在的表
查询表:查询结果对应的表
视图表:由基本表和其他视图表导出的表,不是实际存在数据库中
④ 完整性约束:
实体完整性:主属性A不能为空值
参照完整性:用实体之间的关系来描述,若F是关系R的外码,则F或者是空值,或者是某个元组的 主码值
用户定义完整性:根据具体关系数据的约束条件,比如数据范围等
(2)关系五种基本运算
① 并:
R,S具有相同的关系模式(元素相同,结构相同),记为R U S,返回由R或者S元组构成的集合组成
② 差:
R,S具有相同的关系模式(元素相同,结构相同),记为R-S,右属于R但不属于S的元组组成
③ 广义笛卡尔积:
R×S由n目和m目的关系R,S组成一个(n+m)列的元组集合,若R有K1个元组,S有K2个元组,则R×S有K1*K2个元 组
④ 投影(π) :
从关系的垂直方向开始运算,选择关系中的若干列组成新的列。
⑤ 选择(σ):
选择从关系的水平方向进行元算,选择满足给定条件的元组组成新的关系。
(3)扩展的关系代数运算
① 交:
R∩S=R-(R-S),R,S具有相同的关系模式
② 链接:
链接分为θ链接,等值链接和自然链接
θ链接:从R,S的笛卡尔积中选择满足一定条件的元组
等值链接:当θ为“=”时为等值链接
自然链接:是一种特殊的等值链接,比较的分量必须是相同的属性组,并在结果集中去掉重复列,如果没有重复列,自然链接就转换为笛卡尔积
③ 除:
同时从水平方向和垂直方向进行运算,给定关系R(X,Y)和S(Y,Z),X,Y,Z为属性组,R÷S应当满足在X上的分量值x的像集Yx包含关系S在属性组Y上的投影集合:
例如:
R是:
A
B
C
D
a
b
c
d
a
b
e
f
a
b
h
k
b
d
e
f
b
d
d
l
c
k
c
d
c
k
e
f
S是:
C
D
c
d
e
f
则R÷S:
A
B
a
b
c
k
④ 广义投影:
广义投影运算容许在投影列表中使用算法运算,实现对投影运算的扩充,投影出的列不一定是原来的列,可以是通过计算出来的列。
⑤ 外连接:
由于自然链接会丢失一些信息,而外链接可以处理由于链接运算而缺失的信息,外链接分为左外链接、右外链接、全外链接。
左外链接:取出左侧关系中所有与右侧关系中任一元素都不匹配的元组,用null来填充右侧的关系 属性。
右外链接:取出右侧关系中所有与右侧关系中任一元素都不匹配的元组,用null来填充左侧的关系属性。
全外链接:完成左外链接和右外链接的操作。
- 数据库-关系代数(类型、完整性约束、基本运算、扩展运算)
- 【数据库】关系代数基本运算
- 【数据库】关系代数基本运算
- 【数据库】关系代数基本运算
- 关系代数基本运算
- 关系代数基本运算
- 数据库查询的基本运算,关系代数
- 关系代数的基本运算
- 数据库总结(4)-关系运算—关系代数。
- 数据库 - 关系代数与关系运算
- 数据库中关系代数中的关系运算
- 数据库基础--关系代数中的除法运算
- SQL数据库关系代数中的除法运算
- 数据库集合运算与关系代数
- 关系代数运算
- 关系代数运算除
- 关系代数运算
- 关系代数运算符
- 22Generate Parentheses
- hdu5386 Cover(暴力,观察)
- 0828Android基础自定义Dialog+DatePickerDialog+TimePickerDialog+PopupWindow+Notification
- Linux内核同步机制之(三):memory barrier
- 互 联 网 数 据 挖 掘 综 述
- 数据库-关系代数(类型、完整性约束、基本运算、扩展运算)
- 矩阵基本操作(加减乘、求逆、转置)
- 【峰回路转】Excel技巧百例 14.字符串截取函数的经典组合示例
- UIBarButtonItem的分类 (快速返回一个显示图片的UIBarButtonItem)
- web数据挖掘
- 通过应用程序使用字符设备驱动
- iPhone开发之UIScrollView滚动组件的使用(六)通过代理实现手势缩放——(拖线实现)
- 【EXT-BSGS算法求离散对数】POJ Clever Y 3243
- 【Lua】在C#中通过lua调用C#中的类方法