数据库第二章.关系代数习题

合集下载

数据库系统原理第二章习题

数据库系统原理第二章习题

第2章关系数据库一、选择题1、关于关系模型,下列叙述不正确的是()。

A. 一个关系至少要有一个候选码B。

列的次序可以任意交换C。

行的次序可以任意交换 D. 一个列的值可以来自不同的域2、下列说法正确的是()。

A。

候选码都可以唯一地标识一个元组B。

候选码中只能包含一个属性C. 主属性可以取空值D. 关系的外码不可以取空值3、关系操作中,操作的对象和结果都是()。

A. 记录B。

集合 C. 元组D。

列4、假设存在一张职工表,包含“性别”属性,要求这个属性的值只能取“男”或“女”,这属于().A。

实体完整性B。

参照完整性 C. 用户定义的完整性D。

关系不变性5、有两个关系R(A,B, C)和S(B, C, D),将R和S进行自然连接,得到的结果包含几个列()A. 6 B。

4 C。

5 D. 2二、判断题1、关系模型的一个特点是,实体以及实体之间的联系都可以使用相同的结构类型来表示。

()2、关系模型中,非主属性不可能出现在任何候选码中。

()3、关系模式是对关系的描述,关系是关系模式在某一时刻的状态或内容。

()三、填空题1、在关系模型中,关系操作包括查询、____________、____________和_____________等。

2、关系模型的三类完整性约束是指______________、_______________和_____________。

3、关系模型包括8种查询操作,其中__________、_________、并、________和笛卡儿积是5种基本操作,其他操作可以用基本操作定义和导出。

4、职工(职工号,姓名,年龄,部门号)和部门(部门号,部门名称)存在引用关系,其中________________是参照关系,____________是外码。

四、综合题假设有一个数据库包含以下关系模式:Teacher(Tno, Tname, Tage,Tsex)Department(Dno, Dname,Tno)Work(Tno,Dno,Year, Salary)教师表Teacher由教师代码Tno、教师名字Tname、教师年龄Tage、教师性别Tsex组成. 系表Department由系代码Dno、系名Dname、系主任代码Tno组成工作表Work由教师代码Tno、系代码Dno、入职年份Year、工资Salary组成使用关系代数表示每个查询(1)列出工资超过5000的教师的不同年龄;(2)查找不在计算机系工作的教师代码;(3)系主任T1管辖范围内的所有教师姓名。

第2章关系数据库习题参考答案

第2章关系数据库习题参考答案

第2章关系数据库习题参考答案1、试述关系模型的三个组成部分。

(46页)答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。

2、试述关系数据语言的特点和分类。

(47页)答:关系数据语言可以分为三类:A、关系代数语言。

B、关系演算语言:元组关系演算语言和域关系演算语言。

C、SQL:具有关系代数和关系演算双重特点的语言。

这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。

2、定义并理解下列术语,说明它们联系与区别:(P46---50页)(1)域,笛卡尔积,关系,元组,属性(2)主码,候选码,外部码(3)关系模式,关系,关系数据库3、试述关系模型的完整性规则(53页),在参照完整性中,为什么外部码属性也可以为空?什么情况下才可以为空?(55页)答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。

(P55页)若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:●或者取空值(F的每个属性值均为空值);●或者等于S中某个元组的主码值。

即属性F本身不是主属性,则可以取空值,否则不能取空值。

5.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:1)求供应工程J1零件的供应商号码SNO:πSno(σSno=‘J1’(SPJ))2)求供应工程J1零件P1的供应商号码SNO:πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))3)求供应工程J1零件为红色的供应商号码SNO:πSno(σPno=‘P1‘(σCOLOR=’红‘(P)∞SPJ))4)求没有使用天津供应商生产的红色零件的工程号JNO:πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘(S∞SPJ∞P)5)求至少用了供应商S1所供应的全部零件的工程号JNO:πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ))(见P62页例6)6.试述等值连接与自然连接的区别和联系。

数据库第2章关系数据库练习题

数据库第2章关系数据库练习题
π学号,姓名( (π学号,课程号(选课)÷π课程号(σ学号= ‘98002’(选课)) ) ⋈ 学生 )
习题


