数据库笔记-关系代数

关系代数运算

关系代数的五个基本操作
  • 并():两个关系需有相同的关系模式,并的对象是元组,由两个关系所有元组构成。

    RUS≡{t| t∈R ∨t∈S}

  • 差(-):同样,两个关系有相同的模式,R和S的差是由属于R但不属于S的元组构成的集合。

    R-S≡{t| t∈R ∧t 不属于S}

  • 笛卡尔积(×):对两个关系R和S进行操作,产生的关系中元组个数为两个关系中元组个数之积。

    R×S≡{t| t=< tr,ts>∧tr∈R∧ts ∈S}

  • 投影(π):对关系进行垂直分割,消去某些列,并重新安排列的顺序,重复元组只能保留一个

    select distinct A1,A2 from R

  • 选择(σ):根据某些条件关系作水平分割,即选择符合条件的元组。

    select * from R where F

关系代数的四个组合操作
  • 交():R和S的交是由既属于R又属于S的元组构成的集合。

  • 连接:包括θ(算术比较符)连接和**F(**公式)连接.

    选择R×S中满足iθ(r+j)或F条件的元组构成的集合;

    概念上比较难理解,关键理解运算实例

    等值连接(θ为等号“=”的连接)。

  • 自然连接(R[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-auKv1aSi-1623903311114)(数据库.assets/clip_image001.gif)]S):在R×S中,选择R和S公共属性值均相等的元组,并去掉R×S中重复的公共属性列。 如果两个关系没有公共属性,则自然连接就转化为笛卡尔积。

  • 除法(÷):首先除法的结果中元数为两个元数的差, 方便解决带有“全部条件”的查询定义

    R÷S的操作思路如下—把S看作一个块,如果R中相同属性集中的元组有相同的块, 且除去此块后留下的相应元组均相同,那么可以得到一条元组, 所有这些元组的集合就是除法的结果

查询优化

关系代数表达式的优化问题

查询优化的目的就是为了系统在执行时既省时间又能提高效率。

在关系代数运算中,通常是先进行笛卡尔积或连接运算,再进行选择和投影。笛卡尔积或连接运算却往往花费教多的时间。

因此,恰当地安排选择、投影和连接的顺序直接影响到整个操作所需要的时间和空间。 如何安排若干关系的运算操作步骤,是查询优化所要考虑的问题。

优化的策略
  • 在关系代数表达式中尽可能早地执行选择操作;

  • 把笛卡尔积和随后的选择操作合并成F连接运算;

  • 同时计算一连串的选择和投影操作;

  • 保留同一子表达式的结果;

  • 适当对关系文件进行预处理 ;

  • 计算表达式之前先估计一下怎么计算合算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值