数据库习题精讲2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章习题
1.填空题
(1)设F是基本关系R的一个属性或属性组,F不是R的码(主码或候选码),但F是关系S的主码,则称F是R的____外码_______,R为____参照关系_____表,S为_____被参照_____表。
(2)设关系R和S的属性个数分别是3和4,元组个数分别是100和300,关系T是R和S的广义笛卡尔积,则T的属性个数是_____7_________,元组个数是___30000_________。
2.单选题
(1)在通常情况下,下面的关系中不可以作为关系数据库的关系是( D )。
A、R1(学生号,学生名,性别)
B、R2(学生号,学生名,班级号)
C、R3(学生号,学生名,宿舍号)
D、R4(学生号,学生名,简历)
(2)一个关系数据库文件中的各条记录( B )。
A、前后顺序不能任意颠倒,一定要按照输入的顺序排列
B、前后顺序可以任意颠倒,不影响库中的数据关系
C、前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同
D、前后顺序不能任意颠倒,一定要按照码段值的顺序排列
(3)同一个关系模型的任意两个元组值( A )。
A、不能全同
B、可全同
C、必须全同
D、以上都不是
(4)设属性A是关系R的主属性,则属性A不能取空值(NULL)。这是( A )。
A、实体完整性规则
B、参照完整性规则
C、用户自定义完整性规则
D、域完整性规则(5)下列关系中的基本名词,能唯一地标识一个元组的是( A、C )。
A、主属性
B、属性
C、候选码
D、以上三都均可
(6)外码必须为空值或等于被参照表中某个元组的主码。这是( B )。
A、实体完整性规则
B、参照完整性规则
C、用户自定义完整性规则
D、域完整性规则(7)当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的( D )。
A、元组
B、行
C、记录
D、属性
(8) R-(R-S)等同于( A )。
A、R∩S
B、R∪S
C、R-S
D、R×S
(9)在关系代数运算中,不属于基本运算的是( D)。
A、差
B、交
C、并
D、乘积
3.判断题
(1)关系操作的方式是一次一集合。(√)
(2)笛卡尔积就是关系。(√)
(3)在一个关系模式中,候选码可有多个,主码只能有一个,主码可以不属于候选码。(×)【主码属于候选码】
(4)主码中的属性叫做主属性。(×)[候选码中的属性叫做主属性]
4.简答
(1)简述关系的五个特征。
答:
(2)何种情况下,外码的值不能为空?
答:设F是基本关系R的一个或一组属性,但不是关系R的主码(或候选码)。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码,并称基本关系R为参照关系,基本关系S为被参照关系或目标关系。所以被参照关系的主码非空时,外码值不能为空。
(3)已知三个关系模式图书(书号,书名,出版社,负责人),读者(读者号,身份证号,姓名,性别,年龄),借阅(读者号,书号,借阅日期,归还日期)。指出每个关系模式的候选码,主码,外码,主属性。
答:图书关系模式的主码为:书号。候选码:书号。主属性:书号。外码:无。、
读者关系模式的主码为:读者号。候选码:读者号,身份证号。主属性:读者号,身份证号。外码:无。
借阅关系模式的主码为:书号。候选码:书号。主属性:书号。外码:读者号。
(4)简述连接、等值连接和自然连接的定义。
答:连接运算【Join】是从两个关系的笛卡尔积中选取属性间满足一定条件的远足。
自然连接:要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。(一种特殊的等值连接)
等值连接:是从关系R和S的广义笛卡尔积中选取A和B 属性值相等的那些元组。
5.综合题
(1)已知域D1=零件号集合={P1,P2,P3};D2=颜色集合={红色,蓝色};D3=产地集合={北京,上海}用二维表表示D1×D2×D3的笛卡尔积,并计算笛卡尔积的基数。
笛卡尔的基数为:12
(2)已知关系R1,R2分别是
(3)
求等值连接:选课∞课程
选课.课程号=课程.课程号选课∞课程 =
选课.课程号=课程.课程号
自然连接:选课∞课程
6.语法题
(1)对于学生选课关系,其关系模式如下:
学生(学号,姓名,年龄,所在系)
课程(课程名,课程号,先行课)
选课(学号,课程号,成绩)
试用关系代数完成下列查询:
①求成绩不及格的学生学号和姓名
∏学号、姓名(σ成绩<60(选课)∝(学生))
②求学过数据库课程的学生学号和姓名
∏学号、姓名(σ课程名=‘数据库’(课程)∝(选课)∝(学生))
③求数据库成绩不及格的学生学号和姓名
∏学号、姓名(σ课程名=‘数据库’∧成绩<60((课程)∝(选课))∝(学生))
④求学过数据库和数据结构课程的学生学号和姓名
∏学号、姓名((σ课程名=‘数据库’(课程)∩σ课程名='数据结构’(课程))∝(选课)∝(学生))
⑤求学过数据库或数据结构课程的学生学号和姓名