学生关系S (Sno, Sname, Ssex, Sage, Class)
课程关系C (Cno, Cname, DeptName) 学生选课关系R (Sno, Cno, Grade) R)
1.检索所有学生学号、姓名、课程号、成绩 sno,sname,cno,Grade ( S sno,sname ( Cno=‘C02’( S
2.检索学习课程号为C02的学生学号与姓名
R))
sno,sname ( S
sno,sname (S)
Cno=‘C02’ (R)) 优化
sno (Cno=‘C02’ (R)) 再优化
B 2 2 5 D 3 6
C 3 3 6 E 1 2
D 3 6 6
E 1 2 2
R
C=D
S
课堂练习
R
A a b B l n B f
S
C g D h
l
n
x
p
y
x

R×S R R S
R. B S. B


S
R×S
A
a a a b b b
R.B
l l l n n n
S.B
f l n f l n
C
g x p g x p

难题
Sno(2 5 ∧1=4 ( R R) ) 优化: Sno(2 5 ( R
R.sno= R.sno
R) name, Ssex, Sage, Class) 课程关系C(Cno, Cname, DeptName) 学生选课关系R(Sno, Cno, Grade)

数据库原理 第二章 关系数据库期末习题与答案

数据库原理 第二章 关系数据库期末习题与答案

1、一个关系只能有一个()。

A.超码B.外码C.候选码D.主码正确答案:D2、在教务管理数据库中,关系数据库模式为S(SNO,SN,Sex,Age,Dept),SC(SNO,CNO,SCORE),S为学生关系,SC为选课关系,则分数大于等于60分的学生学号的关系代数为()A.B.C.D.正确答案:C3、有两个关系R和S,分别含有15个和10各元组,则在RUS,R-S,RnS中不可能出现的元组情况是()A.15,5,10B.18,7,7C.21,11,4D.25,15,0正确答案:B4、关系运算中花费时间可能最长的是()A.选取B.投影D.差正确答案:C二、填空题1、传统集合运算执行交、并、差运算的时候,参与运算的关系必须是()的关系。

正确答案:相容2、当对两个关系R和S进行自然连接运算时,要求R和S含有一个或多个共有的()。

正确答案:域或属性3、实体的完整性是对()的约束。

正确答案:主码或主键4、参照完整性规则是对()的约束。

正确答案:外键或外码5、根据关系规范化的要求,关系模式的任何属性()。

正确答案:不可再分或唯一三、判断题1、关系代数的运算对象和运算结果都是关系。

(对)2、关系R中有n条元组,关系S中有m条元组,则关系R和关系S的广义笛卡尔乘积上有n+m条元组。

(错)3、从关系规范化的角度,籍贯可以作为关系模式的属性。

(错)4、关系表中的元组是可以交换顺序的。

(对)5、“并”操作在实际应用中可用于删除关系中的元组。

(错)。

数据库关系代数运算例题

数据库关系代数运算例题

数据库关系代数运算例题(原创版)目录1.数据库关系代数概念2.关系代数运算分类3.关系代数运算例题a.并运算b.交运算c.差运算d.笛卡尔积e.投影运算f.选择运算g.连接运算h.自然连接正文一、数据库关系代数概念数据库关系代数是一种操作数据库中关系的数学方法,它可以在关系数据库中进行数据查询和数据处理。

关系代数基于数学集合代数概念,将数据库中的表看作是关系,通过对关系的操作实现对数据的操作。

二、关系代数运算分类关系代数运算主要分为以下几类:1.并运算:对两个关系进行并操作,返回一个新关系,包含属于任意一个关系的元组。

2.交运算:对两个关系进行交操作,返回一个新关系,包含既属于第一个关系又属于第二个关系的元组。

3.差运算:对两个关系进行差操作,返回一个新关系,包含属于第一个关系但不属于第二个关系的元组。

4.笛卡尔积:对两个关系进行笛卡尔积操作,返回一个新关系,包含所有可能的元组组合。

5.投影运算:对一个关系进行投影操作,返回一个新关系,包含原关系中的部分属性列。

6.选择运算:对一个关系进行选择操作,返回一个新关系,包含满足给定条件的元组。

7.连接运算:对两个关系进行连接操作,返回一个新关系,包含满足连接条件的元组。

8.自然连接:对两个关系进行自然连接操作,返回一个新关系,包含满足自然连接条件的元组。

三、关系代数运算例题1.并运算例题:设有学生表(学号,姓名,性别)和课程表(课程号,课程名),求所有学生的信息。

解答:使用并运算,将学生表和课程表进行并操作,得到一个新关系,包含所有学生的信息以及课程信息。

2.交运算例题:设有学生表(学号,姓名,性别)和成绩表(学号,成绩),求学生的姓名和成绩。

解答:使用交运算,将学生表和成绩表进行交操作,得到一个新关系,包含学生的姓名和成绩。

设有学生表(学号,姓名,性别)和课程表(课程号,课程名),求学生的信息,但不包括选修“数据库原理”课程的学生。

解答:使用差运算,将学生表和课程表进行差操作,得到一个新关系,包含不属于选修“数据库原理”课程的学生的信息。

数据库第二章关系代数的习题集.doc

数据库第二章关系代数的习题集.doc

1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句:S C SCS# SNAME AGE SEX1 李强23 男2 刘丽22 女5 张友22 男C# CNAME TEACHERk1 C语言王华k5 数据库原理程军k8 编译原理程军S# C# GRADE1 k1 832 k1 855 k1 922 k5 905 k5 845 k8 80(1) 检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。

(2) 检索年龄大于21的男学生学号(S#)和姓名(SNAME)。

(3) 检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。

(4) 检索”李强”同学不学课程的课程号(C#)。

(5) 检索至少选修两门课程的课程号(S#)。

(6) 检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。

(7) 检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。

(8) 检索选修课程号为k1和k5的学生学号(S#)。

(9) 检索选修全部课程的学生姓名(SNAME)。

(10) 检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。

(11) 检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。

(12)检索没有一门课程成绩不及格的学生学号,姓名。

答:本题各个查询语句对应的关系代数表达式表示如下:(1) ΠC#,CNAME(σTEACHER ='程军'(C))(2) ΠS#,SNAME(σAGE>21^SEX ='男'(S))(3) ΠSNAME(S(ΠS#,C#(SC)÷ΠC#(σTEACHER ='程军'(C))))(4) ΠC#(C)-ΠC#(σSNAME ='李强'(S)∞SC)(5) ΠS# (σ1=4^2≠5 (S C×SC))(6) ΠC#,CNAME(C∞(ΠS#,C#(SC)÷ΠS#(S)))(7) ΠS# (SC∞ΠC# (σTEACHER ='程军'(C)))(8) ΠS#,C#(SC)÷ΠC#(σC#=’K1’VC#=’K5’ (C))(9) ΠSNAME(S∞(ΠS#,C#(SC)÷ΠC#(C)))(10) ΠS#,C#(SC)÷ΠC#(σC#=’2’ (S C))(11) ΠS#,SNAME(S∞ΠS#(SC∞(σCNAME ='C语言'(C))))(12)П学号,姓名(学生)-П学号,姓名(σ分数<60(学生∞学习))。

第二章关系数据库习题

第二章关系数据库习题

第二章关系数据库习题第二章关系数据库习题一、选择题1.关系数据库管理系统应能实现的专门关系运算包括( )。

A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表2.关系模式中,一个关键字是( )。

A.可由多个任意属性组成B.至少由一个属性组成C.可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成D.以上都不是3.同一个关系模型的任两组值( )。

A.不能全同B.可全同C.必须全同D.以上都不是4.设有属性A,B,C,D,以下表示中不是关系的是( )。

A .R(A)B.R(A,B,C,D)C.R(A×B×C×D) D.R(A,B)5.关系模式的任何属性( )。

A.不可再分B.可再分C.命名在该关系模式中不唯一D.以上都不是6. 一个数据库文件中的各条记录( )。

A.前后顺序不能任意颠倒,一定要按照输入的顺序排列B.前后顺序可以任意颠倒,不影响库中的数据关系C.前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同D.前后顺序不能任意颠倒,一定要按照关键字段值的顺序排列7.在关系代数的传统集合运算中,假定有关系R和S,运算结果为W。

如果W中的元组属于R,或者属于S,则W为①运算的结果。

如果W中的元组属于R 而不属于S,则W为②运算的结果是。

如果W中的元组既属于R又属于S,则W为③的运算结果.A.笛卡尔积B.并C.差D.交8.在关系代数的专门关系运算中,从表中取出若干属性的操作称为①;从表中选出满足某种条件的元组的操作称为②;将两个关系中具有共同属性的值的元组连接到一起构成新表的操作称为③.A.选择B. 投影 C .连接 D.扫描9.自然连接是构成关系的有效方法。

一般情况下,当对关系R和S 使用自然连接时,要求R 和S含有一个或多个共有的( )。

A.元组B.行C.记录D.属性10.在关系R(R#,RN,S#)和S(S#,SN,SD)中,R的主码是R#,S的主码是S#,则S#在R中称为( )。

数据库系统原理与设计(第2版) 万常选版 第2章 关系模型与关系代数 课后答案

数据库系统原理与设计(第2版) 万常选版 第2章 关系模型与关系代数  课后答案

3.简述如下概念,并说明它们之间的联系与区别:。

(1)域,笛卡尔积,关系,元组,属性答:域:域是一组具有相同数据类型的值的集合。

笛卡尔积:给定一组域D1,D2,…,Dn,这些域中可以有相同的。

这组域的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|di?Di,i=1,2,…,n }其中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)。

元素中的每一个值di叫作一个分量(Component)。

关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为R(D1,D2,…,Dn)元组:关系中的每个元素是关系中的元组。

属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。

由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。

(2)超码,主码,候选码,外码答:超码:对于关系r的一个或多个属性的集合A,如果属性集A可以唯一地标识关系r中的一个元组,则称属性集A为关系r的一个超码 (superkey) 。

候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidate key)。

主码:若一个关系有多个候选码,则选定其中一个为主码(Primary key)。

外码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S 的主码Ks相对应,则称F是基本关系R的外码(Foreign key),简称外码。

基本关系R称为参照关系(Referencing relation),基本关系S称为被参照关系(Referenced relation)或目标关系(Target relation)。

关系R和S可以是相同的关系。

(3)关系模式,关系,关系数据库答:关系模式:关系的描述称为关系模式(Relation Schema)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句:
SCSC
S#
SNAME
AGE
SEX
1
李强
23

2
刘丽
22

5
张友
22

C#
CNAME
TEACHER
k1
C语言
王华
k5
数据库原理
程军
k8
编译原理
程军
S#
C#
GRADE
1
k1
83
2
k1
85
5
k1
92
2
k5
90
5
k5
84
5
k8
80
(1)检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。
П学号,姓名,专业(学生)-П学号,姓名,专业(σ课程号='C135'(学生∞学习))。
4.检索没有任何一门课程成绩不及格的所有学生的信息,包括学号、姓名和专业。
П学号,姓名,专业(学生)-П学号,姓名,专业(σ分数<60(学生∞学习))。
3.现有关系数据库如下:
学生(学号,姓名,性别,专业、奖学金)。
(2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。
(3)检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。
(4)检索”李强”同学不学课程的课程号(C#)。
(5)检索至少选修两门课程的课程号(S#)。
(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
(7)检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。
(6)ΠC#,CNAME(C∞(ΠS#,C#(SC)÷ΠS#(S)))
(7)ΠS#(SC∞ΠC#(σTEACHER='程军'(C)))
(8)ΠS#,C#(SC)÷ΠC#(σC#=’K1’VC#=’K5’(C))
(9)ΠSNAME(S∞(ΠS#,C#(SC)÷ΠC#(C)))
(10)ΠS#,C#(SC)÷ΠC#(σC#=’2’(SC))
(8)检索选修课程号为k1和k5的学生学号(S#)。
(9)检索选修全部课程的学生姓名(SNAME)。
(10)检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。
(11)检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。
(12)检索没有一门课程成绩不及格的学生学号,姓名。
答:本题各个查询语句对应的关系代数表达式表示如下:
Π课程号,名称,学分(σ分数=100(学习∞课程))。
3.检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业。
Π学号,姓名,专业(σ奖学金<=0∧分数>95(学生∞学习))。
4.检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业。
Π学号,姓名,专业(学生)-Π学号,姓名,专业(σ分数<80(学生∞学习))。
(1)ΠC#,CNAME(σTEACHER='程军'(C))
(2)ΠS#,SNAME(σAGE>21^SEX ='男'(S))
(3)ΠSNAME(S (ΠS#,C#(SC)÷ΠC#(σTEACHER='程军'(C))))
(4)ΠC#(C)-ΠC#(σSNAME ='李强'(S)∞SC)
(5)ΠS#(σ1=4^2≠5(SC×SC))
课程(课程号,名称,学分)。
学习(学号,课程号,分数)。
用关系代数表达式实现下列1—4小题:
1.检索“国际贸易”专业中获得奖学金的学生信息,包括学号、姓名、课程名和分数。
Π学号,姓名,课程名,分数(σ奖学金>0∧专业=国际贸易(学生∞学习∞课程))。
2.检索学生成绩得过满分(100分)的课程的课程号、名称和学分。
5.给出由S1提供产品的工程名.
6.给出使用了由供应红色产品的厂商供应的产品的工程名.
7.求使用了全部零件的工程名.
8.供应P1,P2两种产品的厂家名.
9.显示与”TV”颜色相同的产品名.
10.给出使用了S1所提供的全部零件的工程名.
6.设教学数据库中有三个关系:
S(SNO,SNAME,AGE,SEX,SDEPT)
(1)检索“刘祥”同学不学课程的课程号。
(2)检索有一门课程成绩在90分以上的男同学的姓名。
(3)列出没有选修“人工智能”的学生名单。
(4)找出选修了袁老师教的所有课程的学生名单。
(5)查找每门课程成绩在70分以上并且平均成绩在75分以上的学生名单。
5.数据模型如下:
厂家S(SNO,SNAME,STATUS,CITY)
SC(SNO,CNO,GRADE)
C(CNO,CNAME,TNAME)
试用关系代数表达式表示下列查询语句:
1查询LIU老师所授课程的课程号,课程名
2查询年龄大于23岁的男生的学号与姓名
3查询学号为S3学生所学课程的课程名与任课教师名
4查询选修LIU老师所授课程中一门课的女学生姓名
(11)ΠS#,SNAME(S∞ΠS#(SC∞(σCNAME ='C语言'(C))))
(12)П学号,姓名(学生)-П学号,姓名(σ分数<60(学生∞学习))。
2.现有关系数据库如下:
学生(学号,姓名,性别,专业,奖学金)。
课程(课程号,名称,学分)。
学习(学号,课程号,分数)。
用关系代数表达式实现下列1-4小题:
4.设有关系S、SC和C,试用关系代数表达式完成下列操作。
S(snum,sname,age,sex),例:(1,“李强”,23,‘男’)是一条数据记录。SC(snum,cnum,score),例:(1,“C1”,83)是一条数据记录。C(cnum,cname,teacher)例:(“C1”,“数据库原理”,“王华”)是一条数据记录。
1.检索"英语"专业学生所学课程的信息,包括学号、姓名、课程名和分数。
П学号,姓名,课程名,分数(σ专业='英语'(学生∞学习∞课程))。
2.检索"数据库原理"课程成绩高于90分的所有学生的学号、姓名、专业和分数。
П学号,姓名,专业,分数(σ分数>90∧名称='数据库原理'(学生∞学习∞课程))。
3.检索不学课程号为"C135"课程的学生信息,包括学号,姓名和专业。
产品P(PNO,PNAME,WEIGHT,COLOR)
工程J(JNO,JNAME,CITY)
供货SPJ(SNO,PNO,JNO,QTY)
用关系代数写出下述操作.
1.给出为工程J1供货的厂商号.
2.给出供货量在300~500之间的所有供货情况.
3.给出由LODON的厂商供给LODON的工程的产品号.
4.给出满足如下条件的所有产品号:提供该零件的厂商和使用该零件的工程在同一城市.
相关文档
最新文档