3.5数据库系统-关系代数、自然连接、性能问题

3.5数据库系统-关系代数、自然连接、性能问题

关系代数

关系代数是针对关系模式所做的代数运算,在考试中基本上只出现几种,并集、交集、差集、笛卡儿积、投影、选择、连接几种,其它的运算在考试并不怎么涉及。

请添加图片描述
投影用π表示,表示选择哪些列,即select语句中展示的column name。
选择用σ(西格玛的小写)表示,表示选择哪一个元组行,即select展示的结果集的内容。

自然连接

是连接的运算,连接可以有多种,考试中考察较多的是自然连接,自然连接是特殊的等值连接,符号是⋈。自然连接的结果,从结果上看:
属性列个数是二者之和,减去重复列;
元组行个数是同时满足,相同属性列必须同时取值相等。

自然要做的两个事:
①自然连接的条件是存在同名属性列,有同名属性列,取值相等。首先属性上来看,同名属性列重复不需要记录。
②同名属性列在还原的过程当中,需要随之还原一些非主属性。非主属性一定是由同名属性列来决定,否则等值所取到的同名属性列不知道是谁取的。(即以同名属性列为左侧决定因素的函数依赖有一个保留下来了,保留下来的结果是可以随之还原右侧被决定的因素)

请添加图片描述

π1,2,3,5(σ1=4(S1×S2)),(S1×S2)先两个表做笛卡尔积,然后σ1=4筛选数据,然后投影π1,2,3,5,选择列进行展示。

σ1=4(π1,2,3,5(S1×S2)),(S1×S2)先两个表做笛卡尔积,然后投影π1,2,3,5,选择列进行展示,然后σ1=4筛选数据,这时,由于重复字段,所以4表示的是StuClass这个字段,不是S2的StuId,所以这个表达式是错的。

性能问题

①一般认为自然连接是优于笛卡尔积的
②在考虑提升SQL语句性能的时候,或者是关系代数新能的时候,会尽可能的取压缩运算表,也就是小表驱动大表,同时需要笛卡尔积的时候,尽可能在不影响结果的情况下,先进行数据筛选,减少笛卡尔积的数据量,从而提高性能。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值