
「数据库系统概论」问答题总结
试述数据、数据库、数据库系统、数据库管理系统的概念。
答: 数据: 描述事物的符号记录称为数据。
数据的种类有文字、
图形、图像、声音、正文等等。数据与其语义是不可分的。数据库: 长期储存在计算机内、有组织的、可共享的大量数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
数据库系统: 是由数据库、数据库管理系统及其应用开发工具 、应用程序、数据库管理员组成的存储、管理、处理和维护数据的系统。
数据库管理系统:
是位于用户与操作系统之间的一层数据管理软件。用于科学地组织和存储数据、高效地获取和维护数据。DBMS 主要功能包括数据定义功能、数据操纵功能、
数据库的运行管理功能、数据库的建立和维护功能。DBMS由两大部分组成:查询处理器和存储管理器
数据库管理系统的主要功能有哪些?
答:其主要功能为:(参照模拟卷)
①数据库定义功能:DBMS提供数据定义语言(DDL)定义数据库的三级结构及其相互间的映像、完整性、安全控制等约束。
②数据库的操纵功能:DBMS提供数据操纵语言(DML)实现对数据库中数据的操作。
③数据库的保护功能:DBMS对数据库的保护主要通过数据库的恢复、数据库的并发控制、数据库的完整性控制、数据库的安全性控制等四个方面实现。
④数据库的存储管理:DBMS的存储管理子系统提供了数据库中数据和应用程序的一个界面,其职责是把各种DML语句转换成底层的系统命令,起到数据的存储、检索和更新功能。
⑤数据库的维护功能:DBMS中实现数据库维护功能的实用程序主要有数据装载程序、备份程序、文件重组织程序、性能监控程序。
⑥(存疑)数据字典(DD):数据库系统中存放三级结构定义的数据库称为数据字典,对数据库的操作都要通过访问DD才能实现。
什么是数据库系统的三级模式结构?这种体系结构的优点是什么?
答:通常 DBMS 把数据库从逻辑上分为三级,即外模式、模式和内模式,它们分别反映了看待数据库的三个角度。
外模式(子模式或用户模式):是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
模式(
Schema ):是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。内模式(存储模式或内视图):是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
什么是数据库的完整性?
答:数据库的完整性是指数据的正确性和相容性。
数据的正确性指数据是符合现实世界语义、反映当前实际状况的;
数据的相容性是指数据库同一对象在不同关系表中的数据是符合逻辑的。
数据库的完整性与安全性的区别
数据库的完整性 数据库的安全性 目的 为防止数据库中存在不符合语义的数据,防止不正确的数据 保护数据库防止恶意破坏和非法存取 防范对象 不合语义的、不正确的数据,防止它们进入数据库 非法用户和非法操作,防止他们队数据库数据的非法选取 什么是数据库的审计功能,为什么要提供审计功能?
答:审计功能是指DBMS的审计模块在用户对数据库执行操作的同时将所有操作自动记录到系统的审计日志中。
因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在。
利用数据库的审计功能, DBA 可根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容
等。删除被参照关系的元组时,系统可能采取的作法有:①级联删除;②受限删除;③置空值删除
参照关系中插入元祖时,系统可能采取的作法有:①受限插入;②递归插入
数据库设计的基本步骤以及各步骤的主要工作是什么?
答:
需求分析:准确了解与分析用户需求(包括数据与处理)。
概念结构设计:通过对用户需求进行综合、归纳与抽象,形成
一个独立于具体 DBMS 的概念模型。逻辑结构设计:将概念结构转换为某个 DBMS 所支持的数据
模型,并对其进行优化。数据库物理设计:为逻辑数据模型选取一个最适合应用环境的
物理结构(包括存储结构和存取方法)。数据库实施:设计人员运用 DBMS 提供的数据语言、工具及
宿主语言,根据逻辑设计和物理设计的结果建立数据库 ,编制与调试应用程序,组织数据入库,并进行试运行。数据库运行和维护:在数据库系统运行过程中对其进行评价、
调整与修改。
简述事务的性质。
答:原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发
执行的各个事务之间不能互相干扰。持续性(永久性):指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。
在数据库的恢复技术中,为什么要遵循日志文件的先写原则。
答: 把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。
有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。
如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,
在恢复时只不过是多执行一次 UNDO 操作,并不会影响数据库
的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。
什么样的并发调度才是正确的调度?
答:多个事务的并发执行是正确的,当且仅当其结果与 按某一次序串行地执行它们时的结果 相同,称这种调度策略为可串行化的调度。
并发操作会产生哪几类数据不一致?如何避免?
答:丢失修改:两个事务
T1 和 T2 读入同一数据并修改, T2 提交的结果破坏了(覆盖了) T1 提交的结果,导致 T1 的修改被丢失。不可重复读:指事务T1 读取数据后,事务 T2 执行更新操作,使 T1 无法再现前一次读取结果。
读“脏”数据:指事务 T1 修改某一数据,并将其写回磁盘,
事务 T2 读取同一数据后, T1 由于某种原因被撤销,这时 T1 已修改过的数据恢复原值, T2 读到的数据就与数据库中的数据不一致,则 T2 读到的数据就为“脏”数据,即不正确的数据。避免不一致性的方法和技术就是并发控制,其中最常用的是封锁技术。