《数据库系统概论》期末考试试卷2010-2011-A答案

  • 格式:doc
  • 大小:76.50 KB
  • 文档页数:9

第一章概论(数据库系统的基本概念)(一)什么是数据库?什么是数据库系统?什么是数据库管理系统?DBMS的主要功能有哪些?(1、数据库定义;2、数据存取;3、数据库运行管理;4、数据库建立和维护)(二)数据模型:1、三要素(数据结构、数据操作、完整性约束)。

2、概念模型→逻辑模型→物理模型;在第一层次的概念模型中主要涉及到的相关概念:实体、属性、码、外码、实体型、联系,在第二层次的逻辑模型中主要是关系模型。

3、两个实体型之间的联系类型:1:1,1:n,m:n。

4、关系模型:由一组关系组成,每个关系可以视为一张二维表,其中,行→记录,列→属性;关系模型中的关系操作是集合操作,操作对象和操作结果都是关系。

(三)数据库系统的三级模式:外模式(子模式或用户模式)、模式(逻辑模式)、内模式(存储模式)。

一个数据库可以有多个外模式(如视图)。

第二章数据库建模1、会用E—R图建立基本的数据库概念模型;2、对约束建模:三类完整性约束:(1)实体完整性;(2)参照完整性;(3)用户自定义的完整性。

第三章关系模型和关系运算(一)关系模型的相关概念:属性、元组、关系模式、候选码、主码、主属性、非主属性;(二)概念模型(E—R图)向关系数据库模式(逻辑模型)的转换;(三)关系操作:关系运算的基础是集合运算,五种基本的关系代数运算(选择、投影、并、差、广义迪卡尔积);掌握用关系代数表达式表达相关查询处理的方法。

(四)关系代数运算与SQL语句的对应关系:1、选择→SELECT * ;2、投影→SELECT 属性名表;3、连接→多表查询:等值连接、自然连接→FROM子句中涉及多个表,WHERE子句中涉及连接字段的相等性比较。

第四章SQL语言(结构化查询语言)集DDL、DML、DCL的功能于一身。

完成数据定义、数据查询、数据更新等相关操作。

学会使用SQL语言对数据库中的数据进行查询和更新(SELECT、INSERT、UPDA TE、DELETE)。

思考题:什么是基本表?什么是视图?两者的区别和联系是什么?第六章关系数据库设计理论(重点)→解决数据库设计问题关系规范化理论是为了解决关系数据库的数据冗余、插入异常、删除异常、更新异常等问题而引入的。

(一)函数依赖的相关概念:1、部分依赖→完全依赖;2、传递依赖;3、关系规范化策略:关系模式分解。

(二)范式:1、1NF(基本要求,解决属性的原子性问题);2、2NF:解决非主属性对码的部分依赖问题→完全函数依赖;3、3NF:进一步解决非主属性对码的传递依赖问题;4、BCNF:解决主属性对码的部分依赖问题和传递依赖问题(可能存在的)。

第七章数据库设计1、数据库设计的几个阶段;2、概念结构设计(实体划分、属性确定、E—R图);3、概念结构→逻辑结构。

《数据库系统概论》期末考试试卷答案一、单项选择题(从4个备选答案中选择最适合的一项,每小题1分,共10分)1. 下列不属于数据管理技术主要经历阶段的是( B )A、手工管理B、机器管理C、文件系统D、数据库2. 数据库的概念模型独立于( A )A、具体的机器和DBMSB、E-R图C、信息世界D、现实世界3. 下面的哪种范式是最规范的数据库范式( C )A、2NFB、3NFC、4NFD、BCNF4. 下列不属于关系完整性的是( D )A、实体完整性B、参照的完整性C、用户定义的完整性D、逻辑结构的完整性5.不同的数据模型是提供模型化数据和信息的不同工具,用于信息世界建模的是( C )A、网状模型B、关系模型C、概念模型D、结构模6.下列关于数据库系统正确的描述是( A )。

A、数据库系统减少了数据的冗余B、数据库系统避免了一切冗余C、数据库系统中数据的一致性是指数据的类型一致D、数据库系统比文件系统能管理更多的数据7.下面哪个不属于数据库系统的三级模式结构( C )。

A、外模式B、模式C、中模式D、内模式8.下面哪个命令属于SQL语言授权命令( D )。

A、updateB、deleteC、selectD、grant9.在具有监测点的故障恢复技术中,下面哪个事务不需要REDO( A )。

A、T1B、T2C、T3D、T4Tc监测Tf系统故T1T2T3T410.同一个关系模型的任意两个元组值( A )。

A、不能全同B、可全同C、必须全同D、以上都不是11、五种基本关系代数运算是( A )• A. ∪,-,×,π和σ B. ∪,-,⋈,π和σ• C. ∪,∩,×,π和σ D. ∪,∩,⋈,π和σ• 12、下列聚合函数中不忽略空值(null) 的是( C )• A. SUM (列名) B. MAX (列名)• C. COUNT ( * ) D. AVG (列名)二、填空题(每空1分,共10分)1.描述事物的符号记录称为(数据)。

