尚未崩坏 发表于 2024-6-28 04:46:03

数据库系统(二)数据库关系代数 | 选择 投影 笛卡尔积 天然毗连 外毗连等

1 单张表运算

1.1 选择select

选择就是从一个表中选择满意条件的一些元组
“Predicate” 可以翻译为 “谓词” 大概 “断言”。在数据库和盘算机科学的上下文中,谓词通常是用来描述条件或断言的术语,用于筛选数据或控制程序的实行流程。
https://img-blog.csdnimg.cn/direct/ec3d2768c70340d9b1ef02d44f58178d.png
选择的条件可以 是表达式
可以包括等于,大于小于,不等于等等
当有多个条件时,可以通过and,or等毗连
https://img-blog.csdnimg.cn/direct/74ca22cbedae4757b84592ee5d5ba962.png
还可以毗连两个属性
https://img-blog.csdnimg.cn/direct/7a0a21576d834d2a9058c4a7e4ade33c.png
1.2 投影 project

投影可以理解为选择某些属性的值(注意去掉重复的,如下图例子
https://img-blog.csdnimg.cn/direct/754d52266e3e4289bdb42f2a5ad9b2af.png
允许算术表达式,如下面的例子,管帐算salary/12的值
https://img-blog.csdnimg.cn/direct/4d9a8489ee6442959f057bb1f6d8525e.png
关系代数运算可以组合成一个关系代数表达式
如下面的例子,可以发现这里的参数是一个表达式
https://img-blog.csdnimg.cn/direct/0b045982281b485c8e9e62a18e61df61.png
2 多张表之间运算

2.1 笛卡尔积 Cartesian-product

前面表的第一行依次和后面表的每一行毗连
前面表的第二行依次和后面表的每一行毗连
……
https://img-blog.csdnimg.cn/direct/a86551da2ca442168e96c5f3e0f0b000.png
固然这样得到的结果大概是不公道的,以是我们可以在这个的基础上举行一些操作,选出符合要求的
天然引出我们下面的一种操作叫Theta毗连
2.2 Theta毗连 操作 Theta-join

先笛卡尔积,再选出符合要求θ的
Theta-Join 操作是数据库中的一种关联操作,它不仅仅基于相等的条件来关联两个表,而是允许使用任何满意特定谓词(通常是一个比力运算符,如小于、大于、等于等)的条件来关联表中的行。这个谓词通常用θ(希腊字母Theta)来体现,因此得名 Theta-Join。https://img-blog.csdnimg.cn/direct/1cd637c149d441fb93e84ae26d621837.png
2.3 天然毗连操作 natural-join

天然毗连依靠于表之间的隐式毗连条件,这些条件是基于表的列名相匹配的(找两个表中相同的列名)。具体来说,天然毗连将两个表中列名相同的列用作毗连条件,并且只返回这些列的一份副本。
——只有两个表都有的元素才会被链接
https://img-blog.csdnimg.cn/direct/5064d47ecaeb418a9c89603cd5156e49.png
举例如下
https://img-blog.csdnimg.cn/direct/743a5273e388401b94ede1089e4306a5.png
注意这里会产生悬浮元组,即没有对应一样的元组
以是就产生了下面的一种毗连方式
2.4 外毗连 outer join

把悬浮元组保存在结果表中,在其他属性上填NULL
右外毗连:保存右边表中的悬浮元组
https://img-blog.csdnimg.cn/direct/7fd7ee9946a44e3387c730880e772476.png
左外毗连:保存左边表中的悬浮元组
https://img-blog.csdnimg.cn/direct/9095368caee849f6b998727acba97138.png
2.5 并union,交Set-Intersection,差运算Set Difference

使用并运算条件
1 两个表必须有相同的属性
2 属性域必须兼容(对于每个 i,输入关系的第 i 个属性的范例必须相同)
举例
https://img-blog.csdnimg.cn/direct/5d5a21be51ea4f3384b8e6034e90200a.png
交运算
1 两个表必须有相同的属性
2 属性域必须兼容(对于每个 i,输入关系的第 i 个属性的范例必须相同)
举例
https://img-blog.csdnimg.cn/direct/8f6560fd9a8248cc86e3664b8ec14bbd.png
差运算
1 两个表必须有相同的属性
2 属性域必须兼容(对于每个 i,输入关系的第 i 个属性的范例必须相同)
https://img-blog.csdnimg.cn/direct/b396569790734431bbeecb64075679ee.png
2.6 除法 Division

除操作是同时从行和列角度举行运算
https://img-blog.csdnimg.cn/direct/6b4213845e7f47ad8d4516f7e9d306a9.png
https://img-blog.csdnimg.cn/direct/a1b5a2460d85490da4fb000ac9141c78.png
3 其他

3.1 赋值操作 Assignment

为了方便,简化表达式
https://img-blog.csdnimg.cn/direct/0e5b686cb9ac40388569c0dc043209a7.png
3.2 重定名 Rename

对表达式的结果大概表等重定名
两种表达形式
https://img-blog.csdnimg.cn/direct/3c8deda53cc7476fb669804cabc1d96f.png
举例
可以方便复用一个表
https://img-blog.csdnimg.cn/direct/5502fe0ed8e14a81a10736e7385bd361.png
https://img-blog.csdnimg.cn/direct/ce56e42676024f7dbd08ad0810c0f852.png
对于查询,大概有多种表达形式,他们的结果是一样的

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 数据库系统(二)数据库关系代数 | 选择 投影 笛卡尔积 天然毗连 外毗连等