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

第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章关系数据库习题参考答案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章关系模型与关系代数课后答案

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)。
数据库第2章关系数据库练习题

习题
学生关系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)
第2章关系代数补充作业及答案(选做)

关系代数补充习题(摘自数据库系统导论)单项选择:1. 若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为________。
(1)主码(2)候选码(3)主属性(4)外码2.________由数据结构、关系操作集合和完整性约束三部分组成。
(1)关系模型(2)关系(3)关系模式(4)关系数据库3.SQL 语言属于________。
(1)关系代数语言(2)元组关系演算语言(3)域关系演算语言(4)具有关系代数和关系演算双重特点的语言4.关系演算是用________来表达查询要求的方式。
(1)谓词(2) 关系的运算(3)元组(4)域5.实体完整性要求主属性不能取空值,这一点可以通过________来保证。
(1)定义外码(2)定义主码(3)用户定义的完整性(4)由关系系统自动6.一组具有相同数据类型的值的集合称为________。
(1)关系(2)属性(3)分量(4)域7.在一个关系中,不能有相同的________。
(1)记录(2)属性(3)分量(4)域8.关系是________。
(1)型(2)静态的(3)稳定的(4)关系模型的一个实例9.所谓空值就是________的值。
(1)数值0 (2)空的字符串(3)未知的值(4)任何值10.集合R 与S 的差表示为________。
(1){t|t∈R∨t∈S} (2){t|t∈R∧フt∈S} (3) {t|t∈R∧t∈S}(4) {trts|tr∈R ∧ts∈S}问答题2.1 本章中,我们声称并、交、积和(自然)连接都具有交互性和结合性。
证明之。
2.2 在Codd 最初定义的八个操作符中,并、差、积、选择和投影可以被认为是基本的。
试用这五种基本操作来表示自然连接、交和除。
2.3 如果A 和B 没有共同的属性,则A JOIN B 等价于A TIMES B。
对其进行证明。
如果A 和B 有相同的表头,则上述表达式等价于什么?2.4 证明2.2 中提到的五个基本操作符是基本的(证明任意一个不能被其余四个来表示)。
数据库原理 第二章 关系数据库期末习题与答案

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、系数据库管理系统应能实现的专门关系运算包括B 。
A .排序、索引、统计 B.选择、投影、连接C .关联、更新、排序 D.显示、打印、制表2、关系模型中,一个关键字是C 。
A .可由多个任意属性组成B .至多由一个属性组成C .可由一个或多个其值能惟一标识该关系模型中任何元组的属性组成D .以上都不是3、个关系数据库文件中的各条记录B 。
A .前后顺序不能任意颠倒,一定要按照输入的顺序排列B .前后顺序可以任意颠倒,不影响库中的数据关系C .前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同D .前后顺序不能任意颠倒,一定要按照关键字段值的顺序排列4、有属性A ,B ,C ,D ,以下表示中不是关系的是C 。
A .R (A )B .R (A ,B ,C ,D )C .D)C B R(A ´´´D .R (A ,B )5、概念模型中,一个实体相对于关系数据库中一个关系中的一个B 。
A 、属性B 、元组C 、列D 、字段二、设有一个SPJ 数据库,包括S ,P ,J ,SPJ 四个关系模式:S( SNO ,SNAME ,A ST ATUSTUS ,CITY);P(PNO ,PNAME ,COLOR ,WEIGHT);J(JNO ,JNAME ,CITY);SPJ(SNO ,PNO ,JNO ,QTY);供应商表S 由供应商代码(SNO )、供应商姓名(SNAME )、供应商状态(ST A TUS )、供应商所在城市(CITY )组成;零件表P 由零件代码(PNO )、零件名(PNAME )、颜色(COLOR )、重量(WEIGHT )组成;工程项目表J 由工程项目代码(JNO )、工程项目名(JNAME )、工程项目所在城市(CITY )组成;供应情况表SPJ 由供应商代码(SNO )、零件代码(PNO )、工程项目代码(JNO )、供应数量(QTY )组成,表示某供应商供应某种零件给某工程项目的数量为QTY 。
整理数据库系统原理与设计(第2版) 万常选版 第2章 关系模型与关系代数 课后答案

文件编号:D6-86-07-A8-E3数据库原理整理人尼克数据库原理一、填空题1.数据库管理技术的发展是与计算机技术及其应用的发展联系在一起的,它经历了三个阶段:__________阶段,__________阶段和__________阶段。
2.三级模式之间的两层映象保证了数据库系统中的数据能够具有较高的__________和__________。
3.数据库设计分为以下六个阶段_______________、________________、________________、________________、________________和________________。
4.关系代数运算中,传统的集合运算有_______,________,________,_________。
5.用树型结构表示实体类型及实体间联系的数据模型称为__________模型,上一层的父结点和下一层的子结点之间的联系是__________的联系。
6.设关系R(U),X,Y∈U,X→Y是R的一个函数依赖,如果存在X′∈X,使X′→Y成立,则称函数依赖X→Y是___________ 函数依赖。
7.在关系模式R(A,C,D)中,存在函数依赖关系{ A→C,A→D },则候选码是___________ ,关系模式R(A,C,D)最高可以达到_____________ 。
8.关系数据模型中,二维表的列称为________,二维表的行称为________。
9.数据模型中的__________是对数据系统的静态特征描述,包括数据结构和数据间联系的描述,__________是对数据库系统的动态特征描述,是一组定义在数据上的操作,包括操作的涵义、操作符、运算规则及其语言等。
10.关系代数运算中,基本的运算是________,________,________,________,________。
11.关系的完整性约束条件包括三大类:__________、__________和__________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句:
S C SC
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)。
∏C#,CNAME(δTEACHER=程军(C))
(2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。
∏S#,SNAME(δAGE>21∧SEX=男(S))
(3)检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。
∏SNAME((∏S#,C#(SC)÷∏C#(δTEACHER=程军(C)))S)
(4)检索”李强”同学不学课程的课程号(C#)。
∏C#(C)-∏C#(δSNAME=李强(S)SC)
(5)检索至少选修两门课程的学号(S#)。
∏S#(δ1=4∧2≠5(SC×SC))
(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
∏C#,CNAME(∏S#,C#(SC)÷∏S#(S)C)
(7)检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。
∏C#(δTEACHER=程军(C)SC)
(8)检索选修课程号为k1和k5的学生学号(S#)。
∏S#,C#(SC)÷∏C#(δC#=k1∨C#=k5(C))
(9)检索选修全部课程的学生姓名(SNAME)。
∏SNAME((∏S#,C#(SC)÷∏C#(C))S)
(10)检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。
∏S#,C#(SC)÷∏C#(δS#=2(SC))
(11)检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。
∏S#,SNAME(∏S#(SC(δCNAME=C语言(C)))S)
(12)检索没有一门课程成绩不及格的学生学号,姓名。
∏S#,SNAME((∏S#(S)-∏S#(δGRADE<60(SC))S)
2.现有关系数据库如下:
学生(学号,姓名,性别,专业,奖学金)。
课程(课程号,名称,学分)。
学习(学号,课程号,分数)。
用关系代数表达式实现下列1-4小题:
1.检索"英语"专业学生所学课程的信息,包括学号、姓名、课程名和分数。
∏学号,姓名,课程,分数(δ专业=英语(学生⋈课程⋈学习))
2.检索"数据库原理"课程成绩高于90分的所有学生的学号、姓名、专业和分数。
∏学号,姓名,专业,分数(δ名称=数据库原理∧分数>90(课程⋈学生⋈学习))
3.检索不学课程号为"C135"课程的学生信息,包括学号,姓名和专业。
∏学号,姓名,专业(学生)- ∏学号,姓名,专业(δ课程号=C135(学习)⋈学生)
4.检索没有任何一门课程成绩不及格的所有学生的信息,包括学号、姓名和专业。
∏学号,姓名,专业(学生)- ∏学号,姓名,专业(δ分数<60(学习⋈学生))
3.现有关系数据库如下:
学生(学号,姓名,性别,专业、奖学金)。
课程(课程号,名称,学分)。
学习(学号,课程号,分数)。
用关系代数表达式实现下列1—4小题:
1.检索“国际贸易”专业中获得奖学金的学生信息,包括学号、姓名、课程名和分数。
∏学号,姓名,课程名,分数(δ专业=国际贸易∧奖学金>0(学生⋈课程⋈学习))
2.检索学生成绩得过满分(100分)的课程的课程号、名称和学分。
∏课程号,名称,学分((δ分数=100(学习))⋈课程)
3.检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业。
∏学号,姓名,专业(δ奖学金<=0∧分数>95(学生⋈学习))
4.检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业。
∏学号,姓名,专业(学生)- ∏学号,姓名,专业(δ分数<80(学生⋈学习))
4.设有关系S、SC和C,试用关系代数表达式完成下列操作。
S(snum,sname,age,sex),例:(1,“李强”,23,‘男’)是一条数据记录。
SC(snum,cnum,score),例:(1,“C1”,83)是一条数据记录。
C(cnum,cname,teacher) 例:(“C1”,“数据库原理”,“王华”)是一条数据记录。
(1)检索“刘祥”同学不学课程的课程号。
∏cnum(C)-∏cnum(δsname=刘祥(S⋈SC))
(2)检索有一门课程成绩在90分以上的男同学的姓名。
∏sname(δscore>90∧sex=男(S⋈SC))
(3)列出没有选修“人工智能”的学生名单。
∏sname(S)-∏sname(δcname=人工智能(C⋈SC⋈S))
(4)找出选修了袁老师教的所有课程的学生名单。
∏sname(∏snum,cnum(SC)÷∏cnum(δteacher=袁老师(C))⋈S) (5)查找每门课程成绩在70分以上并且平均成绩在75分以上的学生名单。
∏sname-∏sname(δscore<=70∨avg(score)<=75(SC⋈S))
5.数据模型如下:
厂家S(SNO,SNAME,STATUS,CITY)
产品P(PNO,PNAME,WEIGHT,COLOR)
工程J(JNO,JNAME,CITY)
供货SPJ(SNO,PNO,JNO,QTY)
用关系代数写出下述操作.
1.给出为工程J1供货的厂商号.
∏SNO(δJNO=J1(SPJ))
2.给出供货量在300~500之间的所有供货情况.
δQTY>=300∧QTY<=500(SPJ)
3.给出由LONDON的厂商供给LONDON的工程的产品号.
∏PNO((δCITY=LONDON(S))⋈(δCITY=LONDON(J))⋈SPJ) 4.给出满足如下条件的所有产品号:提供该零件的厂商和使用该零件的工程在同一城市.∏PNO((∏SNO,CITY(S))⋈(∏JNO,CITY(J))⋈SPJ)
5.给出由S1提供产品的工程名.
∏JNAME((δSNO=S1(SPJ))⋈J)
6.给出使用了由供应红色产品的厂商供应的产品的工程名.
∏JNAME(∏SNO((∏PNO(δCOLOR=红色(P)))⋈(∏SNO,PNO(SPJ)))⋈SPJ⋈J)
7.求使用了全部零件的工程名.
∏JNAME(∏PNO,JNO(SPJ)÷∏PNO(P)⋈J)
8.供应P1,P2两种产品的厂家名.
∏SNAME(∏SNO(δ2=P1∧6=P2∧1=5(SPJ×SPJ))⋈S)
9.显示与”TV”颜色相同的产品名.
∏PNAME(∏COLOR(δPNAME=TV(P))⋈P)
10.给出使用了S1所提供的全部零件的工程名.
∏JNAME((∏JNO,PNO(SPJ)÷∏PNO(δSNO=S1(SPJ)))⋈J)
6.设教学数据库中有三个关系:
S(SNO,SNAME,AGE,SEX,SDEPT)
SC(SNO,CNO,GRADE)
C(CNO,CNAME,TNAME)
试用关系代数表达式表示下列查询语句:
①查询LIU老师所授课程的课程号,课程名
∏CNO,CNAME(δTNAME=LIU(C))
②查询年龄大于23岁的男生的学号与姓名
∏SNO,SNAME(δAGE>23∧SEX=男)
③查询学号为S3学生所学课程的课程名与任课教师名
∏CNAME,TNAME((δSNO=S3(SC))⋈C)
④查询选修LIU老师所授课程中一门课的女学生姓名
∏SNAME(δTNAME=LIU(C⋈SC)⋈δSEX=女(S))⑤查询WANG同学不学的课程的课程号
∏CNO(C)-∏CNO(δSNAME=WANG(S)⋈SC)⑥查询至少选修两门课程的学生学号
∏SNO(δ1=4∧2≠5(SC×SC))
⑦查询全部学生都选修的课程的课程号和课程名
∏CNO,CNAME((δSNO,CNO(SC)÷δSNO(S))⋈C)⑧查询选修课程包含LIU老师所授课程的学生学号
∏SNO,CNO(SC)÷∏CNO(δTNAME=LIU(C))。