数据库系统概论_第1页
数据库系统概论_第2页
数据库系统概论_第3页
数据库系统概论_第4页
数据库系统概论_第5页
已阅读5页,还剩109页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库系统概论第1页,共114页,2023年,2月20日,星期六第二章关系数据库2.4关系代数第2页,共114页,2023年,2月20日,星期六内容回顾关系、关系模式和关系数据库数据的完整性第3页,共114页,2023年,2月20日,星期六1.关系代数 一种抽象的查询语言 用对关系的运算来表达查询2.关系代数运算的三个要素运算对象:关系运算结果:关系运算符:四类第4页,共114页,2023年,2月20日,星期六表示记号(1)R,tR,t[Ai]设关系模式为R(A1,A2,…,An)它的一个关系设为R。

tR表示t是R的一个元组t[Ai]则表示元组t中相应于属性Ai的一个分量值

第5页,共114页,2023年,2月20日,星期六表示记号(2)A,t[A],A

若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一部分,则A称为属性列或域列。t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元组t在属性列A上诸分量的集合。A则表示{A1,A2,…,An}中去掉{Ai1,Ai2,…,Aik}后剩余的属性组。第6页,共114页,2023年,2月20日,星期六表示记号(3)trtsR为n目关系,S为m目关系。trR,tsS,trts称为元组的连接。它是一个n+m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。第7页,共114页,2023年,2月20日,星期六表示记号4)象集Zx给定一个关系R(X,Z),X和Z为属性组。当t[X]=x时,x在R中的象集(ImagesSet)为:

Zx={t[Z]|tR,t[X]=x} 它表示R中属性组X上值为x的诸元组在Z上分量的集合。例:x1Z1x1Z2x2Z3x2Z2x3Z3x3Z1X1在R上的象集ZX1={Z1,Z2}X2在R上的象集ZX2={Z2,Z3}X3在R上的象集ZX3={Z1,Z3}XZ第8页,共114页,2023年,2月20日,星期六1.选择(Selection)1)选择又称为限制(Restriction)2)选择运算符的含义在关系R中选择满足给定条件的诸元组

σF(R)={t|tR∧F(t)='真'}F:选择条件,是一个逻辑表达式,基本形式为:X1θY1

θ:比较运算符(>,≥,<,≤,=或<>)X1,Y1等:属性名、常量、简单函数;属性名也可以用它的序号来代替;在基本选择上可以进一步进行逻辑运算,即进行求()()()第9页,共114页,2023年,2月20日,星期六选择(续)3)选择运算是从行的角度进行的运算4)举例 设有一个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC。σ第10页,共114页,2023年,2月20日,星期六选择(续)学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19IS(a)

Student例1例2例4例3例9第11页,共114页,2023年,2月20日,星期六选择(续)(b)Course课程号课程名先行课学分CnoCnameCpnoCcredit1数据库542数学

23信息系统144操作系统635数据结构746数据处理

27PASCAL语言64例9学号课程号成绩SnoCnoGrade9500119295001285950013889500229095002380(c)SC例7例8例10第12页,共114页,2023年,2月20日,星期六选择(续)[例1]查询信息系(IS系)全体学生 σSdept

='IS'(Student) 或σ5='IS'(Student)结果:SnoSnameSsexSageSdept95002刘晨女19IS95004张立男19IS第13页,共114页,2023年,2月20日,星期六选择(续)[例2]查询年龄小于20岁的学生

σSage<’20’(Student) 或σ4<’20’(Student)

结果:

SnoSnameSsexSageSdept95002刘晨女19IS95003王敏女18MA95004张立男19IS

第14页,共114页,2023年,2月20日,星期六[例3]查询计算机系年龄小于20岁的学生

σSdept

='IS'∧Sage<’20’(Student)

第15页,共114页,2023年,2月20日,星期六2.投影(Projection)1)投影运算符的含义从R中选择出若干属性列组成新的关系

πA(R)={t[A]|tR} A:R中的属性列,之间用逗号

第16页,共114页,2023年,2月20日,星期六2.投影(Projection)2)投影操作主要是从列的角度进行运算但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行,关系中不允许有重复行)π第17页,共114页,2023年,2月20日,星期六投影(续)3)举例[例3]查询学生的姓名和所在系

即求Student关系上学生姓名和所在系两个属性上的投影

