1、1习题一一、单项选择题1. 数据管理技术的发展经历了多个理阶段,其中数据独立性最高的是( A )阶段。A)数据库系统 B)文件系统 C)人工管理 D)数据项管理2. ( B )属于信息世界的模型,是现实世界到机器世界的一个中间层次。A)数据模型 B)概念模型 C)E-R 图 D)关系模型3. 反映现实世界中实体及实体间联系的信息模型是( D ) 。A)关系模型 B)层次模型 C)网状模型 D)E-R 模型4. 下列条目中, ( C )是数据模型的要素。.数据管理 .数据操作 .数据完整性约束 .数据结构 A)、和 B)、和 C)、和 D)、和5. 数据库的概念模型独立于( B ) 。A)E-R
2、 图 B)具体的机器和 DBMSC)现实世界 D)用户需求6. 按所使用的数据模型来分,数据库可分为哪三种模型( A ) 。A)层次、关系和网状 B)网状、环状和链状C)大型、中型和小型 D)独享、共享和分时7. 层次模型不能直接表示实体间的( C ) 。A)11 关系 B)1:n 关系 C)mn 关系 D)11 和 1:n 关系8. 在对层次数据库进行操作时,如果删除双亲节点,则相应的子女节点值也被同时删除。这是由层次模型的( B )决定的。A)数据结构 B)完整性约束 C)数据操作 D)缺陷9. 下列条目中, ( D )是数据库应用系统的组成成员。.操作系统 .数据库管理系统 .用户.数据
3、库管理员 .数据库 .应用系统 A)仅、和 B)仅、和C)仅、和 D)都是10. 在数据库中,产生数据不一致性的根本原因是( C ) 。A)数据存储量过大 B)访问数据的用户数太多C)数据冗余 D)数据类型太复杂11. 关系模型的完整性规则不包括( D ) 。A)实体完整性规则 B)参照完整性规则 C)用户自定义的完整性规则 D)数据操作性规则12. 数据库管理系统中数据操纵语言 DML 所实现的操作一般包括( A ) 。A)查询、插入、修改、删除 B)排序、授权、删除 C)建立、插入、修改、排序 D)建立、授权、修改13. 关系模型中,一个关键字( C ) 。A)可由多个任意属性组成 B)至
4、多由一个属性组成C)可由一个或多个其值能唯一标识该关系模式或任何元组的属性组成D)以上都不是14. 现有学生关系模式:学生(宿舍编号,宿舍地址,学号,姓名,性别,专业,出生日期) ,这个关系模式的主关键字是( B ) 。A)宿舍编号 B)学号 C)宿舍地址,姓名 D)宿舍编号,学号15. 在关系数据库中,用来表示实体之间联系的是( D ) 。A)树形结构 B)网状结构 C)线性表 D)二维表216. 逻辑数据独立性是指( D ) 。A)概念模式改变,外模式和应用程序不变 B)概念模式改变,内模式不变C)内模式改变,概念模式不变 D)内模式改变,外模式和应用程序不变17. 数据库三级模式体系结构
5、的划分,有利于保持数据库的( A ) 。A) 数据独立性 B) 数据安全性 C) 结构规范化 D) 操作可行性 18. 在数据库的三级模式结构中,内模式的个数( A ) 。A)只有 1 个 B)与用户个数相同 C)由系统参数决定 D)有任意多个19. 在数据库的三级模式结构中,当模式改变时,通过修改外模式/模式的映像而使外模式不变,从而不必修改应用程序,这是保证了数据与程序的( D ) 。A)存储独立性 B)物理独立性 C)用户独立性 D)逻辑独立性20. 数据库系统的体系结构是( C ) 。A)二级模式结构和一级映像 B)三级模式结构和一级映像C)三级模式结构和二级映像 D)三级模式结构和三
6、级映像二、设计题1已知某图书销售数据库由图书、出版商、作者、书店、订单等实体集(对象)组成,各个实体的属性如下:1)出版商:出版商编码、名称、地址、所在城市、联系电话2)图书:书编码、书名、类型、单价、出版日期3)作者:作者编码、姓名、出生日期、地址、联系电话4)书店:书店编码、名称、地址、联系电话5)订单:订单编号、订单日期、订购数量。数据库语义如下:1)一个出版商可以出版多本图书,但一本图书只能由一个出版商出版;2)一个作者可以写多本书,一本书可以有多个作者编写;3)图书销售情况以订单形式加以存储,一张订单可以有多本图书,一本图书可以在多个订单中出现,但同一订单中同一本图书只能出现一次;4
7、)一个订单只属于一个书店,一个书店可以有多张订单;画出该数据库的 E-R 图。参考答案:作 者1订 单 号 订 单 日 期 订 购 数 量类 型出 版 编 写书 号 书 名出 版 商 图 书订 单包 含销 售n编 码 名 称 地 址 出 生 日 期作 者 编 码姓 名城 市 地 址单 价mn mnn1电 话 电 话出 版 日 期书 店编 码名 称地 址城 市电 话32某工厂(包括厂名和厂长名)需要建立一个数据库,其语义如下: 1)一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和电话;2)一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种;3)一个车间生产多种产品,产品有产品
8、编号、产品名称、规格型号和价格;4)一个车间生产多种零件,一个零件也可能为多个车间制造。零件有零件号、零件名、重量和价格;5)一个产品由多种零件组成,一种零件也可装配出多种产品;6)产品与零件均存入仓库中;7)厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。画出该数据库的 E-R 图。参考答案:111工 厂车 间厂 名 厂 长 名m零 件 号 零 件 名 规 格 型 号规 格 型 号存 储 生 产员 工年 龄职 工 号 姓 名 n产 品 号 产 品 名仓 库 产 品零 件装 配包 含拥 有制 造存 放nn n仓 库 号仓 库 名仓 库 主 任 地 址车 间 号车 间 主 任组 成电 话 电
9、话单 价单 价性 别 电 话1n mn1nn14习题二一、单项选择题1. 关系模型中,候选码( C ) 。A)可由多个任意属性组成B)至多由一个属性组成C)可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成D)以上说法都不正确2. 一个关系数据库中的各个元组( B ) 。A)前后顺序不能任意颠倒,一定要按照输入的顺序排列B)前后顺序可以任意颠倒,不影响数据库中的数据关系C)前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同D)前后顺序不能任意颠倒,一定要按照码段值的顺序排列3. 外码必须为空值或等于被参照表中某个元组的主码。这是( B ) 。A)实体完整性规则 B)参照完整
10、性规则 C)用户自定义完整性规则 D)域完整性规则4. 在关系代数运算中,不属于基本运算的是( C ) 。A)差 B)并 C)交 D)乘积5. 设关系 R 和 S 的属性个数分别是 3 和 4,元组个数分别是 100 和 300,关系 T 是 R 和 S 的广义笛卡尔积,则 T 的属性个数和元组个数分别是( D ) 。A)4,300 B)4,400 C)7,400 D)7,300006. 在关系代数的连接操作中, ( A )操作需要取消重复列。A)自然连接 B)笛卡儿积 C)等值连接 D) 连接7. 下列哪一种关系运算不要求:R 和 S 具有相同的元数,且它们对应属性的数据类型也相同”?( C
11、 ) 。A)RS B)RS C)R-S D)RS8. 设关系 R 与关系 S 具有相同的目(或称度) ,且相对应的属性的值取自同一个域,则 R-(R-S)等于( B ) 。A)RS B)RS C)RS D)R-S9. 在关系代数的专门关系运算中,从关系中取出若干属性的操作称为( B ) ;从关系中选出满足某种条件的元组的操作称为( A ) ;将两个关系中具有共同属性的值的元组连接到一起构成新关系的操作称为( C ) 。A)选择 B)投影 C)连接 D)扫描10. 在关系 R(R#,RN,S#)和 S(S#,SN,SD )中,R 的主码是 R#,S 的主码是 S#,则 S#在 R 中称为( A
12、) 。A)外码 B)候选码 C)主码 D)超码11. 等值连接和自然连接相比较,正确的是( C ) 。A)等值连接和自然连接的结果完全相同B)等值连接的属性个数大于自然连接的属性个数C)等值连接的属性个数小于自然连接的属性个数D)等值连接的属性个数等于自然连接的属性个数12. 有两个关系 R(A, B, C)和 S(B, C, D),则 RS 结果的属性个数是( C ) 。A)3 B)2 C)1 D)不一定513. 设关系 R(A,B,C)和关系 S(B,C,D),那么与 等价的关系代数表达式是( B ) 。2=1SRA)2=4(R S) B)2=4(RS) C)2=1(R S) B)2=1(
13、RS)14. 设关系 X 和 Y 的属性相同,分别有 m 和 n 个元组,那么 XY 操作的结果中元组个数为( C ) 。A)等于 m-n B)等于 m C)小于等于 m D)小于等于 m-n15. 设关系 R(A,B,C)和 S(B,C,D) ,下列各关系代数表达式不成立的是( B ) 。A)RS B)2,3 (R)1,2 (S) C)RS D) R S16. 设 W=R S,且 W、R、S 的属性个数分别为 w、r 和 s,那么三者之间应满足( B ) 。A)wr+s17. 有两个关系 R(A,B,C)和 S(B,C,D),则 R S 结果的属性个数是( B ) 。A)3 B)4 C)5
14、D)618. 在四元关系 R 中,属性分别是 A、B、C 、D ,下列叙述中正确的是( C ) 。A)B,C(R)表示取值为 B、C 的两列组成的关系B)2,3(R)表示取值为 2、3 的两列组成的关系C)B,C(R)和 2,3(R)表示的是同一个关系D)B,C(R)和 2,3(R)表示的不是同一个关系19. 设有关系 SC(Sno,Cno,Grade) ,主码是(Sno,Cno) 。遵照实体完整性规则( D ) 。A)只有 Sno 不能取空值 B)只有 Cno 不能取空值C)只有 Grade 不能取空值 D)Sno 与 Cno 都不能取空值20. 设关系 R=(A,B ,C),与 SQL 语
15、句 Select Distinct A From R Where B=17 等价的关系代数表达式是( A ) 。A)A(B=17(R) B)B=17(A(R)C)B=17(A,C (R) D)A,C (B=17(R)21. 设有关系 R(A,B,C)和关系 S(B,C,D),那么与 R S 等价的关系代数表达式是( C ) 。A)1,2,3,4(2=13=2(RS) B)1,2,3,6(2=13=2(RS)C)1,2,3,6(2=43=5(RS) D)1,2,3,4(2=43=5(RS)下面第 2225 题,基于“学生选课课程”数据库中的 3 个关系: S(Sno, Sname,Gender,
16、Department),主码是 SnoC(Cno,Cname ,Teacher),主码是 CnoSC(Sno,Cno,Grade) ,主码是 (Sno,Cno)22. 下列关于保持数据库完整性的叙述中,哪一个是不正确的?( D ) 。A)向关系 SC 插入元组时,Sno 和 Cno 都不能是空值( NULL)B)可以任意删除关系 SC 中的元组C)向任何一个关系插入元组时,必须保证该关系主码值的唯一性D)可以任意删除关系 C 中的元组23. 为了提高特定查询的速度,对 SC 关系创建唯一索引,应该创建在哪一个(组)属性上?( A ) 。A)(Sno,Cno) B)(Sno ,Grade ) C
17、)(Cno ,Grade) D)Grade24. 查找每个学生的学号、姓名、选修的课程名和成绩,将使用关系( D ) 。A)只有 S,SC B)只有 SC,C C)只有 S,C D)S,SC ,C25. 查找学生号为“D07540102“的学生的“数据库”课程的成绩,至少将使用关系( B ) 。A)S 和 SC B)SC 和 C C)S 和 C D)S、SC 和 C6二解答题1设有如下关系:图书(书号,书名,作者,出版社) ;读者(借书证号,读者名,读者地址) ;借阅(读者名,书号,借书日期,归还日期) 。 指出每个关系模式的候选码,主码,外码,主属性。参考答案:图书(书号,书名,作者,出版社
18、):候选码、主码=书号;主属性=书号;无外键。读者(借书证号,读者名,读者地址):候选码=借书证号,读者名、主码=读者名;主属性=读者名 ;无外键。借阅(读者名,书号,借书日期,归还日期):候选码、主码=读者名+书号+借书日期;主属性=读者名,书号;外键=读者名和书号。 试用关系代数表达式查询 2010 年 12 月 31 日以前借书未还的读者姓名和图书书名。参考答案:1,3 (1,2(35T=e(R)参考答案:P Q T Y9 a e f7 g e fR3R WP Q T Y B2 b c d m2 b c d nR4 2,1,6(3=5 (RD)参考答案:设 X=(3=5 (RD)=P Q
19、 R.T R.Y D.T D.Y2 b c d c d9 a e f e f2 b e f e f7 g e f e f7 g c d c d得到 R4=2,1,6(X)=Q P Yb 2 da 9 fb 2 fg 7 fg 7 dR5RD参考答案:在关系 R 中,属性 P 的取值:(2, 7, 9) 。其中:2 的像集为 (c,d), (e,f) 7 的像集为 (e,f), (c,d) 9 的像集为 (e,f), (d,e) 关系 D 在(T,Y)上的投影为 (c, d), (e, f) 只有关系 R 中 2 的像集和 7 的像集包含 D 在(T,Y)属性组上的投影,即8R5RD= 2,7
20、3给定一个有关学生选课数据库 Education,它包含学生、课程、教师、选课和授课等 5 个关系模式,分别用 Students, Courses, Teachers,StudCourses, Instructions 表示。各个关系模式表示如下:Students(Sno, Sname, Gender, Major)=学生(学号,姓名,性别,所属专业)Courses(Cno, Cname, Pno, Credit)=课程(课程编号,课程名称,前修课程,学分)Teachers(Tno, Tname, Title, Major)=教师(教师编号,姓名,职称,所属专业)StudCourses(Cno
21、, Cno, Period, Grade )=选课(学号,课程编号,选课学期,成绩)Instructions(Tno, Cno, Period)=授课(教师编号,课程编号,授课学期)用关系代数完成下列查询: 查询选修过“数据库”和“数据结构”这两门课程的学生姓名。解题步骤:1)通过 StudCourses 与 Courses 的自然连接,求出选修过“数据库” 的学生学号T1=Sno(Cname=数据库 (StudCourses Courses)2)通过 StudCourses 与 Courses 的自然连接,求出选修过“数据结构” 的学生学号T2=Sno(Cname=数据结构 (StudCou
22、rses Courses)3)求出选修过“数据库”和“ 数据结构” 这两门课程的学生学号T3=T1T24)在已知学号的情况下,与 Students 进行自然连接,求出选课学生的姓名T=Sname(T3 Students)最终答案:Sname(Sno(Cname=数据库 (StudCourses Courses)Sno(Cname=数据结构 (StudCourses Courses)Students) 查询姓名为“李平”这个学生所选修的全部课程的名称。解题步骤:1)从 Students 中取“李平”这个学生的学号T1=Sno(Sname=李平 (Students)2)从 StudCourses
23、中取学号与课程号两个属性的投影,并与 Courses 作自然连接,得到学号、课程号和课程名称这 3 个属性T2=Sno,Cno(StudCourses) Cno,Cname(Courses)93)将 T1 与 T2 作自然连接,并求课程名称 Cname 上的投影。T3=Cname(T1 T2)最终答案:Cname( Sno(Sname=李平 (Students) (Sno,Cno(StudCourses) Courses) 查询没有选修过“数据库”这门课程的学生姓名。解题步骤:1)先查询选修过“数据库”这门课程的学生学号T1=Sno(Cname=数据库 (StudCourse Courses)
24、2)使用减法,求出没有选修数据库的学生学号T2=Sno(Students)-T13)将 T2 与 Students 作自然连接, 求出没有选修“ 数据库”的学生的姓名T3=Sname(T2 Students)最终答案:Sname(Sno(Students)-Sno(Cname=数据库 (StudCourse Courses) Students) 查询选修过“数据库”但没有选修其先行课的学生学号。解题步骤:1)先查询选修过“数据库”这门课程的所有学生的学号T1=Sno(Cname=数据库 (StudCourse Courses)2)求“数据库”这门课程的前修课程的编号(假设为 T2)T2=Pno
25、(Cname=数据库 (Courses)3)求 T1 这些学生中选修过 T2 这门课程的所有学生的学号T3=Sno(T1 Cno=T2(StudCourses)或T3=Sno(StudCourses T2)4)从选修“数据库”课程的学生中减去同时选修了其前修课程的学生,最终得到没有选修其先行课的学生学号 T4T4=T1-T3 查询所有课程成绩全部及格的学生姓名。10解题步骤:1)求出有一门课程考试成绩不及格的学生的学号T1=Sno(Grade60(StudCourses)2)从所有选课学生中减去 T1 中的学生,得到所有考试成绩都及格的学生的学号T2=Sno(StudCourses)-T13)
26、T2 与 Students 自然连接,得到这些学生的姓名T3=Sname(T2 Students) 查询选修过教师“达尔文”所授的全部课程的学生姓名。解题步骤:1)求出教师“达尔文”所授的全部课程 T1T1=Cno(Tno(GTname=达尔文 (Teachers) Cno,Tno(Instructions)2)使用除法,求出选修了这些课程的学生学号 T2,然后将 T2 与 Students 自然连接,得到这些学生的姓名 T3T2=Sno,Cno(studcourses) T1T3=Sname(T2 Students) 查询哪些学生选修的课程中其前修课程还没有选修过。解题步骤(举例说明):1)设 R=Sno,Cno(StudCourses) Cno,Pno(Courses),设 S=R。假设实例如下:Courses StudCoursesCno Pno Sno CnoC1 S1 C1C3 C2 S1 C3C4 C3 S1 C4C1 S2 C1C2 C1 S2 C2