数据库基本原理简答题

并发控制就是多事务同时对DB操作的控制和管理。以正确的方式调度并发事务,使一个事物的执行不受其他事物的干扰,在数据库环境下,并发控制的主要方式是封锁机制,即加锁。常用的封锁有两种:排他型和共享型封锁。
并发控制带来的三类问题:丢失修改,不可重复读,读脏数据
并发控制
在数据库中为什么要并发控制?并发控制技术能保证事务的哪些特性?
数据库是一个共享资源,它允许多个用户同时并行地存取数据。若系统对并行操作不加控制,就会存取和存储不正确的数据,破坏数据库的完整性。并发控制的目的就是要以正确的方式调度并发操作,避免造成数据不一致性,使一个事务的执行不受其他事务的干扰。
事务的4个性质:原子性,一致性,隔离性,持久性
并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?
并发控制带来的三类问题:丢失修改,不可重复读,读脏数据。
一,二,三级封锁。
什么是封锁?基本的封锁类型有几种?试述它们的含义。
定义:事务T在对数据对象操作之前,先向系统发出请求,对该数据加锁。
功能:使事务T对该数据对象有一定的控制,在T释放它的锁之前,其他事务不能更新该数据对象。
种类:排他锁:若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加上任何类型的锁,直到T释放A上的锁为止。
共享锁:若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁为止。
如何用封锁机制保障数据的一致性?
DBMS在对数据进行读写操作之前首先对该数据执行·封锁操作,DBMS按照一定的封锁协议,对并发操作进行控制,使得多个并发操作有序地执行,就可以避免丢失修改,不可重复读,读脏数据等数据不一致性。
什么是活锁?试述它们的含义。
指某个事务永远处在等待状态,得不到执行的现象。
什么是死锁?请给出预防死锁的若干方法。
有两个或两个以上的事务处于等待状态,每个事务都在等待其中一个事务解除封锁,它才能继续执行下去,结果任何一个事务都没法执行。
预防方法:一次封锁法,顺序封锁法
什么样的并发调度是正确的调度?(可串行化)
DBMS对并行事务中个指令的安排执行是随机的,而不同的调度可能会产生不同的结果。
将所有事务串行执行的调度策略一定是正确的调度策略。
以不同的顺序串行执行事务也有可能会产生不同的结果,但由于不会将数据库置于不一致状态,所以都可认为是正确的。
请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁?
诊断方法:超时法,等待图法
解除方法:选择一个处理死锁代价最小的事务,将其撤销,释放此事务持有的所有锁,使其他事务能继续运行下去。
为什么要引进意向锁?意向锁的含义是什么?
为了提高对某个数据对象加锁时系统的检查效率。如果对一个结点加意向锁,则说明该结点的下层结点正在被加锁,对任一结点加基本锁,必须先对它的上层结点加意向锁,例如,对任一元组加锁时,必须先对它所在的数据库和关系加意向锁。
试述关系数据库管理系统查询优化的一般准则?
选择运算应尽可能先做(目的:减小中间关系)
在执行连接操作前对关系适当进行预处理(按连接属性排序 ,在连接属性上建立索引)
投影运算和选择运算同时做(目的:避免重复扫描关系)
将投影运算与其前面或后面的双目运算符结合(目的:减少扫描关系的遍数)
数据库故障
针对不同的故障,试给出恢复的策略和方法?
事务故障:利用日志文件撤销此事务已对DB的修改。步骤:反向扫描日志文件,查找事务的更新操作并执行其逆操作,继续扫描处理直到事务开始标记,恢复自动在DBMS中完成。
系统故障/软故障:利用日志文件撤销故障发生时未完成的事务,重做已完成的事务。步骤:正向扫描日志文件,找出故障发生前已提交的事务,将其标入重做队列。同时找出故障发生时未完成的事务,将其标入撤销队列,分别进行撤销和重做处理,在系统重启时自动完成。
介质故障/硬故障:利用后备副本重装DB,利用日志文件副本重做已完成的事务
计算机病毒
什么是数据独立性?数据库的视图机制与数据独立性存在何种联系?
数据独立性是指应用程序和数据之间相互独立、不受影响,即数据结构的修改不会引起应用程序的修改,数据独立性包括:物理数据独立性和逻辑数据独立性,物理数据独立性是指数据库物理结构改变时不必修改现有的应用程序,逻辑数据独立性是指数据库逻辑结构改变时不用改变应用程序.数据独立性是由DBMS的二级睁像功能来实现的,当整个系统要求改变模式时(增加记录类型、增加数据项,由DBMS对各个外模式/模式的映像做相应改变,从而保证了数据的逻辑独立性,当数据的存储结构改变时,由DBMS对模式/内模式的映像做相应改变,从而保证了数据的物理独立性。
视图对重构数据库提供了一定程度的逻辑独立性,通过建立一个视图使用户的外模式保持不变,用户的应用程序通过视图仍然能够查找数据;
数据字典理解及作用
数据字典的内容和作用是什么?
定义:系统中各类数据描述的集合。
内容:数据项,数据结构,数据流,数据存储,处理过程。
作用:对数据流图中的数据流和加工等进一步定义,从而完整地反映系统需求。
(1)供数据库管理系统快速查找有关对象信息。数据库管理系统在处理用户存取时要经常查阅数据字典中的用户表,子模式表和模式表等。
(2)供数据库管理员查询,以掌握整个系统的运行情况。
(3)支持数据库设计与系统分析。
数据字典的内容一般包括:数据项、数据结构、数据流、数据存储和加工过程。 
其作用是对系统中数据做出详尽的描述,提供对数据库数据的集中管理。
数据字典:是对系统中数据的详尽描述,它提供对数据库数据描述的集中管理。它的处理功能是存储和检索元数据,并且为数据库管理员提供有关的报告。 对数据库设计来说,数据字典是进行详细的数据收集和数据分析所获得的主要成果。 数据字典主要包括四个部分:数据项、数据结构、数据流、数据存储。
数据库设计
什么是数据库设计?
数据库设计是指对于一个给定的应用环境,提供一个确定的最优数据模型与处理模式的逻辑设计,以及一个确定的数据库存储结构与存取方法的物理设计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,又能被某个数据库管理系统所接受,同时能实现系统目标,并有效存取数据的数据库的过程。
试述数据库设计过程:需求分析,概念设计分析,逻辑结构分析,物理结构分析,数据库实施,数据库运行和维护。
试述数据库物理设计的内容和步骤
为逻辑数据模型选取一个最合适应用要求的物理结构的过程。
为关系模式选择存取方法,设计关系,索引等数据文件的物理存储结构。
步骤:确定数据库的物理结构,对数据库的物理结构进行评价。
试述数据库设计过程中形成的数据库模式
需求分析阶段的设计目标是什么?调查内容是什么?
需求信息的收集,分析整理和评审
其目的在于对系统的应用情况作全面详细的调查,确定企业组织的目标, 收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求,并把这些要求写成用户和数据设计者都能够接受的文档。
什么是数据库的概念结构?试述其特点和设计策略
特点:真实模型,易于理解,易于更改,易于向各种数据模型转换,独立于数据模型,独立于机器。
策略:自顶向下,自底向上,逐步扩张,混合策略。
规范化理论对数据库设计有什么指导意义
规范化理论为数据库设计人员判断关系模式优劣提供了理论标准,可用以指导关系数据模型的优化,用来预测模式可能出现的问题,为设计人员提供了自动产生各种模式的算法工具,使数据库设计工作有了严格的理论基础。
在概念设计阶段,已经把关系规范化的某些思想用作构造实体类型和联系类型的标准, 在逻辑设计阶段,仍然要使用关系规范化的理论来设计模式和评价模式。规范化的目的是减少乃至消除关系模式中存在的各种异常,改善完整性,一致性和存储效率。
规范化过程理解
一个低一级范式的关系模式通过模式分解可以转换为若干个高一级范式的关系模式的集合,该过程称为规范化。
方法:模式分解。
视图概念理解及作用
概念:视图是从一个或几个基本表导出的表,它与基本表不同,是一个虚表。数据库中只存放视图的定义,而不存放视图对应数据,这些数据仍存放在原来的基本表中。当基本表中的数据发生变化,从视图中查询出来的数据也就随之改变。视图一经定义就可以像基本表一样被查询,删除,也可以在一个视图之上再定义新的视图。
作用:
视图能够简化用户的操作。
视图使用户能以多种角度看待同一数据。
视图对于数据库的重构提供了一定程度的逻辑独立性。
视图能够对机密数据提供安全保护。
视图机制使系统具有三个优点:数据安全性、数据独立性和操作简便性。
实体完整性 参照完整性
实体完整性:关系中主码的值不能为空或部分为空。
参照完整性:如果关系R2的外码与关系R1的主码相对应,则外码X的每个值必须在关系R1中的主码的值中找到,或者为空值。
三级模式结构以及两级映像功能的理解
三级模式:外模式,模式,内模式。
外模式是对数据库用户所看到的局部数据逻辑结构和特征的描述。
模式是对DBA所看到的全局数据逻辑结构和特征的描述。
内模式是对系统程序员所看到的数据物理结构和存储方式的描述。
两级映像功能:
外模式/模式映像:保证了数据与程序的逻辑独立性。
模式/内模式映像:保证了数据与程序的物理独立性。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值