πSname,Sdept(Student) 或π2,5(Student)结果:第18页,共114页,2023年,2月20日,星期六投影(续)SnameSdept李勇CS刘晨IS王敏MA张立IS第19页,共114页,2023年,2月20日,星期六投影(续)[例4]查询学生关系Student中都有哪些系πSdept(Student) 结果:SdeptCSISMA第20页,共114页,2023年,2月20日,星期六3.连接(Join)1)连接也称为θ连接2)连接运算的含义从两个关系的笛卡尔积中选取属性间满足一定条件的元组

RS={|tr

R∧ts

S∧tr[A]θts[B]}A和B:分别为R和S上度数相等且可比的属性组θ:比较运算符

AθBtrts第21页,共114页,2023年,2月20日,星期六连接(续)3)两类常用连接运算等值连接(equijoin)什么是等值连接﹡θ为“=”的连接运算称为等值连接

等值连接的含义﹡从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为:

RS={|tr

R∧tsS∧tr[A]=ts[B]}A=Btrts第22页,共114页,2023年,2月20日,星期六连接(续)自然连接(Naturaljoin)什么是自然连接﹡自然连接是一种特殊的等值连接★两个关系中进行比较的分量必须是相同的属性组★在结果中把重复的属性列去掉自然连接的含义 R和S具有相同的属性组B

R

S={|trR∧tsS∧tr[B]=ts[B]}trts第23页,共114页,2023年,2月20日,星期六连接(续)4)一般的连接操作是从行的角度进行运算。

自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。

AθBRS第24页,共114页,2023年,2月20日,星期六连接(续)5)举例 [例5](R

S,RS,RS)ABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52RS

C<ER.B=S.B

第25页,共114页,2023年,2月20日,星期六连接(续)R

S

AR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310

C<E第26页,共114页,2023年,2月20日,星期六连接(续)等值连接R

SR.B=S.B

AR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b32第27页,共114页,2023年,2月20日,星期六连接(续)自然连接RS注:这两个运算结果元组数相等也相似,不同点在于B属性的个数

ABCEa1b153a1b267a2b3810a2b382第28页,共114页,2023年,2月20日,星期六外连接如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),那么这种连接就叫做外连接。ABCDa1b153a1b267a2b3810a2b382a2b412nullnullb5null2第29页,共114页,2023年,2月20日,星期六左外连接如果只把左边关系R中要舍弃的元组保留就叫做左外连接。ABCDa1b153a1b267a2b3810a2b382a2b412nullnullb5null2第30页,共114页,2023年,2月20日,星期六右外连接如果只把右边关系S中要舍弃的元组保留就叫做右外连接。ABCDa1b153a1b267a2b3810a2b382a2b412nullnullb5null2第31页,共114页,2023年,2月20日,星期六学号姓名年龄所在系

学号课程名成绩98001张三20计算机系98001数据库6298005李四21数学系98001数据结构73

98005微积分80学生.学号姓名年龄所在系选课.学号课名成绩980019800198001980059800598005张三张三张三李四李四李四202020212121计算机系计算机系计算机系数学系数学系数学系980019800198005980019800198005数据库数据结构微积分数据库数据结构微积分627380627380学生选课

学生×选课

第32页,共114页,2023年,2月20日,星期六学生.学号姓名年龄所在系选课.学号课名成绩980019800198005张三张三李四202021计算机系计算机系数学系980019800198005数据库数据结构微积分627380学生.学号姓名年龄所在系课名成绩980019800198005张三张三李四202021计算机系计算机系数学系数据库数据结构微积分627380学生选课学生.学号=选课.学号

学生选课

第33页,共114页,2023年,2月20日,星期六例如图(a)、(b)所示的两个关系R与S

RS

大于连接(C>D),等值连接(C=D),等值连接(R.B=S.B),自然连接ABC

BDa1b12

b15a1b24

b26a2b36

b37a2b48

b38第34页,共114页,2023年,2月20日,星期六大于连接(C>D)等值连接(C=D)

(c)(d)

AR.BCS.BD

AR.BCS.BDa2b36b15

a2b36b26a2b48b15

a2b48b38a2b48b26

a2b48b37

第35页,共114页,2023年,2月20日,星期六等值连接(R.B=S.B)自然连接(e)(f)

AR.BCS.BD

ABCDa1b12b15

a1b125a1b24b26

a1b246a2b36b37

a2b367a2b36b38

