《数据库原理及应用》第2章 部分习题解答_第1页
《数据库原理及应用》第2章 部分习题解答_第2页
《数据库原理及应用》第2章 部分习题解答_第3页
《数据库原理及应用》第2章 部分习题解答_第4页
《数据库原理及应用》第2章 部分习题解答_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

★关系演算补充内容

*把谓词演算应用于到关系运算中就是关系演算,它分为元组关系

演算与域关系演算。

*谓词演算

1)个体是可以独立存在的物体

2)谓词是用于刻划个体性质或关系

3)一个谓词可以与一个个体相联,此种谓词称为一元谓词,

一元谓词刻划一个个体的性质。

4)a,b,...表示个体,一个一元谓词可表示为F(a)

一个谓词中个体是可以变化的,如”...是大学生”,可以是“王

强是大学生“,也可以变为“李华是大学生”,令F(x)表示x是大学

生,又令“王强”为a,“李华”为b,则“王强是大学生,李华也是

大学生”可写为F(a)AF(b)

*现谓词演算用于关系,元组为个体,关系为个体域,则R(u)即表

示u是关系R中的元组

*元组关系演算表达式{t|(p(t)},表示所有使cp为真的元组集合,

即描述了一个关系。

P69

10、设有学生-课程关系数据库,它由三个关系组成,它们的模式是:学生S(学号S#,

姓名SN,所在系SD,年龄SA)、课程C(课程号C#,课程名CN,先修课号PC#)、SC

(学号S#,课程号C#,成绩G)。

请用关系代数与ALPHA语言分别写出下列查询:

(1)检索学生的所有情况。

SSMSCMc

(2)检索学生年龄大于等于20岁的学生姓名。

TTSN(OSA>=20(S))

(3)检索先修课号为C2的课程号。

TTC#(OPC#=,C2,(C))

(4)检索课程号Cl的成绩为A的所有学生姓名。

TTSN(oC#='C1'/\G='A'(SCMC))

(5)检索S1修读的所有课程名及先修课号。

TTCN,PC#(aS#=S「(SCMs))

(6)检索年龄为23岁的学生所修读的课程名。

nCN(aSA=23(SMSCMC))

(7)检索至少修读了S5修读的一门课的学生的姓名。

TTSN(SMSCMTTC#(aS#=,S5,(SC)))

(8)检索修读了S4所修读的所有课程的学生的姓名。

TTSN(SM(TTS#,C#(SC)4-TTC#(aS#=,S4,(SC))))

(9)检索选修所有课程的学生的学号。

nS#,C#(SC)4-nC#(C)

(10)检索不选修任何课程的学生的学号。

TTS#⑸-TTS#(SC)

设有学生-课程关系数据库,它由三个关系组成,它们的模式是:学生S(学号S#,姓名

SN,所在系SD,年龄SA)、课程C(课程号C#,课程名CN,先修课号PC#)、SC(学号

S#,课程号C#,成绩G)。

请用关系代数与ALPHA语言分别写出下列查询:

(1)检索学生的所有情况。SsMscMr

GETW(S)

GETW(S,SC,C):S.S#=SC.S#ASC.C#=C.C#

(2)检索学生年龄大于等于20岁的学生姓名。TTSN(aSA>=20(S))

GETW(S.SN):(S.SA>=20)

(3)检索先修课号为C2的课程号。nC#(oPC#=,C2,(C))

GETW(C.C#):(C.PC#=,C2,)

(4)检索课程号Cl的成绩为A的所有学生姓名。ITSN(aC#-,CrAG-'A'(SCWc))

RANGESCSCX

GETW(S.SN):3SCX(SCX.S#=S.S#ASCX.C#=,C1,A

SCX.G=,A,)

(5)检索SI修读的所有课程名及先修课号。ITCN.PC#(aS#='Sr(SClxlS))

RANGESCSCX

GETW(C.CN,C.PC#):3SCX(SCX.C#=C.C#ASCX.S#=,S1,)

(6)检索年龄为23岁的学生所修读的课程名。TTCN(aSA=23(SMseMe))

RANGESSX

SCSCX

GETW(C.CN):3SX3SCX(SX.S#=SCX.S#ASCX.C#=C.C#A

SX.SA=23)

(7)检索至少修读为S5修读的一门课的学生的姓名。

TTSN(SMSCMTTC#(aS#=,S5,(SC)))

RANGESCSCX

SCSCY

GETW(S.SN):3SCX3SCY(SCX.S#='S5'ASCY.S#=S.S#A

SCY.C#=SCX.C#)

RANGECCX

SCSCX

SCSCY

GETW(S.S#):3CX(3SCX(SCX.S#='S5'ACX.C#=SCX.C#)->3SCY

(SCY.S#=S.S#ACX.C#=SCY.C#))

(8)检索修读S4所修读的所有课程的学生的姓名。

TTSN(SX(TTS#,C#(SC)+TTC#(aS#=,S4'(SC))))

RANGECCX

SCSCX

SCSCY

GETW(S.S#):vCXGSCX(SCX.S#='S4'ACX.C#=SCX.C#)->3SCY

(SCY.S#=S.S#ACX.C#=SCY.C#))

也可以变换<A—>B=-।AVBVX(A)=―।3X(—।A))

真值表ABA—>B=AVB

TTTT

TFFF

FTTT

FFTT

RANGECCX

SCsex

SCSCY

GETW(S.S#):VCX(3SCX(SCX.S#=,S4,ACX.C#=SCX.C#)->3SCY

(SCY.S#=S.S#ACX.C#=SCY.C#))

GETW(S.S#):vCX(-i(aSCX(SCX.S#='S4'ACX.C#=SCX.C#))V

(aSCY(SCY.S#=S.S#ACX.C#=SCY.C#)))

GETW(S.S#):-13CX(->(-i(3SCX(SCX.S#=,S4,A

CX.C#=SCX.C#))V(3SCY(SCY.S#=S.S#ACX.C#=SCY.C#))))

GETW(S.S#):TCX((GSCX(SCX.S#='S4'ACX.C#=SCX.C#))A

-1(3SCY(SCY.S#=S.S#ACX.C#=SCY.C#))))

⑼检索选修所有课程的学生的学号。nS#,C#(SC)4-TTC#(C)

RANGECCX

SCSCX

GETW(S.S#):VCX3SCX(SCX.C#=CX.C#AS.S#=SCX.S#)

全称改存在为:

RANGECCX

SCSCX

GETW(S.S#):--aCX(--3SCX(SCX.C#=CX.C#AS.S#=SCX.S#))

(10)检索不选修任何课程的学生的学号。TTS#(S)-TTS#(SC)

RANGESCSCX

GETW(S.S#):wSCX(「(SCX.S#=S#))

即:

RANGESCSCX

GETW(S.S#):VSCX(SCX.S#WS#)

全称改存在为:

GETW(S.S#):TSCX(->(-«(SCX.S#=S#)))

即:

GETW(S.S#):TSCX(SCX.S#=S#))

(你们的做法)

RANGESCSCX

CCX

GETW(S.S#):vCX-.(3SCX(SCX.S#=S#ACX.C#=SCX.C#))

即:

RANGESCSCX

GETW(S.S#):VCX3SCX(SCX.S#WS#VSCX.C#WCX.C#)

全称改存在为:

RANGESCSCX

cex

GETW(S.S#):vCX-1GSCX(SCX.S#=S#ACX.C#=SCX.C#))

GETW(S.S#):-.3CX-i(->(3SCX(SCX.S#=S#ACX.C#=SCX.C#)))

GETW(S.S#):--3CX(3SCX(SCX.S#=S#ACX.C#=SCX.C#)

SQL命令见后

(11)在关系C中增添一门新课

MOVE'C9'TOW.C#

MOVE'计算机系统结构'TOW.CN

MOVE'C4'TOW.PC#

PUTW(C)

(12)学号为S17的学生因故退学请在S与SC中将其除名。

HoldW(SC):S#=,S17,

DELETEW

HoldW(S):S#=,S17,

DELETEW

(13)将关系S中学生S6的年龄改为22岁(只需ALPHA操作)。

HoldW(S#,SA):S#='S6'

MOVE22TOW.SA

UPDATEW

(14)将关系S中学生的年龄均增加1岁(只需ALPHA操作)。

HoldW(S#,SA)

MOVEW.SA+1TOW.SA

UPDATEW

RANGECouseCX

SCSCX

SCSCY

GETW(Student.SNO):vCX(3SCX(SCX.SNO='200402'A

SCX.CN0=CX.CNO)

fSCY(SCY.SN0=Student.SNOASCY.CNO=CX.CNO))

9、设有学生-课程关系数据库,它由三个关系组成,它们的模式是:学生S(学号S#,

姓名SN,所在系SD,年龄SA)、课程C(课程号C#,课程名CN,先修课号PC#)、SC

(学号S#,课程号C#,成绩G)。

请用关系代数与ALPHA语言分别写出下列查询:

(1)检索学生的所有情况。

SS*SCMC

GETW(S)

GETW⑸SC,C):S.S#=SC.S#ASC.C#=C.C#

SELECT*

FROMS

(2)检索学生年龄大于等于20岁的学生姓名。

ITSN(OSA>=20(S))

GETW(S.SN):(S.SA>=20)

SELECTSN

FROMS

WHERES.SA>=20

(3)检索先修课号为C2的课程号。

ITc#(oPC#=,C2'(C))

GETW(C.C#):(C.PC#=,C2,)

SELECTC#

FROMC

WHEREC.PC#='C2'

(4)检索课程号C1的成绩为A的所有学生姓名。

TTSN(oC#=,C1,八G=A(SCMC))

RANGESCSCX

GETW(S.SN):3SCX(SCX.S#=S.S#ASCX.C#='C1'A

SCX.G=,A,)

(5)检索S1修读的所有课程名及先修课号。

TTCN,PC#(oS#='S1'(SCNS))

RANGESCSCX

GETW(C.CN,C.PC#):3SCX(SCX.C#=C.C#ASCX.S#='S1')

(6)检索年龄为23岁的学生所修读的课程名。

ITCN(oSA=23(SlxlSC^C))

RANGESSX

SCSCX

GETW(C.CN):3SX3SCX(SX.S#=SCX.S#ASCX.C#=C.C#A

SX.SA=23)

(7)检索至少修读了S5修读的一门课的学生的姓名。

TTSN(SMSC^TTC#(aS#=,S5,(SC)))

RANGESCSCX

SCSCY

GETW(S.SN):3SCX3SCY(SCX.S#='S5'ASCY.S#=S.S#A

SCY.C#=SCX.C#)

RANGECCX

SCsex

SCSCY

GETW(S.S#):3CX(3SCX(SCX.S#='S5'ACX.C#=SCX.C#)->3SCY

(SCY.S#=S.S#ACX.C#=SCY.C#))

(8)检索修读了S4所修读的所有课程的学生的姓名。

TTSN(SM(TTS#,c#(SC)4-TTC#(OS#='S4'(SC))))

RANGECCX

SCSCX

SCSCY

GETW(S.S#):VCX(3SCX(SCX.S#=,S4,ACX.C#=SCX.C#)->aSCY

(SCY.S#=S.S#ACX.C#=SCY.C#))

也可以变换

RANGECCX

SCSCX

SCSCY

GETW(S.S#):VCX(3SCX(SCX.S#='S4'ACX.C#=SCX.C#)->3SCY

(SCY.S#=S.S#ACX.C#=SCY.C#))

GETW(S.S#):VCX(-1(3SCX(SCX.S#='S4'ACX.C#=SCX.C#))V

(3SCY(SCY.SY=S.S#ACX.C#=SCY.C#)))

GETW(S.S#):-13CX(->(-1(3SCX(SCX.S#='S4'A

CX.C#=SCX.C#))V(3SCY(SCY.S#=S.S#ACX.C#=SCY.C#))))

GETW(S.S#):-.3CX(((3SCX(SCX.S#=,S4,ACX.C#=SCX.C#))A

(aSCY(SCY.S#=S.S#ACX.C#=SCY.C#))))

(9)检索选修所有课程的学生的学号。

nS#,C#(SC)+TTC#(C)

RANGECCX

SCSCX

GETW(S.S#)

温馨提示

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

评论

0/150

提交评论