关系运算与SQL实例.ppt
《关系运算与SQL实例.ppt》由会员分享,可在线阅读,更多相关《关系运算与SQL实例.ppt(58页珍藏版)》请在三一办公上搜索。
1、1,关系运算与SQL实例,金秋乐,2,一:关系代数-传统的集合运算,1、并(Union)RS=t|tRt S2、交(Intersection)RS=t|tRt S3、差(Difference)R-S=t|tRt S,3,一:关系代数-传统的集合运算,4、广义笛卡儿积(Extended Cartesian Product)RS=trts|trRts S,R,S,4,一:关系代数-传统的集合运算,运算结果,RS,RS,R-S,5,一:关系代数-传统的集合运算,运算结果,RS,6,一:关系代数-专门的关系运算,专业标记1、设关系模式为R(A1,A2,An).它的一个关系设为R。tR表示t是R的一个元
2、组。tAi表示元组t中相应于属性Ai的一个分量2、若A=Ai1,Ai2,Aik,其中Ai1,Ai2,Aik是A1,A2,An中的一部分,则A称为属性列或域列。tA=(tAi1,tAi2,tAik)表示元组t在属性列A上诸分量的集合。A则表示A1,A2,An中去掉Ai1,Ai2,Aik后剩余的属性组,7,一:关系代数-专门的关系运算,专业标记3、R为n目关系。S为m目关系。trR,tsS,trts称为元组的连接(Concatenation).它是一个n+m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组4、给定一个关系R(X,Z),X和Z为属性组。定义:当tX=x时,x在R上
3、的象集(Image Set)为:Zx=tZ|t R,tX=x,它表示R中属性组X上值为x的诸元组在Z上分量的集合,8,一:关系代数-专门的关系运算,专门的关系运算1、选择(Selection)又称为限制(Restriction),在关系R中选择满足给定条件的诸元组,记作F(R)=t|t R F(t)=真例1、查询信息系(IS系)全体学生Sdept=IS(Student)5=IS(Student)例2、查询年龄小于20岁的学生Sage20(Student)420(Student),9,一:关系代数-专门的关系运算-例,Student,Couse,SC,10,一:关系代数-专门的关系运算-例,St
4、udent,Couse,SC,11,一:关系代数-专门的关系运算,专门的关系运算2、投影(Projection)从R中选择若干个属性列组成新的关系。记作:A(R)=tA|t R,A是R中的属性列例3:查询学生的姓名和所在的系Sname,Sdept(Student)2,5(Student)例4:查询学生关系Student中有哪些系Sdept(Student),12,一:关系代数-专门的关系运算,专门的关系运算3、连接(Join)又称连接。从两个关系的笛卡儿积中选取属性间满足一定条件的元组。记作;R S=trts|tr R ts S trA tsBA和B分别为R和S上度数相等且可比的属性组.为比较
5、运算符特殊的连接:等值连接:R S=trts|tr R ts S trA=tsB自然连接:将等值连接中重复的属性列去掉,记作:R S=trts|tr R ts S trA=tsB,AB,A=B,13,一:关系代数-专门的关系运算-连接例题,R,S,14,一:关系代数-专门的关系运算,专门的关系运算4、除(Division)R(X,Y)与S(Y,Z)的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合,记作:RS=trX|tr R y(S)Yx其中Yx为x在R中的象集,x=trX,15,一:关系代数-专门的关系运算-除
6、例题,R,S,RS,分析:在关系R中A可以取4个值a1,a2,a3,a4.其中a1的象集为:(b1,c2),(b2,c3),(b2,c1)a2的象集为:(b3,c7),(b2,c3)a3的象集为:(b4,c6)a4的象集为:(b6,c6)S在(B,C)上的投影为(b1,c2),(b2,c1),(b2,c3),16,一:关系代数-专门的关系运算-例题,例7:查询至少选修了1号课程和3号课程的学生号码先建立临时关系K:Sno,Cno(SC)K,Student,Couse,SC,17,一:关系代数-专门的关系运算-例题,例8:查询选修了2号课程的学生的学号Sno(Cno=2(SC)=95001,95
7、002例9:查询至少选修了一门其直接先行课程为5号课程的学生姓名Sname(Cpno=5(Course)SC Sno,Sname(Student)Sno,Cno(SC)Cno(Course)Sno,Sname(Student),Student,Couse,SC,18,一:关系代数-专门的关系运算-例题,例10:查询选修了全部课程的学生号码和姓名Sno,Cno(SC)Cno(Course)Sno,Sname(Student),Couse,SC,Student,19,二:SQL,1、SQL概述Structured Query Language:通用的、功能极强的关系数据库语言特点:(1).综合统一
8、(2).高度非过程化(3).面向集合的操作方式(4).以同一种语法结构提供两种使用方式(5).语言简捷、易学易用,20,二:SQL,数据查询SELECT数据定义CREATE、DROP数据操纵INSERT、UPDATE、DELETE数据控制GRANT、REVOKE,21,二:SQL-数据查询,SELECT FROM WHERE GROUP BY HAVING 内部函数表达式ORDER BY ASC 或 DESC,22,二:SQL-数据操纵,1、UPDATEUPDATE SET=,WHERE 2、INSERTINSERT INTO(列名,)VALUES(表达式或函数,),23,二:SQL-数据操纵
9、,2、INSERT(续)INSERT INTO SQL子查询3、DELETEDELETE FROM WHERE,24,二:SQL-实例-查询,例1:查询全体学生的学号和姓名例2:查询全体学生的姓名、学号、所在系,Student,Couse,SC,SELECT Sno,Sname FROM Student,SELECT Sname,Sno,Sdept FROM Student,25,二:SQL-实例-查询,例3:查询全体学生的详细记录例4:查询全体学生的姓名及其出生年份,Student,Couse,SC,SELECT*FROM Student,SELECT Sname,2004-Sage FRO
10、M Student,26,二:SQL-实例-查询,例5:查询全体学生的姓名、出生年份和所在系,要求用小写字母表示所在系名例6:查询选修了课程的学生的学号,Couse,SC,Student,SELECT Sname,Year of Birth,2004-Sage,LOWER(Sdept)FROM Student,SELECT Sno FROM SC,SELECT DISTINCT Sno FROM SC,27,二:SQL-实例-查询,例7:查询计算机系全体学生的名单例8:查询所有年龄在20岁以下的学生姓名及其年龄,Couse,SC,Student,SELECT Sname FROM Studen
11、t WHERE Sdept=CS,SELECT Sname,Sage FROM Student WHERE Sage20,SELECT Sname,Sage FROM Student WHERE NOT Sage=20,28,二:SQL-实例-查询,例9:查询考试成绩有不及格的学生的学号例10:查询年龄在20-23岁之间的学生的姓名、系别和年龄,Couse,SC,Student,SELECT DISTINCT Sno FROM SC WHERE Grade60,SELECT Sname,Sdept,Sage FROM Student WHERE Sage BETWEEN 20 AND 23,S
12、ELECT Sname,Sdept,Sage FROM Student WHERE Sage=20,29,二:SQL-实例-查询,例11:查询年龄在20-23岁之间的学生的姓名、系别和年龄例12:查询信息系(IS),数学系(MA),和计算机科学系(CS)学生的姓名和性别,Couse,SC,Student,SELECT Sname,Sdept,Sage FROM Student WHERE Sage NOT BETWEEN 20 AND 23,SELECT Sname,Ssex FROM Student WHERE Sdept IN(IS,MA,CS),30,二:SQL-实例-查询,例13:查询
13、不是信息系,数学系,和计算机科学系学生的姓名和性别例14:查询学号为95001的学生的详细情况,Couse,SC,Student,SELECT Sname,Ssex FROM Student WHERE Sdept NOT IN(IS,MA,CS),SELECT*FROM Student WHERE Sno LIKE 95001,SELECT*FROM Student WHERE Sno=95001,31,二:SQL-实例-查询,例15:查询所有姓刘的学生的姓名、学号和性别例16:查询姓欧阳且全名为三个汉字的学生的姓名,Couse,SC,Student,SELECT Sname,Sno,Sse
14、x FROM Student WHERE Sname LIKE 刘%,SELECT Sname FROM Student WHERE Sname LIKE 欧阳_,32,二:SQL-实例-查询,例17:查询名字中第2个字为阳字的学生的姓名和学号例18:查询所有不姓刘的学生的姓名,Couse,SC,Student,SELECT Sname,Sno FROM Student WHERE Sname LIKE _阳%,SELECT Sname FROM Student WHERE Sname NOT LIKE 刘%,33,二:SQL-实例-查询,例19:查询DB_Design课程的课程号和学分例20
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 运算 SQL 实例

链接地址:https://www.31ppt.com/p-6091921.html