a2b368第36页,共114页,2023年,2月20日,星期六1.等值连接中不要求相等属性值的属性名相同,而自然连接要求相等属性值的属性名必须相同,即两关系只有在同名属性才能进行自然连接。2.等值连接不将重复属性去掉,而自然连接去掉重复属性。等值连接与自然连接的区别:第37页,共114页,2023年,2月20日,星期六4.除(Division)给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。

R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。

R÷S={tr[X]|tr

R∧πY(S)

Yx} Yx:x在R中的象集,x=tr[X]第38页,共114页,2023年,2月20日,星期六除(续)2)除操作是同时从行和列角度进行运算

3)举例

[例6]÷RS第39页,共114页,2023年,2月20日,星期六除(续)ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCDb1c2d1b2c1d1b2c3d2RSR÷SAa1第40页,共114页,2023年,2月20日,星期六分析:在关系R中,A可以取四个值{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)}只有a1的象集包含了S在(B,C)属性组上的投影所以R÷S={a1}第41页,共114页,2023年,2月20日,星期六将被除关系的属性分为象集属性和结果属性:与除关系相同的属性属于象集属性,不同的属性属于结果属性。

2)在除关系中,对与被除关系相同的属性(象集属性)进行投影,得到除目标数据集。

3)将被除关系分组,原则是,结果属性值一样的元组分为一组。

4)逐一考察每个组,如果它的象集属性值中包括除目标数据集,则对应的结果属性值应属于该除法运算结果集。关系除法运算分下面4步进行:第42页,共114页,2023年,2月20日,星期六学号课号成绩

课号课名S1C1AC2计算机图形学S1C2B选修课S1C3BS2C1A课号科名S2C3BC1数据结构S3C1BC3操作系统S3C3BS4C1AS4C2AS5C2BS5C3BS5C1A必修课选课÷必修课选课÷选修课第43页,共114页,2023年,2月20日,星期六选课÷选修课学号S1S4S5成绩BAB选课÷必修课学号成绩S3B第44页,共114页,2023年,2月20日,星期六例题讲解关系R、S如下表所示,R÷(πAl,A2(σ1<3(S)))的结果为____。A.{d}

B.{c,d}

C.{c,d,8}

D.{(a,b),(b,a),(c,d),(d,f)}

A第45页,共114页,2023年,2月20日,星期六例题讲解设有如下关系:关系代数表达式R÷S的运算结果是____。B第46页,共114页,2023年,2月20日,星期六5.综合举例以学生-课程数据库为例[例7]查询至少选修1号课程和3号课程的学生号码

首先建立一个临时关系K:

然后求:πSno.Cno(SC)÷K

Cno

1

3第47页,共114页,2023年,2月20日,星期六综合举例(续)例7续πSno.Cno(SC)

95001象集{1,2,3} 95002象集{2,3}

πCno(K)={1,3}于是:πSno.Cno(SC)÷K={95001}SnoCno950011950012950013950022950023第48页,共114页,2023年,2月20日,星期六综合举例(续)[例8]查询选修了2号课程的学生的学号。

πSno(σCno='2'(SC))={95001,95002}

第49页,共114页,2023年,2月20日,星期六

πSname(σCpno='5'(CourseSCStudent))综合举例(续)[例9]查询至少选修了一门其直接先行课为5号课程的学生姓名。

πSname(σCpno='5'(Course)SCπSno,Sname(Student))

πSname(πSno(σCpno='5'(Course)SC)πSno,Sname(Student))

第50页,共114页,2023年,2月20日,星期六综合举例(续)[例10]查询选修了全部课程的学生号码和姓名。

πSno,Cno(SC)÷πCno(Course)πSno,Sname(Student)第51页,共114页,2023年,2月20日,星期六学生选课库的关系模式为:

学生(学号,姓名,性别,年龄,所在系);

课程(课程号,课程名,先行课);

选课(学号,课程号,成绩).

【例1】求选修了课程号为“C2”课程的学生学号。

【例2】求选修了课程号为“C2”课的学生学号和姓名。

【例3】求没有选修课程号为“C2”课程的学生学号。

π学号,姓名(σ课程号=‘C2’(选课)学生)关系代数的例子

π学号(σ课程号=‘C2’(选课))π学号(学生)-π学号(σ课程号=‘C2’(选课))

本题不能写为:

