1. 试述数据库系统的组成。
数据库系统(DBS)由数据库(DB)、数据库管理员(DBA)、软件(数据库管理系统DBMS)、硬件组成。
2. 试述数据库的逻辑独立性及物理独立性。
物理数据独立性:如果数据库的内模式要修改,即数据库的屋里结构有所变化,那么只要对逻辑模式/内模式映像(即“对应性”)作相应的修改,可以使逻辑模式尽可能保持不变。
逻辑数据独立性:如果数据库的逻辑模式要修改,那么只要对外模式/逻辑模式映像作相应的修改,可以使外模式和应用程序尽可能的保持不变。
3. 试述DBMS的主要功能。
DBMS是位于OS和DB之间一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
4. 什么是X锁。
X锁,即排他型封锁,又称为写锁。定义:如果事务T对某个数据R(可以是数据项、记录、数据集及整个数据库)实现了X锁,那么在T对数据R接触封锁之前,不允许其他事务T再对该数据加任何类型的锁。
5. 什么是数据库安全性?常用的数据库的安全性措施有哪些?
1
数据库安全性:指保护数据库以防止不合法的使用造成数据泄露、更改或破坏。
数据库的安全性措施:用户标识与鉴定、存取控制。
6. 简述数据库系统的三级模式。
数据库系统的三级模式:内模式、模式、外模式。
外模式是用户与数据库系统的接口,是用户用到的那部分数据的描述。外模式由若干个外部记录类型组成。
模式(逻辑模式)是数据库中全部数据的整体逻辑结构的描述。它又若干个逻辑记录类型组成,还包含记录间联系、数据的完整性和安全性等要求。
内模式是数据库在屋里存储方面的描述,定义所有内部记录类型、索引和文件的组织方式以及数据控制方面的细节。
7. 合并分E-R图,生成初步E-R图过程中,各个分E-R图之间的冲突有哪些?
属性冲突、结构冲突、命名冲突。
8. 什么是S锁?
S锁,即共享型封锁,也叫读锁。如果事务T对某数据加上S锁后,仍允许其他事务在对该数据加S锁,但是对该数据的所有S锁接触前,不允许任何事务对该数据加X锁。这种锁成为“S锁”。
2
9. 简述数据库中故障的种类。
事务故障、系统故障、介质故障。
10. 试述数据库设计的步骤。
规划阶段:1、系统调查;
2、可行性分析;
3、确定数据库系统的总体目标。
需求分析阶段:1、分析用户活动,产生业务流程图;
2、确定系统范围,产生系统关系图;
3、分析用户活动设计的数据,产生数据流图; 4、分析系统数据,产生数据字典。
概念设计阶段:1、进行数据抽象,设计局部概念模型;
2、将局部概念模型综合成全局概念模型;
3、评审。
3
逻辑设计阶段:1、把概念模型转换成逻辑模型;
2、设计外模型;
3、设计应用程序与数据库的接口;
4、评价模型;
5、修正模型。
物理设计阶段:1、存储记录结构设计;
2、确定数据存放位置;
3、存取方法的设计;
4、完整性和安全性考虑;
5、程序设计。
数据库的实现:1、用DDL定义数据库结构;
2、组织数据入库
3、编制与调试应用程序;
4
4、数据库试运行。
数据库的运行与维护:1、数据库的转储和恢复;
2、数据库安全性与完整性;
3、数据库性能的监督、分析和改进;
4、数据库的重组织和重构造。
11. 简述两段锁协议的内容。
是指所有事物必须分为两个阶段对数据项加锁和解锁。
12. 什么是DB?
数据库(DB)是长期储存在计算机内、有组织的、统一管理的相关数据的集合。
13. 什么是权限?用户访问数据库有哪些权限?
14. 什么是封锁的粒度?封锁粒度的大小对并发系统有何影响?
封锁对象的大小成为封锁的粒度(Granularity)。
封锁粒度与系统的并发度和并发控制的开销密切相关。封锁的粒度越大,并发度也就越小,但同时系统的开销也就越小;相反,封锁的粒度越小,并发度越高,但系统开销也
5
就越大。
15. 什么是主属性和码?
如果A是关系模式R的候选键中属性,那么称A是R的主属性;否则称A是R非主属性。
码是能唯一标示数据行的属性组(码由一个或者多个主属性组成)。
16. 数据库的并发操作会带来哪些问题?如何解决?
丢失更新问题;读脏数据问题;不可重复读问题。
通常采用封锁技术加以解决。还可以采用时标技术来解决。
17. 简述数据库管理系统的功能?
DBMS是位于OS和DB之间一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
18. 什么是超键和候选键?
超键:在关系中能唯一标识元组得属性或属性集成为关系模式的超键。
候选键:不含有多余属性的超键成为候选键。
6
19. 封锁会带来哪些问题?如何解决?
“活锁”问题,用“先来先服务”的策略,排队方式解决。
“饿死”问题,用授权加锁来避免事务饿死。
“死锁”问题,抽取代价最小的事务作为牺牲品,把它撤销,做退回操作,接触它所有的封锁,恢复到该事务的初始状态。
20. 简述SQL语言的特点。
1、 SQL具有十分灵活和强大的查询功能,其SELECT语句能完成相当复杂的查询操作,包括各种关系代数、统计、排序等操作。
2、 SQL不是一个应用开发语言,它只提供对数据库的操作功能,不能完成屏幕控制、菜单管理、报表生成等功能。但SQL既可作为交互式语言独立使用,也可作为子语言嵌入在主语句中使用,成为应用开发语言的一部分。
3、 SQL是国际标准语言,有利于各种数据库之间交换数据,有利于程序的移植,有利于实现高度的数据独立性,有利于实现标准化。
4、 SQL的词汇不多,完成核心功能只用了9个英语动词,他的语法结构接近英语,因此容易学习和使用。
21. 什么是主键和外键?
7
主键:用户选择元组标识的候选键成为主键。
外键:如果模式R中属性K是其他模式的主键,那么K在模式R中成为外键。
22. 数据库的三层模式和两级映像是什么?
三层模式:外模式、模式、内模式。
两级映像:外模式-模式映像、模式-内模式映像。
23. SQL的视图机制有哪些优点?
视图可以使用户集中于他们感兴趣的数据,而不必考虑哪些不必要的数据,从而提高数据库的工作效率。
另外,在一定程度上也提高了数据的安全性。
24. 什么是事务的隔离性。
在多个事务并发执行时,系统应保证与这些事务先后单独执行的结果一样,此时称事务达到了隔离性(Isolation)的要求。
25. DBMS的功能有哪些?
DBMS是位于OS和DB之间一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
8
26. 什么是数据库的恢复?恢复是如何实现的?
数据库的恢复:系统能把数据库从被破坏、不正确的状态恢复到最近一个正确的状态,DBMS的这种能力成为数据库的可恢复性(Recovery)。书P219
实现:1.平时做好两件事:转储和建立日志。
2.一旦发生数据库故障,分两种情况进行处理:
a.如果数据库遇到灾难性故障,已经不能用了,就将最近一次备份复制到新的磁盘,然后利用日志库“重做”(REDO)已提交的事务,把数据库恢复到故障前的状态。
b.如果数据库未遭到物理性破坏,但破坏了数据库的一致性(某些数据不正确),此时不必去复制存档的数据库,只要利用日志库“撤销”(UNDO)所有不可靠的修改,再利用日志库“重做”(REDO)已提交的、但对数据库的更新可能还留在内存缓冲器的舒服,就可以把数据恢复到正确的状态。
27. 什么是DBMS?
DBMS是位于OS和DB之间一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
28. 简述DBMS的功能。
数据定义
9
数据操纵
数据库的保护功能
数据库的维护功能
数据字典
29. 简述数据的独立性。
物理数据独立性:如果数据库的内模式要修改,即数据库的屋里结构有所变化,那么只要对逻辑模式/内模式映像(即“对应性”)作相应的修改,可以使逻辑模式尽可能保持不变。
逻辑数据独立性:如果数据库的逻辑模式要修改,那么只要对外模式/逻辑模式映像作相应的修改,可以使外模式和应用程序尽可能的保持不变。
30. 简述并发操作带来的问题,如何解决?
丢失更新问题;读脏数据问题;不可重复读问题。
通常采用封锁技术加以解决。还可以采用时标技术来解决。
31. DBA的主要职责是什么?
1) 定义模式
10
2) 定义内模式
3) 与用户的联络,包括定义内模式,应用程序的设计,提供技术培训等专业服务。
4) 定义安全性规则,对用户访问数据库授权。
5) 定义完整性规则,监督数据库的运行。
6) 数据库的转储与恢复
32. 什么是视图?
视图是从若干基本表和其他视图构造出来的表。是外模式以及数据结构的基本单位。
33. 数据库系统包括哪几个主要组成部分?
数据库系统(DBS)由数据库(DB)、数据库管理员(DBA)、软件(数据库管理系统DBMS)、硬件组成。
34. 试述发生死锁的条件和消除死锁的常用方法。
系统中有两个或两个以上的事务都处于等待状态,并且对每个事务都在等待其中另一个事务接触封锁,它才能继续执行下去,结果造成任何一个事务都无法继续执行,这种现象称系统进入了“死锁”(Dead Lock)状态。
解除死锁的方法:抽取某个牺牲代价最小的事务作为牺牲品,把它撤销,做退回操作,
11
接触它所有的封锁,恢复到该事务的最初始状态。
35. 什么是触发器?触发器的动作时间有哪两种?
触发器(Trigger)是一个能由系统自动执行对数据库修改的语句。
触发器的动作时间:BEFORE、AFTER
36. 什么是数据库的完整性?DBMS的完整性子系统的主要功能是什么?
数据库的完整性(Integrity)一词是指数据的正确性(Correctness)、有效性(Validity)和相容性(Consistency),防止错误得数据进入数据库。
数据库完整性子系统的主要功能:
1、 监督事务的执行,并测试是否违反完整性规则。
2、 若又违反现象,则采取恰当的操作,例如,采用拒绝操作、报告违反情况、改正错误等方法来处理。
37. 试述数据库三级结构,说明三级结构的优点是什么。
数据库系统的三级模式:内模式、模式、外模式。
保证了数据与程序的物理独立性。
12
38. 数据恢复的基本原则是什么?具体实现方法是什么?P223
基本原则就是“冗余”,即数据库重复储存。
实现方法:1.平时做好两件事:转储和建立日志。
2.一旦发生数据库故障,分两种情况进行处理:
39. 简述数据库安全性与完整性的含义。
数据库安全性:指保护数据库以防止不合法的使用造成数据泄露、更改或破坏。
数据库的完整性(Integrity)一词是指数据的正确性(Correctness)、有效性(Validity)和相容性(Consistency),防止错误得数据进入数据库。
40. 什么是事务?事务的特性有哪些?P216 P218
事务(Transaction)是构成单一逻辑工作单元的操作集合,要么完整地执行,要么完全不执行。
特性:原子性、一致性、隔离性、持久性(ACID:Atomicity、Consistency、Isolation、Durability)
41. 实体型间的联系哪几种?并举例说明。
1:1联系,如:课程对应教科书(假设相同课程使用相同教科书)
13
1:M联系,如:教师对应学生
M:N联系,如:学生对应课程
42. 什么是死锁?死锁预防与诊断方法是什么?P230
系统中有两个或两个以上的事务都处于等待状态,并且对每个事务都在等待其中另一个事务接触封锁,它才能继续执行下去,结果造成任何一个事务都无法继续执行,这种现象称系统进入了“死锁”(Dead Lock)状态。
诊断方法:解除死锁的方法:抽取某个牺牲代价最小的事务作为牺牲品,把它撤销,做退回操作,接触它所有的封锁,恢复到该事务的最初始状态。
预防:
43. SQL中完整性约束有哪些?P235
域约束、基本表约束、断言。
44. 核心SQL由哪些部分组成?P76
数据定义语言、数据操纵语言、嵌入式SQL语言的使用规定、数据控制语言。
45. 事务的COMMIT操作和ROLLBACK操作各做些什么事情?P216
COMMIT语句表示事务执行成功地结束(提交),此时告诉系统,数据库要进入一个
14
新的正确状态,该事务对数据库的所有更新都已交付实施(写入磁盘)。
ROLLBACK语句表示事务执行不成功地将结束(应该“回退”),此时告诉系统,已发生错误,数据库可能处于不正确的状态,该事务对数据库所有更新必须被撤销,数据库应恢复到事务的初始状态。
46. 简述数据管理技术发展的三个阶段。各个阶段的特点是什么?P5
人工管理阶段:1)数据不保存在计算机内。2)没有专用的软件对数据进行管理。3)只有程序(Program)的概念,没有文件(File)的概念。4)数据面向程序。
文件系统阶段:1)数据以“文件”形式可长期保存在外部存储器的磁盘上。2)数据的逻辑结构与物理结构又了区别。3)文件组织已多样化。4)数据不再属于某个特定的程序。5)对数据的操作以记录为单位。
缺点:1)数据冗余(Redundancy)2)数据不一致(Inconsistency)3)数据联系弱(Poor Data Relationship)。
数据库阶段: 1)采用数据模型表示复杂的数据结构。2)有效高的数据独立性。3)数据库为用户提供了方便的用户结构。4)数据库系统提供了4方面的数据控制功能(数据库的恢复、数据库的并发控制、数据的完整性、数据安全性)。5)增加了系统的灵活性。
47. 关系模型的完整性规则有哪些?
1、 实体完整性规则——关系中元组的主键不能为空;
15
2、 参照完整性规则——外键必须是另一个表的主键的有效值或者是一个“空值”
3、 用户定义的完整性规则——反应某一具体应用锁设计的数据必须满足的语义要求。
48. 试述关系数据模型的优点。
关系数据模型具有结构单一、采用集合运算、数据完全独立、数学理论支持等优点。
49. 简述SQL语言的组成。P76
数据定义语言、数据操纵语言、嵌入式SQL语言的使用规定、数据控制语言。
50. 什么是封锁?封锁的基本类型有哪些?P226
封锁就是事务T在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,对其加锁。
基本类型:排他锁(Exclusive Locks,简记为X锁)
共享锁(Share Locks,简记为S锁)
51. 叙述数据库中死锁产生的原因和解决死锁的方法。P230
系统中有两个或两个以上的事务都处于等待状态,并且对每个事务都在等待其中另一个事务接触封锁,它才能继续执行下去,结果造成任何一个事务都无法继续执行,这种现
16
象称系统进入了“死锁”(Dead Lock)状态。
解决方法:解除死锁的方法:抽取某个牺牲代价最小的事务作为牺牲品,把它撤销,做退回操作,接触它所有的封锁,恢复到该事务的最初始状态。
17
因篇幅问题不能全部显示,请点此查看更多更全内容