2017年北京语言大学计算机应用技术826数据库与管理信息系统考研仿真模拟题
● 摘要
一、简答题
1. 登记日志文件时为什么必须先写日志文件,后写数据库?
【答案】把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。
如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO 操作,并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后进行数据库的修改。
2. 定义并理解下列术语,说明它们之间的联系与区别:
(1)域,笛卡儿积,关系,元组,属性; (2)主码,候选码,外码; (3)关系模式,关系,关系数据库。
【答案】(1)域,笛卡尔积,关系,元组,属性 ①域:一组具有相同数据类型的值的集合。
②笛卡儿积:两个分别为n 目和m 目的关系R 和S 的笛卡尔积是一个n+m列的元组的集合。③关系:在
域上笛卡尔
积
④元组:关系中的每个元素是关系中的元组。 相同,为了加以区分,必须对每列起一个名字,称为属性。
(2)主码,候选码,外部码
①候选码:关系中能惟一标识一个元组的某一属性组。 ②主码:若一个关系有多个候选码,则选定其中一个为主码。
③外部码:设F 是基本关系R 的一个或一组属性,但不是关系R 的码,如果F 与基本关系S 的主码Ks 相对应,则称F 是基本关系R 的外部码,简称外码。
(3)关系模式,关系,关系数据库
,其①关系模式:关系的描述称为关系模式,它可以形式化地表示为:R (U ,D , Dom ,F )中R 为关系名,U 为组成该关系的属性名集合,D 为属性组U 中属性所来自的域,Dom 为属性向域的映射集合,F 为属性间数据的依赖关系集合。
②关系:在
域
上笛卡尔
积
的子集称为关系,表示
为
⑤属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以
的子集称为关系,表示为
关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而
关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。
③关系数据库:关系数据库有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。
3. 数据库中要存储和管理的数据内容包括哪些方面?
【答案】数据库系统中数据的物理组织必须体现实体之间的联系,支持数据库的逻辑结构——各种数据模型。因此数据库中要存储4个方面的数据:
(1)数据描述,即数据的外模式、模式、内模式; (2)数据本身; (3)数据之间的联系; (4)存取路径。
4. 有两个关系S (A , B , C , D )和T (C , D , E , F ),写出与下列查询等价的SQL 表达式:
【答案】⑴(2)(3)(4)(5)(6)
关系的
5. 现有学生课程数据库,其中包括:学生关系Student , 课程关系Course 和选修关系中的属性Credit 表示该门课程的学分。
表
1
实例如表1、表2和表3所示。其中,Sc 中的属性Grade 表该学生该门课取得的成绩,Course
表2
表
3
计算下述表达式的结果,并说明各操作的实际查询含义。 (1)(2)(3)(4)(5)(6)(7)
【答案】(1)对Course 关系作选择运算,选择条件是课程名称Cname 属性的取值为“数据库原理”。因此,可以逐行考查Cname 属性的取值,如果某行的Cname 属性的取值为“数据库原理”,就把该行放到结果集中。结果集合的关系模式仍同Course —样。最终得到的结果集如图(a )。该操作实际上就是查询“数据库原理”课程的基本情况。
(a )(1)的结果集合
(b )(2)的结果集合 (c )(3)的结果集合(d ) (4)的结果集合