信不信由你天津理工大学考试试卷答案2010 ~ 2011 学年度第 一 学期《数据库系统概论》 期末考试试卷答案
课程代码: 0660096 试卷编号: 1-A 答题时限: 得分统计表:
大题号总分
一
二
120
分钟
命题日期: 2010 年 12 月 10 日
考试形式:闭卷笔试
三四五六
一、单项选择题(从4个备选答案中选择最适合的一项,每小题1分,共10分)
得分
1. 下列不属于数据管理技术主要经历阶段的是( B )A、手工管理 B、机器管理 C、文件系统 D、数据库2. 数据库的概念模型独立于( A )A、具体的机器和DBMS C、信息世界
B、E-R图D、现实世界
3. 下面的哪种范式是最规范的数据库范式( C )
A、2NF B、3NF C、4NF D、BCNF4. 下列不属于关系完整性的是( D )
A、实体完整性 B、参照的完整性 C、用户定义的完整性 D、逻辑结构的完整性5.不同的数据模型是提供模型化数据和信息的不同工具,用于信息世界建模的是( C )
试卷答案编号: 1-A
第 1 页 共 7 页
A、 网状模型 B、 关系模型 C、 概念模型 D、 结构模
6.下列关于数据库系统正确的描述是( A )。
A、 数据库系统减少了数据的冗余B、数据库系统避免了一切冗余
C、数据库系统中数据的一致性是指数据的类型一致D、数据库系统比文件系统能管理更多的数据
7.下面哪个不属于数据库系统的三级模式结构( C )。
A、 外模式 B、 模式 C、中模式 D、 内模式8.下面哪个命令属于SQL语言授权命令( D )。A、 update B、 delete C、select D、 grant
9.在具有监测点的故障恢复技术中,下面哪个事务不需要REDO( A )。A、 T1 B、 T2 C、T3 D、 T4
Tc监测点Tf系统故障T1T2T3T410. 同一个关系模型的任意两个元组值( A )。
A、不能全同 B、可全同
C、必须全同 D、以上都不是
二、填空题(每空1分,共10分)
得分
1. 描述事物的符号记录称为(
试卷答案编号: 1-A
数据 )。
第 2 页 共 7 页
2. 如果D1有3个元组,D2中有4个元组,则D1×D2有( 12 )个元组。3. 在SQL语言中,“_”和( %
)符号属于通配符。
)。
4. 在SQL语言中,“>ANY”等价于( >min 6. 触发器的类型分为( 行级 才能读取相应的客体。
8.对于关系代数的查询优化,( 基本的一条。
9.( 事务故障和系统故障 )故障系统自动执行,介质故障需要DBA的介入。
10.DBMS的基本工作单位是事务,它是用户定义的一组逻辑一致的程序序列;并发控制的主要方法是(
封锁
)机制。
选择运算应尽可能先做
)优化策略是最重要和最
5. ( 视图 )是从一个或几个基本表导出的表。
)触发器和语句级触发器。
)客体的密级时,该主体
7.在MAC机制当中,仅当主体的许可证级别( 大于或等于
三、简答题(每小题5分,共25分)
得分
1. 简述数据库系统的三级模式结构和两级映像。
答:
数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。(2分)模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式实际上是数据库数据在逻辑级上的视图,一个数据库只有一个模式,数据库模式以某一种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。(1分)外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据购逻辑表示。外模式通常是模式的子集。一个数据库可以有多个外模式。(1分)内模式也称存储模式,一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。(1分)2. 关系的完整性有哪些?并用实例解释。答: (共3个完整性,各1分,举例共2分)1)实体完整性:主属性不能为空。
例如学生(学号,姓名,性别,专业号,年龄)
主属性学号不能为空
2)参照完整性 :属性F是基本关系R的外码,它与基本关系S的主码相对应,则F或者取空值,或者等于S中某个元组的主码值。
学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)学生关系中的专业号
试卷答案编号: 1-A
第 3 页 共 7 页
3)用户自定义完整性 例如某字段的取值在1~100之间3.实体间的联系有哪些?请举例说明。 答:1:1 班级和正班长 1:n 班级和学生 M:N 学生和课程
4. 数据库设计分为哪几个阶段?
答:需求分析,概念结构设计,逻辑结构设计,物理设计,数据库实施阶段,数据库运行和维护。
5.试说明B+树索引和聚簇分别适合用在什么地方?
答:B+树索引适合用于某个值有很少行记录的情况,比如学生表中的学号适合建立B+树索引;聚簇适合于某个值有很多行记录的情况,比如学生表中系别适合建立聚簇。
四、编程题(每小题1分,共15分)
得分
可能用到的表结构如下:
学生表(学号,姓名,性别,年龄,班级) 课程表(课程号,课程名,学分) 成绩表(学号,课程号,成绩)
1.创建存储过程GetStudentByID,带有参数sno,根据学生的学号查询学生情况Create procedure GetStudendByID sno varchar(10)AsBegin
Select * from 学生表 where 学号=snoend
2. 编写SQL语句,查询学生表中所有学生,要求第一按照班级升序排序,第二按照年龄降
序排序
select * from 学生表 order by 班级 asc,年龄 desc
3. 编写SQL语句,查询学生表中姓张的学生select * from 学生表 where 姓名 like '张%'
4. 编写SQL语句,查询学生表中男女生的人数各多少人select 性别,count(*) from 学生表 group by 性别5. 编写SQL语句,查询所有比“王平”年龄大的情况
试卷答案编号: 1-A
第 4 页 共 7 页
Select * from 学生表 where 年龄>(select 年龄 from 学生表 where 姓名=’王平’)6. 编写SQL语句,在学生表和成绩表中查询学号,姓名,课程号,成绩
SELECT 学生表.学号, 学生表.姓名, 成绩表.课程号, 成绩表.成绩 FROM 学生表 INNER JOIN 成绩表 ON 学生表.学号 = 成绩表.学号
7. 编写SQL语句,将(1022,张望,男,19,信息2)的学生插入到学生表中insert into 学生表 (学号,姓名,性别,年龄, 班级) values('1022','张望','男',19,'信息2')8. 编写SQL语句,将学号为1022学生的姓名改为张旺update 学生表 set 姓名='张旺' where 学号='1022'9. 编写SQL语句,删除没有选课的学生
delete from 学生表 sno not in (select sno from sc)
10. 编写SQL语句,查询课程号9的先行课的情况
select * from 课程表 where 课程号= (select 先行课号 from 课程表 where 课程号=9) 11. 编写关系代数,查询选修3号课程的学生学号
∏学号(∫课程号=‘3’(选课表))
12. 编写关系代数,查询至少选修了一门直接先行课为5号课程的学生姓名
参看课本60页
13. 编写SQL语句,创建学生表
Create table 学生表 (学号 char(10),姓名 varchar(20),性别 char(2),年龄 int,班级 char(30))
14. 编写SQL语句,建立计算机1班男生的视图
Create view as select * from 学生表 where 班级=‘计算机1班’ and 性别=‘男’15. 编写SQL语句,将对学生表的修改权限赋给用户U1
Grant update on table 学生表 to U1
五、求解题(共20分)
得分
1.设某连锁店数据库系统中有三个实体集。
商店:商店号,商店名,地址,电话商品:商品号,商品名,单价职工:职工号,职工名
商店与商品之间存在销售联系,其属性有销售日期和销售量 。每个商店可以销售多种商品,每种商品可以由多家商店销售。
商店与职工之间存在聘任联系,属性有工资,每个职工只能在一家商店工作。1)试画出E-R图 (4分)
2)将E-R模型转换为关系模型 (4分)
试卷答案编号: 1-A
第 5 页 共 7 页