2.如果D1有3个元组,D2中有4个元组,则D1×D2有(12 )个元组。

3.在SQL语言中,“_”和(% )符号属于通配符。

4.在SQL语言中,“>ANY”等价于(>min )。

5.(视图)是从一个或几个基本表导出的表。

6.触发器的类型分为(行级)触发器和语句级触发器。

7.在MAC机制当中,仅当主体的许可证级别(大于或等于)客体的密级时,该主体才能读取相应的客体。

8.对于关系代数的查询优化,(选择运算应尽可能先做)优化策略是最重要和最基本的一条。

9.(事务故障和系统故障)故障系统自动执行,介质故障需要DBA的介入。

10.DBMS的基本工作单位是事务,它是用户定义的一组逻辑一致的程序序列;并发控制的主要方法是(封锁)机制。

填空题• 1、用树型结构表示实体类型及实体间联系的数据模型称为层次模型。

• 3、从数据库管理系统角度看,数据库系统通常采用三级模式结构,即数据库系统由内模式、外模式和模式组成。

• 4、RDMBS查询处理可分为查询分析、查询检查、查询优化和查询执行四个阶段。

• 5、概念结构设计是对现实世界的一种抽象,一般有分析、聚集、概括共三种抽象机制。

• 6、物理优化就是要选择高效合理的操作算法或存取路径以求得优化的查询计划。

• 7、将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计,概念结构设计通常有四类方法:自顶向上、自底向下、逐步扩张和混合策略。

• 8、在关系模式R<U,F>中若不存在这样的码X,属性组Y及非属性组Z(Z不是Y的子集)使得X→Y,Y→Z成立,且YX,则称R∈3NF。

三、简答题(每小题5分,共25分)1. 简述数据库系统的三级模式结构和两级映像。

答:数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。

(2分)模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

模式实际上是数据库数据在逻辑级上的视图,一个数据库只有一个模式,数据库模式以某一种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。

(1分)外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据购逻辑表示。

外模式通常是模式的子集。

一个数据库可以有多个外模式。

(1分)内模式也称存储模式,一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。

(1分)2. 关系的完整性有哪些?并用实例解释。

答: (共3个完整性,各1分,举例共2分)1)实体完整性:主属性不能为空。

例如学生(学号,姓名,性别,专业号,年龄)主属性学号不能为空2)参照完整性:属性F是基本关系R的外码,它与基本关系S的主码相对应,则F或者取空值,或者等于S中某个元组的主码值。

学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)学生关系中的专业号3)用户自定义完整性例如某字段的取值在1~100之间3.实体间的联系有哪些?请举例说明。

答:1:1 班级和正班长1:n 班级和学生M:N 学生和课程4. 数据库设计分为哪几个阶段?答:需求分析,概念结构设计,逻辑结构设计,物理设计,数据库实施阶段,数据库运行和维护。

5.试说明B+树索引和聚簇分别适合用在什么地方?答:B+树索引适合用于某个值有很少行记录的情况,比如学生表中的学号适合建立B+树索引;聚簇适合于某个值有很多行记录的情况,比如学生表中系别适合建立聚簇。

1.简述数据库管理系统的功能。

2.简述SQL语言的特点。

3、什么是数据库系统?4、试述数据库完整保护的主要任务和措施。

1.答:一般来说,DBMS的功能主要包括以下6个方面:1)数据定义。

2)数据操纵。

3)数据库运行管理。

4)数据组织、存储和管理。

5)数据库的建立和维护。

6)数据通信接口。

2.答:SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,充分体现了关系数据库语言的特点和优点。

其特点如下:1)综合统一 2)高度非过程化 3)面向集合的操作方式4)以同一种语法结构提供两种操作方式 5)语言简洁,易学易用3、什么是数据库系统?答:数据库系统是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软、硬资源组成的系统。

它包含关联数据的集合,DBMS和用户应用程序等。

4、试述数据库完整保护的主要任务和措施。

答:主要任务是保障数据的正确性,有效性,协调性,提高数据对用户的可用性。

其措施如下:适时检查完整约束条件,保证语义完整。

控制并发操作,使其不破坏完整性。

在系统出现故障后,即时恢复系统。

四、编程题(每小题1分,共15分)可能用到的表结构如下:学生表(学号,姓名,性别,年龄,班级)课程表(课程号,课程名,学分)成绩表(学号,课程号,成绩)1.创建存储过程GetStudentByID,带有参数sno,根据学生的学号查询学生情况Create procedure GetStudendByID sno varchar(10)AsBeginSelect * from 学生表where 学号=snoend2. 编写SQL语句,查询学生表中所有学生,要求第一按照班级升序排序,第二按照年龄降序排序select * from 学生表order by 班级asc,年龄desc3. 编写SQL语句,查询学生表中姓张的学生select * from 学生表where 姓名like '张%'4. 编写SQL语句,查询学生表中男女生的人数各多少人select 性别,count(*) from 学生表group by 性别5. 编写SQL语句,查询所有比“王平”年龄大的情况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语句,将对学生表的修改权限赋给用户U1Grant update on table 学生表to U1五、求解题(共20分)1.设某连锁店数据库系统中有三个实体集。