目录
前言
本文针对考纲上的30分sql应用题所涉及到的知识进行归纳总结。
分为两篇文章,本篇为关系代数相关知识点。
关系代数
关系间运算
关系和关系之间需要用到以下关系运算符:
其中,连接从连接条件上分,等值连接,非等值连接。上图不加任何条件的连接,叫做自然连接,它是去重后的等值连接,一种特殊的等值连接。
从连接结果来看,又分为左连接,右连接,外连接。
左连接就是左表的值一定要全出现,即使右表没有与之匹配的值,右表属性以null呈现在结果表里。
右连接同理。
外连接就是,左表和右表的值全要出现,没法匹配的就以null呈现在结果表里。
条件表达式
条件表达式需要用到以下运算符:
使用案例
设有一个SPJ数据库,包括供应商表S, 零件表P,工程项目表J, 供应情况表SPJ 4个关系模式,如下:
- 求没有使用天津供应商生产的红色零件的工程号JNO
- 求至少用了S1供应商所供应的全部零件的工程号JNO
语法树
主要是考画出语法树,然后优化它的题目。
优化就是把选择下移,把笛卡尔积和选择变成连接。
例子
设有sql查询树如下:
1)画出它的关系代数语法树。
2)再画出优化后的语法树。
1)