π学号(σ课程号≠'C2'(选课))第52页,共114页,2023年,2月20日,星期六关系代数的例子【例4】求既选修“C2”课程,又选修“C3”课程的学生学号。π学号(σ课程号=‘C2’

选课))∩π学号(σ课程号=‘C3‘(选课))该题不能写为:π学号(σ课程号='C2'∧课程号='C3'(选课))【例5】求选修课程号为“C2”或“C3”课程的学生学号。π学号(σ课程号=‘C2‘(选课))∪π学号(σ课程号=’C3‘(选课))或π学号(σ课程号='C2'∨课程号='C3'(选课))第53页,共114页,2023年,2月20日,星期六【例6】求选修了全部课程的学生学号。π学号,课程号(选课)÷课程【例7】一个学号为“98002”的学生所学过的所有课程可能也被其他学生选修,求这些学生的学号和姓名。

π学号,姓名((π学号,课程号(选课)÷π课程号(σ学号=‘98002’(选课)))(学生))

第54页,共114页,2023年,2月20日,星期六思考:查询所有未开考的课程号。

“成绩”表“课程”表“学生”表П课程号(课程)-П课程号(成绩)关系代数表达式第55页,共114页,2023年,2月20日,星期六5.查询所有有不及格成绩的课程名。

“成绩”表“课程”表“学生”表П课程名(课程σ成绩<60(成绩))关系代数表达式第56页,共114页,2023年,2月20日,星期六第二章关系数据库2.5关系演算第57页,共114页,2023年,2月20日,星期六2.5关系演算关系演算以数理逻辑中的谓词演算为基础种类:按谓词变元不同分类1.元组关系演算:以元组变量作为谓词变元的基本对象元组关系演算语言ALPHA2.域关系演算:以域变量作为谓词变元的基本对象域关系演算语言QBE第58页,共114页,2023年,2月20日,星期六2.5.1元组关系演算语言ALPHA由E.F.Codd提出INGRES所用的QUEL语言是参照ALPHA语言研制的语句检索语句GET更新语句PUT,HOLD,UPDATE,DELETE,DROP第59页,共114页,2023年,2月20日,星期六一、检索操作

语句格式:

GET工作空间名(表达式):操作条件

表达式1:指定语句的操作对象格式:关系名|关系名.属性名操作条件:将操作结果限定在满足条件的元组。它是一个逻辑表达式第60页,共114页,2023年,2月20日,星期六(1)简单检索

GET工作空间名(表达式1)[例1]查询所有被选修的课程号码。GETW(SC.Cno)

[例2]查询所有学生的数据。GETW(Student)第61页,共114页,2023年,2月20日,星期六(2)限定的检索格式

GET工作空间名(表达式1):操作条件[例3]查询信息系(IS)中年龄小于20岁的学生的学号和年龄。GETW(Student.Sno,Student.Sage):Student.Sdept='IS'∧Student.Sage<20第62页,共114页,2023年,2月20日,星期六(3)带排序的检索格式

GET工作空间名(表达式1)[:操作条件]DOWN/UP表达式2

[例4]查询计算机科学系(CS)学生的学号、年龄,结果按年龄降序排序。GETW(Student.Sno,Student.Sage):Student.Sdept='CS‘DOWNStudent.Sage第63页,共114页,2023年,2月20日,星期六(4)带定额的检索

格式

:GET工作空间名(定额)(表达式1)[:操作条件][DOWN/UP表达式2][例5]取出一个信息系学生的学号。GETW(1)(Student.Sno): Student.Sdept='IS'

[例6]查询信息系年龄最大的三个学生的学号及其年龄,结果按年龄降序排序。

GETW(3)(Student.Sno,Student.Sage):Student.Sdept='IS'DOWNStudent.Sage第64页,共114页,2023年,2月20日,星期六(5)用元组变量的检索元组变量的含义表示可以在某一关系范围内变化(也称为范围变量RangeVariable)元组变量的用途①简化关系名:设一个较短名字的元组变量来代替较长的关系名。②操作条件中使用量词时必须用元组变量。定义元组变量格式:RANGE关系名

变量名一个关系可以设多个元组变量第65页,共114页,2023年,2月20日,星期六学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19IS(a)

Student第66页,共114页,2023年,2月20日,星期六(b)Course课程号课程名先行课学分CnoCnameCpnoCcredit1数据库542数学

23信息系统144操作系统635数据结构746数据处理

27PASCAL语言64学号课程号成绩SnoCnoGrade9500119295001285950013889500229095002380(c)SC第67页,共114页,2023年,2月20日,星期六(6)用存在量词的检索[例8]查询选修2号课程的学生名字。

