1、数据库原理复习一、单项选择题1.数据库的存储设备和存取方法变化不影响整体逻辑结构的特点,称为( A ) 。A.物理结构独立性 B.物理数据独立性 C.逻辑结构独立性 D.逻辑数据独立性 2.消除了非主属性对码的部分函数依赖的 1NF 的关系模式,必定是( B ) 。A. 1NF B. 2NF C. 3NF D. BCNF3.在数据库设计的需求分析阶段,描述数据与处理之间关系的方法是( C ) 。A.E-R 图 B.业务流程图 C.数据流图 D.程序框图4.关系模式设计理论主要解决的问题是( D ) 。A.插入异常,删除异常和数据冗余 B.提高查询速度C.减少数据操作的复杂性 D.保证数据的安全
2、性和完整性5.建立索引属于数据库的( B ) 。A.概念设计 B.逻辑设计 C.物理设计 D.实现与维护设计6.数据库系统的数据独立性是指( A ) 。A.概念模式改变,外模式和应用程序不变 B.概念模式改变,内模式不变C.数据并发性 D.数据完整性7.下列关于数据库恢复说法不正确的是( C ) 。A.事物故障恢复采用日志文件 B.系统故障恢复采用日志文件C.介质故障恢复采用日志文件 D.以上故障恢复均不采用日志文件8.下面( B )不是常用的数据模型?A. 关系模型 B. 线性模型 C. 层次模型 D. 网状模型9.在数据库设计中,将 E-R 图转换成关系数据模型的过程属于( C ) 。A.
3、需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段 10.DBMS 中实现事务持久性的子系统是( D )A.安全性管理子系统 B.完整性管理子系统 C.并发控制子系统 D.恢复管理子系统 11.SQL 语言是( C )的语言,容易学习 。A.过程化 B.非过程化 C.格式化 D.导航式12.DBMS 普遍采用( C )方法来保证调度的正确性。A.索引 B.授权 C. 封锁 D.日志13.事务 T 在修改数据 R 之前必须先对其加锁,直到事务结束才释放,这是(A ) 。A.一级封锁协议 B.二级封锁协议 C.三级封锁协议 D.零级封锁协议14.关系模型中实现实体间 N:M 联系是
4、通过增加一个( A ) 。A.关系实现 B.属性实现 C.关系或一个属性实现 D.关系和一个属性实现15.关系代数运算是以( A )为基础的运算。A.关系运算 B.谓词演算 C.集合运算 D.代数运算16.数据库设计可划分为七个阶段,每个阶段都有自己的设计内容, “为哪些关系、在哪些属性上、建什么样的索引”这一设计内容应该属于( B )设计阶段。A.概念设计 B.逻辑设计 C.物理设计 D.全局设计17.SQL 语言中的 COMMIT 语句的主要作用是( C ) 。A.结束程序 B.返回系统 C.提交事务 D.存储数据18.一个事务的执行,要么全部完成,要么全部不做,一个事务中对数据库的所有操
5、作都是一个不可分割的操作序列的属性是( A ) 。A.原子性 B.一致性 C.独立性 D.持久性19.关系的主属性不能取空值,属于( B ) 。A.实体完整性约束 B.参照完整性约束 C. 用户定义完整性约束 D. 动态元组约束 20.如果一个关系属于第 3 范式,则它( A ) 。A.必然属于 2NF B.必然属于 4NF C. 可能不属于 2NF D. 必然属于 BCNF21.SQL 语言集几个功能模块为一体,其中不包括( D ) 。A. DDL B. DML C. DCL D. DNL22.单个用户使用的数据视图的描述称为( A ) 。A. 外模式 B. 概念模式 C. 内模式 D. 存
6、储模式23.子模式 DDL 用来描述( B ) 。A. 数据库的总体逻辑结构 B. 数据库的局部逻辑结构C. 数据库的物理存储结构 D. 数据库的概念结构24.在 DBS 中, DBMS 和 OS 之间的关系是( B ) 。A.相互调用 B. DBMS 调用 OS C. OS 调用 DBMS D. 并发运行25.当关系 R 和 S 自然联接时,能够把 R 和 S 原该舍弃的元组放到结果关系中的操作是( D ) 。A. 左外联接 B. 右外联接 C. 外部并 D. 外联接26.下列聚合函数中不忽略空值 (null) 的是( C ) 。A. SUM (列名) B. MAX (列名) C. COUN
7、T ( * ) D. AVG (列名)27.在数据库设计中,将 E-R 图转换成关系数据模型的过程属于( B ) 。A. 需求分析阶段 B. 逻辑设计阶段 C. 概念设计阶段 D. 物理设计阶段28.如果事务 T 获得了数据项 Q 上的排它锁,则 T 对 Q( C ) 。A. 只能读不能写 B. 只能写不能读 C. 既可读又可写 D. 不能读不能写29.DBMS 中实现事务持久性的子系统是( D ) 。A. 安全性管理子系统 B. 完整性管理子系统C. 并发控制子系统 D. 恢复管理子系统30.分布式数据库系统中分片模式和分配模式均是( A ) 。A. 全局的 B. 局部的 C. 分布的 D.
8、 集中的31.属性类型允许是基本数据类型、结构类型和集合类型的模型是( C ) 。A. 平面关系模型 B. 嵌套关系模型 C. 复合对象模型 D. 分布式关系模型32.实体集书店与图书之间具有( B )联系。A 一对一 B 一对多 C 多对多 D 多对一33.现有关系表:医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果,恢复情况)的主码是( A ) 。A 患者编号,医生编号,诊断日期 B 医生编号 C 诊断日期 D 患者编号34.相对于非关系模型,关系数据模型的缺点之一是( A ) 。A 存取路径对用户透明,需进行查询优化 B 数据结构简单C 数据独立性高 D 有严格的数学基础35.数据
9、库镜象可以用于( C ) 。A 保证数据库的完整性 B 实现数据库安全性C 进行数据库恢复或并发操作 D 实现数据共享36.现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在单位)医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外码是( A ) 。A 患者编号 B 患者姓名 C 患者编号和患者姓名 D 医生编号和患者编号37.假如采用关系数据库系统来实现应用,在数据库的逻辑设计阶段,需将( A )转换为关系数据模型。A E-R 模型 B 层次模型 C 关系模型 D 网状模型38.描述数据库中全体数据的逻辑结构和特征是(B)A 内模式 B 模式 C
10、外模式 D 存储模式39. SQL 的全局约束是指基于元组的检查子句和( C ) 。A. 非空值约束 B. 域约束子句 C. 断言 D. 外键子句40.下列关系运算中, ( D )运算不属于关系运算。A 选择 B 除法 C 投影 D 并41.要保证数据库逻辑数据独立性,需要修改的是( C ) 。A.模式 B.模式与内模式的映射 C.模式与外模式的映射 D.内模式42.下列四项中,不属于数据库特点的是( C ) 。A.数据共享 B.数据完整性 C.数据冗余很高 D.数据独立性高43.学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生之间的联系类型是( D ) 。A.多对多 B
11、.一对一 C.多对一 D.一对多44.反映现实世界中实体及实体间联系的信息模型是( D ) 。A.关系模型 B.层次模型 C.网状模型 D. E-R 模型45.对数据库并发操作有可能带来的问题包括( A ) 。A.读出“脏数据” B.带来数据的冗余C.未被授权的用户非法存取数据 D.破坏数据独立性二、名词解释1.数据冗余:是指相同的数据在不同的地方(文件)重复存储。2.DBA:是这个机构中的一个(组)人员,负责全面管理和控制数据库系统。3.事务:是并发控制的基本单位,保证事务 ACID 特性是事务处理的重要任务,而事务ACID 特性可能遭到破坏的原因之一是多个事务对数据库的并发操作造成的。 (
12、对于用户而言,事务是具有完整逻辑意义的数据库操作序列的集合。对于数据库管理系统而言,事务则是一个读写操作序列。这些操作是一个不可分割的逻辑工作单元,要么都做,要么都不做。 )4.数据字典:是数据库中最重要的部分之一,在关系数据库中,数据字典是一系列的系统表,用来提供数据库的信息。5.数据独立性:是用来描述数据与应用程序之间的依赖程度,包括数据的物理独立性和数据的逻辑独立性,依赖程度越低则独立性越高。6.物理独立性:是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。7.逻辑独立性:是指用户的应用程序与数据库的逻辑结构是相互独立的。8.存储过程:是为了完成特定功能汇集而成的一组命名了的
13、 SQL 语句集合,该集合编译后存放在数据库中,可根据实际情况重新编译。该存储过程可直接运行,也可远程运行,存储过程直接在服务器端运行。9.触发器:是用户定义在关系表上的一类由事件驱动的存储过程,由服务器自动激活。触发器可以进行更为复杂的检查和操作,具有更精细和更强大的数据控制能力。10.SQL 语言中的视图答:在 SQL 中,外模式一级数据结构的基本单位是视图,它是从若干基本表和(或) 其它视图中构造出来的,视图并不存储对应的数据,只是将视图的定义存于数据字典中。三、填空题1.SQL 语言提供数据库定义、数据操纵、数据控制等功能。2.数据库保护问题包括:安全性保护、完整性、故障恢复和并发控制
14、等多方面。3.关系代数中专门的关系运算包括:选择、投影、连接和除法。4.数据库中常用的四种文件组织方式是:顺序文件、索引文件、散列文件、倒排文件。5.关系数据库数据操作的处理单位是关系,层次和网状数据库数据操作的处理单位是记录。6.在关系数据模型中,两个关系 R1 与 R2 之间存在 1M 的联系,可以通过在一个关系 R2中的外部关键字值在相关联的另一个关系 R1 中检索相对应的记录。7.数据库的逻辑模型设计阶段,任务是将总体 E-R 模型转换成关系模型。8.关系规范化理论是设计关系数据库的指南和工具。9.当数据库被破坏后,如果事先保存了日志文件和数据库的副本,就有可能恢复数据库。10.关系中
15、主码的取值必须唯一且非空,这条规则是数据流完整性规则。11.数据库系统中最重要的软件是数据库管理系统,最重要的用户是数据库管理员。12.在有泛化/细化联系的对象类型之间,较低层的对象类型称为子类型。13.一个类可以从直接的或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的可重用性 (或共享性)。14.用树型结构表示实体类型及实体间联系的数据模型称为层次模型。15.关系数据库的关系演算语言是以谓词演算为基础的 DML 语言。16.在函数信赖中,平凡的函数信赖根据 Armstrong 推理规则中的自反律就可推出。17.分布式数据库中定义数据分片时,必须满足三个条件:完备性条件、重构条件和不
16、相交条件。18.DB 并发操作通常会带来三类问题,它们是丢失更新、不一致分析和读脏数据。19.事务必须具有的四个性质是:原子性、一致性、隔离性和持久性。20.分布式数据库系统中透明性层次越高,应用程序的编写越简单 (或容易) 。21.视图是从基本表中导出的表,数据库中实际存放的是视图的定义。22.与文件管理系统相比较,数据库系统的数据冗余度 低、数据共享性 好。23.数据模型通常是由数据结构、数据操作和数据的约束条件三个要素组成。24.SQL 语言除了具有数据查询和数据操作功能之外,还具有数据定义和数据控制功能。它是一个功能强大的语言。25.数据库系统中保证安全性的存取权限是由_数据对象_和_
17、操作类型_两个要素组成。26.由于数据库系统在三级模式之间提供了_外模式/模式_和_模式/ 内模式_两层映象功能,这就保证了数据库系统具有较高的数据独力性。27.关系数据库的规范化理论是数据库_逻辑结构_设计的一个有力的工具;E-R 模型是数据库的_概念结构_设计的一个有力工具。28.数据库设计分为以下六个设计阶段:需求分析阶段、_概念结构设计_、_逻辑结构设计_数据库物理设计阶段、数据库实施阶段、数据库运行和维护阶段。29.关系数据库的_实体完整性_规则规定:基本关系的主属性不能取空,关系数据库的_参照完整性_规定规则:一个基本关系的外码(对应于另一个基本关系的主码)取职不能取空值域者必须等
18、于它所对应基本关系中的主码值。30.设关系模式 R (A,B,C),F 是 R 上成立的 FD 集,F = BA,BC,则分解 = AB,AC丢失的 FD 是_ (B C)四、简答题1.数据库管理系统的主要功能有哪些?答:数据库定义、操纵、保护、存储、维护和数据字典。2.数据库系统中的常见故障有哪些?答:.事务故障,系统故障、介质故障。3.简述 SQL 语言的组成。答:分为四个部分:数据定义、数据操纵、数据控制、嵌入式 SQL 语言的使用规定。4.说明关系模型有哪三类完整性规则?答:实体完整性、参照完整性、用户自定义完整性。5.请阐述在网状模型和关系模型中,实体之间联系的实现方法。答:在网状模
19、型中,联系用指针实现。在关系模型中,联系用关键码 (或外键,或关系运算) 来实现。6.DBS 由哪几个部分组成?答:DBS 由四部分组成:数据库、硬件、软件、数据库管理员。7.数据库的并发操作会带来哪些问题? 答:数据库的并发操作会带来三类问题 :丢失更新问题;不一致分析问题和“脏数据”的读出。8.简述客户/服务器模式 DBS 的一般结构。此时数据库应用的功能如何划分?答:DBS :数据库系统(Database System),DBS 是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。9.什么是日志文件?为什么要设立日
20、志文件?答:(1)日志文件是用来记录事务对数据库的更新操作的文件。(2)设立日志文件的目的是: 进行事务故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复。10.SQL 中表达完整性约束的规则主要有哪几种?答:有主键约束、外键约束、属性值约束和全局约束等。11.什么是分布式数据库的分布透明性?答:分布透明性是指用户不必关心数据的逻辑分片,不必关心数据物理位置分配的细节,也不必关心各个场地上数据库的数据模型。12.什么是对象关系数据模型?答:在传统的关系数据模型基础上,提供元组、数组、集合等数据类型以及处理新的数据类型操作的能力,这样形成的数据模型,称为“对象关系数据模型”。13. 数据库
21、恢复的基本技术有哪些?答:数据转储和登录日志文件是数据库恢复的基本技术。当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。五、论述题1.数据库中为什么要有恢复子系统?它的功能是什么?答:因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此必须要有恢复子系统。恢复子系统的功能是:把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态) 。2.数据库运行中可能产生的故障有哪几类?哪些故障影响事
22、务的正常执行?哪些故障破坏数据库数据?答:数据库系统中可能发生各种各样的故障,大致可以分以下几类:(1)事务内部的故障;(2)系统故障;(3)介质故障;(4)计算机病毒。事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据库数据。3.登记日志文件时为什么必须先写日志文件,后写数据库?答:把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次 U
23、NDO 操作,并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。4.什么是数据库镜像?它有什么用途?答:数据库镜像即根据 DBA 的要求,自动把整个数据库或者其中的部分关键数据复制到另一个磁盘上。每当主数据库更新时,DBMS 自动把更新后的数据复制过去,即 DBMS 自动保证镜像数据与主数据的一致性。数据库镜像的用途有:一是用于数据库恢复。当出现介质故障时,可由镜像磁盘继续提供使用,同时 DBMS自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本。二是提高数据库的可用性。在没有出现故障时,当一个用户对某个数据加排它锁进行修改
24、时,其他用户可以读镜像数据库上的数据,而不必等待该用户释放锁。5.试述事务的概念及事务的四个特性。答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。事务具有四个特性:原子性(Atomicity) 、一致性(Consistency) 、隔离性(Isolation)和持续性(Durability) 。这个四个特性也简称为 ACID 特性。原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的
25、数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。持续性:持续性也称永久性(Permanence) ,指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。六、综合题(一)现有关系数据库如下:学生(学号,姓名,性别,专业,奖学金) 课程(课程号,名称,学分)学习(学号,课程号,分数)用 SQL 语言实现如下小题:1.检索不学课程号为“C135” 课程的学生信息,包括学号,姓名和专业;2.检索至少学过课程号为“C135”和“C219 ”的学生信息,包括学号、姓名和专业;3.从学生表中删除成绩出现过 0 分的所有学生信息;4.
26、定义“英语”专业学生所学课程的信息视图 AAA,包括学号、姓名、课程号和分数。(二)现有如下关系:学生(学号,姓名,性别,专业,出生年月)教师(教师编号,姓名,所在部门,职称)授课(教师编号,学号,课程编号,课程名称,教材,学分,成绩)1查找学习“数据库原理”课程且成绩不及格的学生学号和任课教师编号;2查找学习“英语”课程的“计算机应用”专业学生的学号,姓名和成绩;3查找教师“李洪”所教过的学生成绩为 90 分以上(包括 90)的学生学号,姓名和专业;4删除学生表中学号为“9903016”的记录;5将编号为“60016”的教师所在的部门该为“计算机” ;6建立“计算机应用”专业成绩有过不及格的
27、学生的视图;7向学生表中增加一个“奖学金”列,其数据类型为数值型。1、 SELECT 学号,教师编号FROM 授课WHERE 课程名称 =数据库原理 AND 成绩=90;4、 DELETE FROM 学生WHERE 学号 =9903016;5、 UPDATE 教师SET 所在部门=计算机系 WHERE 教师编号 =60016;6、 CREATE VIEW 成绩 AS SELECT 学生.学号,姓名,成绩FROM 学生,授课WHERE 学生 .学号= 授课.学号 AND 专业=计算机应用 AND 成绩60;(三)设有关系数据库:职工关系 EMPLOYEE (职工号,职工名,街道,城市)工作关系 WORKS (职工号,公司号,工资)公司关系 COMPANY (公司号,公司名,城市)试用 SQL 语句写出下列操作:将所有在“联华公司”工作的职工加薪 5。