第二章 关系数据库一、选择题:1、对于关系模型叙述错误的是 A.建立在严格的数学理论、集合论和谓词演算公式基础之一B.微机DBMS绝大部分采取关系数据模型C.用二维表表示关系模型是其一大特点D.不具有连接操作的DBMS也可以是关系数据库管理系统2、关系模式的任何属性 A.不可再分 B.可再分C.命名在该关系模式中可以不唯一 D.以上都不是3、在通常情况下,下面的表达中不可以作为关系数据库的关系的是 A.R1(学号,姓名,性别) B.R2(学号,姓名,班级号) C.R3(学号,姓名,宿舍号) D.R4(学号,姓名,简历)4、关系数据库中的码是指 A.能唯一关系的字段 B.不能改动的专用保留字 C.关键的很重要的字段 D.能惟一表示元组的属性或属性集合5、根据关系模式的完整性规则,一个关系中的“主码” A.不能有两个 B.不能成为另外一个关系的外码 C.不允许为空 D.可以取值6、关系数据库中能唯一识别元组的那个属性称为 。
A.唯一性的属性 B.不能改动的保留字段 C.关系元组的唯一性 D.关键字段7、在关系R(R#,RN,S#)和S(S#,SN,SD)中,R的主码是R#,S的主码是S#,则S#在R中称为 A.外码 B.候选码 C.主码 D.超码8、关系模型中,一个码是 A.可由多个任意属性组成 B.至多由一个属性组成 C.可由一个或多个其值能唯一标识该关系模式中任意元组的属性组成 D.以上都不是9、一个关系数据库文件中的各条记录 A.前后顺序不能任意颠倒,一定要按照输入的顺序排列B.前后顺序可以任意颠倒,不影响库中的数据关系C.前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果可能不同D.前后顺序不能任意颠倒,一定要按照码段的顺序排列10、关系数据库管理系统应能实现的专门关系运算包括 A.排序、索引、统计 B.选择、投影、连接 C.关联、更新、排序 D.显示、打印、制表11、同一个关系模型的任意两个元组值 。
A.不能全同 B.可全同 C.必须全同 D.以上都不是12、自然连接是构成新关系的有效方法一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的 A.元组 B.行 C.记录 D.属性13、设关系R(A,B,C)和S(B,C,D),下列各关系代数表达式不成立的是 A. B.R C. D.RS 14、有两个关系R和S,分别包含15个和10个元组,则在R,R-S,R S中不可能出现的元组数目情况是 A.15,5,10 B.18,7,7 C.21,11,4 D.25,15,015、取出关系中的某些列,并消去重复元组的关系代数运算称为 。
A.取列运算 B.投影运算 C.连接运算 D.选择运算16、设W=RS,且W,R,S的元组个数分别为p,m,n,那么三者之间满足 A.p<(m+n) B.p<=(m+n) C.p<(m*n) D.p<=(m*n)17、设关系R和S的属性个数分别为2和3,那么RS(1<2)等价于 A. B.C. D.18、设关系R和S的属性个数为r和s,那么RS(ij)与下式 等价A. B. C. D.19、参加差运算的两个关系 A.属性个数可以不同 B.属性个数必须相同 C.一个关系包含另一个关系的属性 D.属性名必须相同20、两个关系在没有公共属性时,其自然连接操作表现为 。
A.结果为空关系 B.笛卡儿积操作 C.等值连接操作 D.无意义的操作21、有关系:R(A,B,C)(主码为A)和S(D,A)(主码为D,外码为A)参照于R的A属性关系R和S的元组如图所示: 9 关系R ABC 123213关系SDA122NULL3341指出关系S中违反完整性规则的元组是 A.(1,2) B.(2,null) C.(3,3) D.(4,1)22、设有属性A,B,C,D,以下表示中不是关系的是 A.R(A) B.R(A,B,C,D) C.R(A*B*C*D) D.R(A,B)23、关系运算中花费时间可能最长的运算是 A.投影 B.选择 C.笛卡儿积 D.除二、填空题:1、关系操作的特点是 操作。
2、关系模型的完整性规则包括 、 和 3、连接运算是由 和 操作组成的4、自然连接运算是由 、 和 组成5、关系模型由 、 和 组成6、关系模式是关系的 ,相当于 7、在一个实体表示的信息中, 称为码8、传统的结合运算施加于两个关系时,这两个关系的 必须相等, 必须取自同一个域9、关系模式是对关系 的描述10、在关系中能唯一标识元组的属性或属性集称为关系模式的 11、一个关系模式可以形式化地表示为 12、关系数据库模式是 的集合13、一个关系模式的定义主要包括关系名、 、 、 和主关系键14、在关系中选作元组标识的候选键称为 15、关系模型的三类完整型规则包括: 、 、 。
16、关系键的值 的约束条件称为实体完整性17、实体完整性规则定义了关系中 ,不存在没有被标识的元组18、参照完整性规则定义了 的引用规则,不引用不存在的实体; 与关系键对应可实现两个关系的关联19、关系运算可分为 和 两大类,其中关系演算又可分为 和 两类20、关系代数中四类传统的集合运算分别为:__________、__________、_________和广义笛卡儿积运算21、关系代数中专门的运算操作包括 、 、 、 和除法运算五种操作22、关系操作的特点是 操作23、在传统集合运算中,假定有关系R和S,运算结果为RS如果RS中的元组属于R或者属于S,则RS是 运算的结果;如果RS中的元组属于R而不属于S,则RS是 运算的结果如果RS中的元组既属于R又属于S,则RS是 运算的结果24、在专门关系运算中,从表中按照要求取出指定属性的操作称为 ;从表中选出满足某种条件的元组的操作称为 ;将两个关系中满足一定条件的元组连接到一起构成新表的操作称为 。
三、应用题:1、设有如图所示的关系R,W和D,计算:(1)R1=(2)R2=(3)(4)(5)关系RPQTY2bcd9aef2bef9ade7gef7gcd关系WTYBcdmcdndfn关系DTYcdef2、设有如图所示的关系S,SC,C,试用关系代数表达式表示下列查询语句:关系SS#SNAMEAGESEX1李强23男2刘丽22女3张友22男关系CC#CNAMETEACHERK1C语言王华K5数据库原理程军K8编译原理程军关系SCS#C#GRADE1K18382K1855K1922K5905K5845K880(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)3)检索至少选修“程军”老师所授全部课程的学生姓名4)检索“李强”同学不学课程的课程号5)检索至少选修两门课程的学生学号(S#)6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)8)检索选修课程号为K1和K5的学生学号(S#)9)检索选修全部课程的学生姓名(SNAME)10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。
11)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)3、设有下列关系模式:STUDENT(SNO,SNAME,AGE,SEX,DNO)其中,SNO表示学号,CNAME表示姓名,AGE表示年龄,SEX表示性别,DNO表示院系号SC(SNO,CNO,GRADE),其中SNO表示学号,CNO表示课程号,GRADE表示成绩COURSE(CNO,CNAME),其中CNO表示课程号,CNAME表示课程名请用关系代数表示下列查询:1) 检索年龄小于16的女学生的学号和姓名2) 检索成绩大于85分的女学生的学号、姓名3) 检索选修课程为C1或C2的学生的学号4) 检索至少选修了课程号为C1和C2的学生的学号5) 检索选修课程号为C1的学生的学号,姓名,课程名和成绩6) 检索选修了全部课程的学生的学号、姓名和年龄第二章 答案一、选择题:1、D. 2、A. 3、D. 4、D. 5、C. 6、D. 7、A. 8、C. 9、B.10、B. 11、A. 12、D. 13、B. 14、B. 15、B. 16、D. 17、B.18、A. 19、B. 20、B. 21 C. 22、C. 23、C.二、填空题:1、集合2、实体完整性规则、参照完整性规则、用户自定义的完整性规则3、笛卡儿积、选择4、笛卡儿积、选择、投影5、数据结构、数据操作、完整性约束6、框架、记录格式7、能唯一标识实体的属性或属性组8、属性个数、相对应的属性值9、结构 10、关系键11、R(A1,A2,…,An)其中R为关系名,A1,A2,…An为属性名。
12、一组关系模式13、属性名, 属性类型, 属性长度14、 关系键15、实体完整性规则 参照完整性规则,用户定义完整性规则16、不能取空值或部分空值17、不能有重复的元组18、外部关系键与关系键 外部关系键19、关系代数 关系演算 元组演算 域演算20、并运算 差运算 交运算21、选择运算 投影运算 连接运算 自然连接22、集合23、并 差 交24、投影 选择 连接三、应用题:1、设有如图所示的关系R,W和D,计算:(1)R1=(2)R2=(3)(4)(5)关系RPQTY2bcd9aef2bef9ade7gef7gcd关系WTYBcdmcdndfn关系DTYcdef关系R1YTdcfeed关系R2PQTY9aef7gef关系R3PQTYB2bcdm2bcdn7gcdm7gcdn 关系R4QPYb2da9fb2fg7fg7d关系R5PQ2b7g2、设有如图所示的关系S,SC,C,试用关系代数表达式表示下列查询语句:关系SS#SNAMEAGESEX1李强23男2刘丽22女3张友22男关系CC#CNAMETEACHERK1C语言王华K5数据库原理程军K8编译原理程军关系SCS#C#GRADE1K18382K1855K1922K5905K5845K880(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。
2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)3)检索至少选修“程军”老师所授全部课程的学生姓名4)检索“李强”同学不学课程的课程号5)检索至少选修两门课程的学生学号(S#)6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)8)检索选修课程号为K1和K5的学生学号(S#)9)检索选修全部课程的学生姓名(SNAME)10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)11)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)答:(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)3、已知一个关系数据库的模式如下:S (SNO,SNAME,SCITY)P (PNO,PNAME,COLOR,WEIGHT)J (JNO,JNAME,JCITY)SPJ (SNO,PNO,JNO,QTY)供应商S由供应商代码SNO、供应商姓名SNAME、供应商所在城市SCITY组成;零件P由零件代码PNO、零件名PNAME、颜色COLOR、重量WEIGHT组成;工程项目J由工程项目代码JNO、工程项目名JNAME、和所在城市JCITY组成;供应情况SPJ由供应商代码SNO、零件代码PNO、工程项目代码JNO、供应数量QTY组成。
用关系代数表达式表示下面的查询要求:(1)找出向北京的供应商购买重量大于30的零件工程名2)求供应工程J1零件的供应商代码(3)求供应工程J1零件P1的供应上代码(4)求供应工程J1零件为红色的供应商代码(5)求没有使用天津供应商生产的红色零件的工程项目代码(6)求至少用了供应商S1所供应的全部零件的工程项目代码答:(1)或(2)(3)(4)(5)(6)4、设有下列关系模式:STUDENT(SNO,SNAME,AGE,SEX,DNO)其中,SNO表示学号,CNAME表示姓名,AGE表示年龄,SEX表示性别,DNO表示院系号SC(SNO,CNO,GRADE),其中SNO表示学号,CNO表示课程号,GRADE表示成绩COURSE(CNO,CNAME),其中CNO表示课程号,CNAME表示课程名请用关系代数表示下列查询:(1) 索年龄小于16的女学生的学号和姓名2) 索成绩大于85分的女学生的学号、姓名3) 检索选修课程为C1或C2的学生的学号(4) 检索至少选修了课程号为C1和C2的学生的学号5) 检索选修课程号为C1的学生的学号,姓名,课程名和成绩6) 检索选修了全部课程的学生的学号、姓名和年龄。
答:1) ∏SNO,SNAME(σAGE<16(STUDENT))2) ∏SNO,SNAME(σGRADE>85^SEX=’女’(STUDENT*SC))3) ∏SNO(σCNO=’C1’∨CNO=’C2’(SC))4) ∏SNO(σCNO=’C1’(SC))∩∏SNO(σCNO=’C2’(SC))5) ∏STUDENTSNO,SNAME,CNAME,GRADE(σCNO=’C1’((STUDENT*SC)*COURSE))6) ∏STUDENT.SNO,SNAME, AGE(STUDENT*∏SNO.CNO(SC)÷∏CNO(COURSE))。