RANGESCX

GETW(Student.Sname):X(X.Sno=Student.Sno∧X.Cno='2')[例9]查询选修了这样课程的学生学号,其直接先行课是6号课程。RANGECourseCXGETW(SC.Sno):

CX(CX.Cno=SC.Cno∧CX.Pcno='6')第68页,共114页,2023年,2月20日,星期六用存在量词的检索(续)[例10]查询至少选修一门其先行课为6号课程的学生名字

RANGECourseCXSCSCX GETW(Student.Sname):SCX(SCX.Sno=Student.Sno∧

CX(CX.Cno=SCX.Cno∧CX.Pcno='6'))

前束范式形式:

GETW(Student.Sname):

SCXCX(SCX.Sno=Student.Sno∧CX.Cno=SCX.Cno∧CX.Pcno='6')第69页,共114页,2023年,2月20日,星期六(7)带有多个关系的表达式的检索

[例11]查询成绩为90分以上的学生名字与课程名字。RANGESCSCXGETW(Student.Sname,Course.Cname):

SCX(SCX.Grade≥90∧SCX.Sno=Student.Sno∧Course.Cno=SCX.Cno)第70页,共114页,2023年,2月20日,星期六(8)用全称量词的检索

[例12]查询不选1号课程的学生名字。RANGESCSCXGETW(Student.Sname):SCX(SCX.Sno≠Student.Sno∨SCX.Cno≠'1')用存在量词表示:RANGESCSCXGETW(Student.Sname):SCX(SCX.Sno=Student.Sno∧SCX.Cno='1')第71页,共114页,2023年,2月20日,星期六(9)用两种量词的检索[例13]查询选修了全部课程的学生姓名。RANGECourseCXSCSCXGETW(Student.Sname):CXSCX (SCX.Sno=Student.Sno∧ SCX.Cno=CX.Cno)第72页,共114页,2023年,2月20日,星期六(10)用蕴函(Implication)的检索

[例14]查询最少选修了95002学生所选课程的学生学号。RANGECouseCXSCSCXSCSCYGETW(Student.Sno):CX(SCX(SCX.Sno='95002'∧SCX.Cno=CX.Cno) SCY(SCY.Sno=Student.Sno∧ SCY.Cno=CX.Cno))第73页,共114页,2023年,2月20日,星期六(11)集函数常用集函数(Aggregationfunction)或内部函数(Build-infunction)函数名功能COUNT对元组计数TOTAL求总和MAX求最大值MIN求最小值AVG求平均值第74页,共114页,2023年,2月20日,星期六集函数(续)[例15]查询学生所在系的数目。GETW(COUNT(Student.Sdept))COUNT函数在计数时会自动排除重复值。

