
完整简答题答案:
一、简答题
1. 简述数据库系统的特点。
数据结构化
数据的共享性高,冗余度低且易扩充
数据性高
数据由数据库管理系统统一管理和控制
2. 数据库管理系统的主要功能有哪些?
数据定义功能
数据组织、存储和管理
数据操作功能
数据库的事务管理和运行管理
数据库的建立和维护功能
其他功能
3. 什么叫数据与程序的物理性?什么叫数据与程序的逻辑性?为什么数据库系统具有数据与程序的性?
物理性:用户的应用程序与数据库中数据物理存储是互相的
逻辑性:用户的应用程序与数据库中数据库的逻辑结构是互相的。
4. 简述数据库系统的三级模式结构。
数据库系统的三级模式结构由外模式、模式和内模式组成。
外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。
外模式涉及的是数据的局部逻辑结构,通常是模式的子集。
内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。
为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。
5. 试述数据库系统的组成。
数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。
注:以下为详细组成:
6. 简述文件系统与数据库系统的区别和联系。
文件系统与数据库系统的区别
(1) 文件系统用文件将数据长期保存在外存上,数据库系统用数据库统一存储数据; (2) 文件系统中的程序和数据有一定的联系,数据库系统中的程序和数据分离;
(3) 文件系统用操作系统中的存取方法对数据进行管理,数据库系统用DBMS统一管理和控制数据;
(4) 文件系统实现以文件为单位的数据共享,数据库系统实现以记录和字段为单位的数据共享。
文件系统和数据库系统之间的联系:
(1) 均为数据组织的管理技术;
(2) 均由数据管理软件管理数据,程序与数据之间用存取方法进行转换;
(3) 数据库系统是在文件系统的基础上发展而来的。
7. DBA的职责是什么?
8. 关系代数的基本运算有哪些 ?
注:选择:R(选择出若干满足条件a的元组)
投影:R(选择出若干满足条件a的属性列),删除了重复的元组
连接:
等值连接:选择两个属性列相同的元组连接
自然连接:特殊的等值连接,比较分量为同名属性,重复属性列删除
9. 什么是基本表?什么是视图?两者的区别和联系是什么?
基本表是本身存在的表,在 sQL 中一个关系就对应一个表。视图是从一个或几个基本表导出的表。视图本身不存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图
10. 简述视图的优点。
( l )视图能够简化用户的操作;
( 2 )视图使用户能以多种角度看待同一数据;
( 3 )视图对重构数据库提供了一定程度的逻辑性;
( 4 )视图能够对机密数据提供安全保护。
11. 所有的视图是否都可以更新? 哪类视图是可以更新的,哪类视图是不可更新的?
不是。基本表的行列子集视图一般是可更新的。若视图的属性来自集函数、表达式,则该视图肯定是不可以更新的
12. 简述 SQL 的特点。
(l)综合统一。 sQL 语言集数据定义语言 DDL 、数据操纵语言 DML 、数据控制语言 DCL 的功能于一体。
(2)高度非过程化。用 sQL 语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及 sQL 语句的操作过程由系统自动完成。
(3)面向集合的操作方式。 sQL 语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
(4)以同一种语法结构提供两种使用方式。 sQL 语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。
(5)语言简捷,易学易用
13. 在嵌入式SQL中是如何协调SQL语言的集合处理方式和主语言的单记录处理方式的?
14. 关系数据库的完整性规则有哪几类?
实体完整性
参照完整性
用户自定义完整性
15. 试述查询优化在关系数据库系统中的重要性和可能性。
重要性:关系系统的查询优化既是 RDBMS 实现的关键技术又是关系系统的优点所在。它减轻了用户选择存取路径的负担。用户只要提出“干什么”,不必指出“怎么干”。查询优化的优点不仅在于用户不必考虑如何最好地表达查询以获得较好的效率,而且在于系统可以比用户程序的“优化’夕做得更好。
可能性:
( l )优化器可以从数据字典中获取许多统计信息,例如关系中的元组数、关系中每个属性值的分布情况、这些属性上是否有索引、是什么索引( B +树索引还是 HASH 索引或惟一索引或组合索引)等。优化器可以根据这些信息选择有效的执行计划,而用户程序则难以获得这些信息。
( 2 )如果数据库的物理统计信息改变了,系统可以自动对查询进行重新优化以选择相适应的执行计划。在非关系系统中必须重写程序,而重写程序在实际应用中往往是不太可能的。
( 3 )优化器可以考虑数十甚至数百种不同的执行计划,从中选出较优的一个,而程序员一般只能考虑有限的几种可能性。 ( 4 )优化器中包括了很多复杂的优化技术,这些优化技术往往只有最好的程序员才能掌握。系统的自动优化相当于使得所有人都拥有这些优化技术
16. 写出 Armstrong 推理规则中自反律、增广律、传递律的形式化定义。
设U为属性集总集,F为U上的一些函数依赖,则有关系模式R
A1自反律:若 y? X? U,则X→Y为F所蕴含。
A2增广律:若X→Y为F所蕴含,且Z? U, 则XZ→YZ为F所蕴含。
A3传递律:若 X→Y及Y→Z为F所蕴含,则 X→Z为F所蕴含
17. 简述日志文件的内容
事务标识
操作类型
操作对象
更新前的数据旧值
更新后数据新值
18. 简述 SQL 中的自主存取控制机制。
自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。
注:强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。
19. 简述数据库中事务的概念及其性质。
事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。
事务具有4 个特性:原子性一致性、隔离性和持续性。
原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
持续性:持续性也称永久性,指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。
20. 简述事物的原子性。
原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。
21. 简述并发操作带来的三类数据不一致性
丢失修改、不可重复读和读“脏’夕数据。
( l )丢失修改:两个事务 Tl 和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了) Tl 提交的结果,导致 Tl 的修改被丢失。 (
2 )不可重复读:不可重复读是指事务 Tl 读取数据后,事务几执行更新操作,使 Tl 无法再现前一次读取结果。
( 3 )读“脏”数据:读“脏’夕数据是指事务 Tl 修改某一数据,并将其写回磁盘,事务几读取同一数据后, Tl 由于某种原因被撤销,这时 Tl 已修改过的数据恢复原值,几读到的数据就与数据库中的数据不一致,则几读到的数据就为“脏”数据,即不正确的数据。
22. 在数据库中为什么要并发控制?并发控制技术可以保证事务的哪些特征?
数据库是共享资源,通常有许多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制
保证事务的原子性、一致性、隔离性和持续性。
23. 什么是封锁?基本的封锁类型有几种?
封锁就是事务 T 在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务 T 就对该数据对象有了一定的控制,在事务 T 释放它的锁之前,其他的事务不能更新此数据对象。
基本的封锁类型有两种:排它锁( Exclusive Locks ,简称 x 锁)和共享锁 ( Share Locks,简称 S 锁)。排它锁又称为写锁。
注:若事务 T 对数据对象 A 加上 X 锁,则只允许 T 读取和修改 A ,其他任何事务都不能再对 A 加任何类型的锁,直到 T 释放 A 上的锁。这就保证了其他事务在 T 释放 A 上的锁之前不能再读取和修改 A 。共享锁又称为读锁。若事务 T 对数据对象 A 加上 S 锁,则事务 T 可以读 A但不能修改 A ,其他事务只能再对 A 加 S 锁,而不能加 X 锁,直到 T 释放 A 上的 S 锁。这就保证了其他事务可以读 A ,但在 T 释放 A 上的 S 锁之前不能对 A 做任何修改。
24. 简述两段封锁协议的内容。
两阶段封锁是在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁
在释放一个封锁之后,事务不能再获得任何其他封锁。
“两段”锁的含义:事务分为两个阶段:
第一阶段是获得封锁,也称为扩展阶段;
第二阶段是释放封锁,也称为收缩阶段。
25. 简述数据库系统中活锁和死锁的含义。避免活锁的简单方法是什么?
活锁的含义是该等待事务等待时间太长,似乎被锁住了,实际上可能被激活。
如果事务 Tl 封锁了数据 Rl ,几封锁了数据凡,然后 Tl 又请求封锁几,因几已封锁了几,于是 Tl 等待几释放几上的锁。接着几又申请封锁 Rl ,因 Tl 已封锁了 Rl ,几也只能等待 Tl 释放 Rl 上的锁。这样就出现了 Tl 在等待几,而几又在等待 T }的局面, T }和几两个事务永远不能结束,形成死锁
26. 什么叫做数据库的恢复?数据库恢复的基本技术有哪些?
数据库管理系统把数据库从某种错误状态恢复到完整状态就叫做数据库恢复:
它的实现技术数据转储和登录日志文件。
27. 简述数据库系统中可能发生的故障类型,以及数据恢复方法。
事务故障、系统故障、介质故障、计算机病毒
事务故障:某个事务在运行过程中由于种种原因未运行至正常终止点
事务故障的恢复:事务撤消(UND)
注:恢复程序要在不影响其它事务运行的情况下,强行回滚(RBACK)该事务,即清除该事务对数据库的所有修改,使得这个事务象根本没有启动过一样
系统故障:由于某种原因造成整个系统的正常运行突然停止,致使所有正在运行的事务都以非正常方式终止。
系统故障的恢复:1. 清除尚未完成的事务对数据库的所有修改
注:如果DBMS 无法确定哪些事务已更新过数据库,则系统重新启动后,恢复程序要强行撤消(UND ) 所有未完成事务,使这些事务象没有运行过一样。
2. 将已完成事务提交的结果写入数据库
注:如果DBMS 无法确定哪些事务的提交结果尚未写入物理数据库,则系统重新启动后,恢复程序需要重做(RED ) 所有已提交的事务。
介质故障:硬件故障使存储在外存中的数据部分丢失或全部丢失
介质故障的恢复:装入数据库发生介质故障前某个时刻的数据副本,重做自此时始的所有成功事务 ,将这些事务已提交的结果重新记入数据库
计算机病毒:人为的故障或破坏,是一种计算机程序。
计算机病毒的恢复:杀毒软件
28. 简述“运行记录优先原则”。
在数据库系统中,写一个修改到数据库中和写一个表示这个修改的登记记录到日志文件中是两个不同的操作,在这两个操作之间有可能发生故障。这时,如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改,那么以后也就无法撤消这个修改。为了安全起见,采用“运行记录优先原则”。
它包括两点:
(1)至少要等相应运行记录已经写入“日志”文件后,才能允许事务往数据库中写记录。
(2)直至事务的所有运行记录都已写入运行“日志”文件后,才能允许事务完成“END TRANSACTION”处理
29. 简述日志文件内容及其作用。
日志文件内容:
事务标识
操作类型
操作对象
更新前的数据旧值
更新后数据新值
日志文件作用:
事务故障恢复和系统故障恢复必须使用日志文件
在动态转储方式中必须建立日志文件,后备副本和日志文件结合起来才能有效地恢复数据库
在静态转储方式中也可建立日志文件,当数据库毁坏后可重新装入后援副本把数据库的恢复到转储结束时刻的正确状态,然后利用日志文件吧已完成的事务进行重做处理,对故障发生时尚未完成的事务进行撤销处理
30. 简述数据库设计过程。
需求分析:了解用户的数据需求、处理需求、安全性及完整性要求;
概念设计:通过数据抽象,设计系统概念模型,一般为E-R模型;
逻辑结构设计:设计系统的模式和外模式,对于关系模型主要是基本表和视图;
物理结构设计:设计数据的存储结构和存取方法,如索引的设计;
系统实施:组织数据入库、编制应用程序、试运行;
运行维护:系统投入运行,长期的维护工作。
31. 需求分析阶段的设计目标是什么?调查的内容是什么?
需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
调查的内容是“数据’和“处理”,即获得用户对数据库的如下要求:
( l )信息要求,指用户需要从数据库中获得信息的内容与性质,由信息要求可以导出数据要求,即在数据库中需要存储哪些数据;
( 2 )处理要求,指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理;
( 3 )安全性与完整性要求
32. 数据字典的内容和作用是什么?
数据字典是系统中各类数据描述的集合。
数据字典的内容通常包括:
( l )数据项; ( 2 )数据结构; ( 3 )数据流; ( 4 )数据存储; ( 5 )处理过程五个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。
数据字典通过对数据项和数据结构的定义来描述数据流和数据存储的逻辑内容。
数据字典的作用:数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完盖。
33. 在全局 ER 模型设计过程中,需要消除局部 ER 模型之间存在的哪三种冲突?
属性冲突
结构冲突
命名冲突
34. 简述数据库完整性和安全性的概念。
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏
数据库的完整性是指数据的正确性和相容性。
第二章 课后答案
6.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
1)求供应工程J1零件的供应商号码SNO:
πSno(σSno=‘J1’(SPJ))
2)求供应工程J1零件P1的供应商号码SNO:
πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))
3)求供应工程J1零件为红色的供应商号码SNO:
πSno(σPno=‘P1‘ (σCOLOR=’红‘ (P)∞SPJ))
4)求没有使用天津供应商生产的红色零件的工程号JNO:
πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘ (S∞SPJ∞P)
5)求至少用了供应商S1所供应的全部零件的工程号JNO:
πJno,Pno(SPJ)÷ πPno(σSno=‘S1‘ (SPJ))
