资源描述:
《计算机软件技术基础 教学课件 作者 牟艳 陈慧萍 第13章 关系数据操作语言.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十三章关系数据操作语言1本章基本内容与要求基本内容关系代数传统的集合运算专门的关系运算SQL:DDL、DML、DCL要求掌握常用的关系代数运算符,能用关系代数表达式表达一般的查询请求熟练掌握SQL语言特别是SELECT语句的使用2第一节关系代数以一个或两个关系为输入(或称为操作对象),产生一个新的关系作为其操作结果。即其运算对象是关系,运算结果亦为关系。四类运算符:集合运算符专门的关系运算符比较运算符逻辑运算符34关系代数运算-例5一、传统的集合运算二元运算:有两个关系参与运算,其运算结果为一个新的
2、关系。运算符:并交差广义笛卡尔积6并(Union)定义所有至少出现在两个关系中之一的元组集合RS={r
3、rRrS}RS7例:ABC367257723443RABC345723SABC367257723443345R∪S8交(Intersection)定义13.2关系R与关系S的交定义为:R∩S={t
4、t∈R∨t∈S}9差(Difference)定义:R-S={t
5、t∈R∧tS}RS10广义笛卡尔积定义13.3二个分别为n目和m目的关系R和S的广义笛卡尔积R×S是一个(n+m)列的元组集合
6、,元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则R×S有k1×k2个元组。记作:R×S={trts
7、tr∈R∧ts∈S}其中trts表示由两个元组tr和ts前后有序连接而成的一个元组。11二、专门的关系运算选择(Selection)投影(Projection)连接(Join)条件连接自然连接除(Division)12选择定义13.4选择操作是从关系中选择满足条件的元组组成一个新关系,其运算符是“”,定义为:F(R)={t
8、t∈R∧F(t)=‘真’}1
9、3投影定义13.5投影操作是对关系作垂直分解,即从关系的属性中选择属性列,由这些属性列组成一个新关系。投影的运算符是“∏”,若A为从关系R中选择的属性列,则投影可定义为:∏A(R)={t[A]
10、t∈R}14连接连接运算:将两个关系连接起来,获得与用户查询有关的新关系。关系的连接有两类:条件连接和自然连接。条件连接:将两个关系有条件地连接起来自然连接:要求进行连接的两个关系中,具有相同的属性组,连接的条件就是两个相同属性组的分量相等,并且在连接的结果中把重复的属性去掉15自然连接例16除定义13.8除法
11、运算也是一个关系的二元运算,运算符号是“÷”。给定关系R(X,Y)和S(Y),其中X,Y为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域。R与S的除运算得到一个新的关系P(X),P(X)即R÷S是满足下列条件的最大关系:其中每个元组t与S中的每个元组u组成的新元组tu必须在关系R中。关系的除法运算可以通过下式计算:R÷S=ΠX(R)-ΠX(ΠX(R)×S-R)17除法例18关系代数综合例例13.11针对教学管理数据库:S(SNO,SNAME,AGE,SEX) (学生关系)C(CNO
12、,CNAME,TEACHER,) (课程关系)SC(SNO,CNO,GRADE)(选课关系)下面利用关系代数表达式来描述各种查询请求。检索学习课程号为C3的学生学号和成绩∏SNO,GRADE(CNO=’C3’(SC))检索学习课程号为C4的学生学号和姓名∏SNO,SNAME(CNO=’C4’(SSC))检索学习课程名为MATHS的学生学号和姓名∏SNO,SNAME(σCNAME=’MATHS’(SSCC))检索学习课程号为C1或C3的学生学号∏SNO(CNO=’C1’∨’CNO=’C3’(SC)
13、)19例13.11针对教学管理数据库:S(SNO,SNAME,AGE,SEX) (学生关系)C(CNO,CNAME,TEACHER,) (课程关系)SC(SNO,CNO,GRADE)(选课关系)下面利用关系代数表达式来描述各种查询请求。检索不学习课程号为C2的学生的姓名和年龄∏SNAME,AGE(S)∏SNAME,AGE(CNO=’C2’(SSC))检索学习全部课程的学生姓名∏SNAME(S(∏SNO,CNO(SC)÷∏CNO(C)))检索所学课程包括S1所学课程的学生学号∏SNO,CNO(SC
14、)÷∏CNO(SNO=’S1’(SC))20第二节结构化查询语言SQLSQL(StructuredQueryLanguage,结构化查询语言):国际标准数据库语言SQL语言的基本概念及特点SQL数据定义SQL数据查询SQL数据更新SQL数据控制21一、SQL语言的基本概念及特点SQL的发展1986:SQL(ANSI)1989:SQL89(ISO)SQL92(SQL2)SQL99(SQL3)SQL的特点综合统一高度非过程化面向集合的操作方式以同一种语法结