[例16]查询信息系学生的平均年龄GETW(AVG(Student.Sage):Student.Sdept='IS’)

第75页,共114页,2023年,2月20日,星期六二、更新操作(1)修改操作(2)插入操作(3)删除操作第76页,共114页,2023年,2月20日,星期六(1)修改操作步骤①用HOLD语句将要修改的元组从数据库中读到工作空间中

HOLD

工作空间名(表达式1)[:操作条件]HOLD语句是带上并发控制的GET语句②用宿主语言修改工作空间中元组的属性③用UPDATE语句将修改后的元组送回数据库中

UPDATE

工作空间名第77页,共114页,2023年,2月20日,星期六修改操作(续)[例17]把95007学生从计算机科学系转到信息系。HOLDW(Student.Sno,Student.Sdetp):Student.Sno='95007'

(从Student关系中读出95007学生的数据)MOVE'IS'TOW.Sdept

(用宿主语言进行修改)

UPDATEW

(把修改后的元组送回Student关系)第78页,共114页,2023年,2月20日,星期六(2)插入操作步骤①用宿主语言在工作空间中建立新元组②用PUT语句把该元组存入指定关系中

PUT

工作空间名(关系名)

PUT语句只对一个关系操作第79页,共114页,2023年,2月20日,星期六插入操作(续)[例18]学校新开设了一门2学分的课程“计算机组织与结构”,其课程号为8,直接先行课为6号课程。插入该课程元组

MOVE'8'TOW.CnoMOVE'计算机组织与结构'TOW.CnameMOVE'6'TOW.CpnoMOVE'2'TOW.Ccredit

PUTW(Course)第80页,共114页,2023年,2月20日,星期六(3)删除操作①用HOLD语句把要删除的元组从数据库中读到工作空间中②用DELETE语句删除该元组

DELETE

工作空间名第81页,共114页,2023年,2月20日,星期六删除操作(续)[例19]95110学生因故退学,删除该学生元组。HOLDW(Student):Student.Sno='95110'DELETEW

第82页,共114页,2023年,2月20日,星期六删除操作(续)[例20]将学号95001改为95102。HOLDW(Student):Student.Sno='95001'

DELETEWMOVE'95102'TOW.SnoMOVE'李勇'TOW.SnameMOVE'男'OW.SsexMOVE'20'TOW.SageMOVE'CS'TOW.Sdept

PUTW(Student)

第83页,共114页,2023年,2月20日,星期六删除操作(续)[例21]删除全部学生。HOLDW(SC)DELETEW

HOLDW(Student)DELETEW在删除操作中保持参照完整性第84页,共114页,2023年,2月20日,星期六小结:元组关系演算语言ALPHA检索操作GETGET

工作空间名[(定额)](表达式1)[:操作条件][DOWN/UP表达式2]插入操作建立新元组--PUT修改操作HOLD--修改--UPDATE删除操作HOLD--DELETE第85页,共114页,2023年,2月20日,星期六2.5关系演算2.5.1元组关系演算语言ALPHA2.5.2域关系演算语言QBE第86页,共114页,2023年,2月20日,星期六2.5.2域关系演算语言QBE

l

一种典型的域关系演算语言 由M.M.Zloof提出 1978年在IBM370上得以实现 QBE也指此关系数据库管理系统lQBE:QueryByExample

基于屏幕表格的查询语言查询要求:以填写表格的方式构造查询用示例元素(域变量)来表示查询结果可能的情况查询结果:以表格形式显示第87页,共114页,2023年,2月20日,星期六QBE操作框架

关系名属性名操作命令元组属性值或查询条件或操作命令第88页,共114页,2023年,2月20日,星期六一、检索操作(1)用户提出要求;(2)屏幕显示空白表格;

(3)用户在最左边一栏输入要查询的关系名,例如Student;Student第89页,共114页,2023年,2月20日,星期六检索操作(续)(4)系统显示该关系的属性名

(5)用户在上面构造查询要求

StudentSnoSnameSsexSageSdept

P.T

AO.C

StudentSnoSnameSsexSageSdept

第90页,共114页,2023年,2月20日,星期六检索操作(续)(6)屏幕显示查询结果StudentSnoSnameSsexSageSdept

李勇张立

C

第91页,共114页,2023年,2月20日,星期六构造查询的几个要素示例元素即域变量一定要加下划线示例元素是这个域中可能的一个值,它不必是查询结果中的元素打印操作符P.指定查询结果所含属性列查询条件不用加下划线可使用比较运算符>,≥,<,≤,=和≠其中=可以省略排序要求第92页,共114页,2023年,2月20日,星期六1.简单查询[例1]查询全体学生的全部数据。StudentSnoSnameSsexSageSdept

P.95001P.李勇P.男P.20P.CS第93页,共114页,2023年,2月20日,星期六简单查询(续)显示全部数据也可以简单地把P.操作符作用在关系名上。StudentSnoSnameSsexSageSdept

P.

第94页,共114页,2023年,2月20日,星期六2.条件查询(1)简单条件

[例2]求信息系全体学生的姓名。StudentSnoSnameSsexSageSdept

P.李勇

IS第95页,共114页,2023年,2月20日,星期六条件查询(续)

[例3]求年龄大于19岁的学生的学号。StudentSnoSnameSsexSageSdept

P.95001

>19第96页,共114页,2023年,2月20日,星期六条件查询(与条件)[例4]求计算机科学系年龄大于19岁的学生的学号。方法(1):把两个条件写在同一行上StudentSnoSnameSsexSageSdept

P.95001

>19CS第97页,共114页,2023年,2月20日,星期六条件查询(续)方法(2):把两个条件写在不同行上,但使用相同的示例元素值StudentSnoSnameSsexSageSdept

P.95001P.95001

>19CS第98页,共114页,2023年,2月20日,星期六条件查询(续)[例5]查询既选修了1号课程又选修了2号课程的学生的学号。SCSnoCnoGrade

P.95001P.9500112

第99页,共114页,2023年,2月20日,星期六条件查询(续)[例6]查询计算机科学系或者年龄大于19岁的学生的学号。StudentSnoSname

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论