数据库简答题
- 格式:docx
- 大小:15.40 KB
- 文档页数:3
数据库考试题及答案一、选择题(每题2分,共20分)1. 数据库管理系统(DBMS)的主要功能不包括以下哪项?A. 数据定义B. 数据操纵C. 数据备份D. 数据加密答案:D2. 在关系数据库中,关系是指什么?A. 数据库B. 表C. 列D. 行答案:B3. SQL语言中,用于查询数据的关键字是?A. SELECTB. INSERTC. UPDATED. DELETE答案:A4. 数据库系统的核心是?A. 数据库管理系统B. 数据库C. 数据库管理员D. 数据库应用系统答案:B5. 以下哪个不是数据库系统的特点?A. 数据共享B. 数据独立性C. 数据冗余度高D. 数据控制答案:C6. 以下哪个不是数据库的三级模式?A. 外模式B. 概念模式C. 内模式D. 物理模式答案:D7. 以下哪个不是数据库的完整性约束?A. 实体完整性B. 参照完整性C. 用户定义完整性D. 数据库完整性答案:D8. 在关系数据库中,表与表之间的联系是通过什么实现的?A. 索引B. 视图C. 外键D. 触发器答案:C9. 以下哪个不是数据库设计阶段?A. 需求分析B. 概念设计C. 逻辑设计D. 物理设计答案:A10. 数据库系统与文件系统相比,以下哪个不是数据库系统的优点?A. 数据冗余度低B. 数据独立性高C. 数据安全性高D. 数据共享性低答案:D二、填空题(每题2分,共20分)1. 数据库管理系统(DBMS)是位于用户与______之间的一层数据管理软件。
答案:操作系统2. 在关系数据库中,表中的行称为______。
答案:记录3. SQL语言中,用于删除数据的关键字是______。
答案:DELETE4. 数据库系统的核心是______。
答案:数据库5. 数据库的三级模式包括外模式、______和内模式。
答案:概念模式6. 数据库的完整性约束包括实体完整性、参照完整性和______。
答案:用户定义完整性7. 在关系数据库中,表与表之间的联系是通过______实现的。
数据库简答题数据库是一种用于存储和管理数据的系统。
它可以提供有效的数据组织和快速的数据访问。
下面是一些与数据库相关的简答题:1. 什么是数据库管理系统(DBMS)?数据库管理系统是一种软件,用于管理数据库的创建、使用和维护。
它提供了一种访问数据库的接口,并允许用户进行数据的插入、修改、删除和查询操作。
常见的DBMS包括MySQL、Oracle、SQL Server等。
2. 请解释什么是关系型数据库?关系型数据库是以表格形式组织数据的数据库。
它利用关系模型来描述数据之间的关系,表格中的每一行表示一个实体,每一列表示一个属性。
关系型数据库使用结构化查询语言(SQL)进行数据的管理和操作。
3. 什么是主键?它的作用是什么?主键是一种唯一标识表格中每一行数据的列。
它的作用是保证数据的唯一性和完整性,能够快速找到和区分每一条记录。
主键可以由一个或多个列组成,在表格中不能重复。
4. 请解释什么是外键?它的作用是什么?外键是一种用于建立表格之间关联关系的列。
它是另一张表格的主键,用来引用其他表格中的数据。
外键的作用是维护数据的完整性,确保相关表格之间的关系一致。
5. 什么是索引?它的作用是什么?索引是一种用于提高数据库查询效率的数据结构。
它类似于书的目录,可以快速定位和访问数据。
数据库查询时会先根据索引找到相关的数据位置,然后再进行数据的读取。
索引可以加快数据的查询速度,但同时也会增加数据的存储和维护成本。
6. 数据库的三范式是什么?为什么要遵循三范式?数据库的三范式是一种设计数据库的规范。
它包括第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。
遵循三范式可以提高数据库的设计和管理效率,降低数据冗余和数据不一致的风险。
- 第一范式(1NF)要求数据表格中的每一列都是不可再分的基本数据单元,每一行数据应为唯一。
- 第二范式(2NF)要求每个非主键列完全依赖于主键。
- 第三范式(3NF)要求非主键列之间不能存在传递依赖。
一.1.试述关系模型的参照完整性规则?参照完整性规则:若属性(或属性组)F 是基本关系R 的外码,它与基本关系S 的主码Ks 相对应(基本关系 R 和S 不一定是不同的关系),则对于 R 中每个元组在 F 上的值必须为:取空值(F 的每个属性值均为空值)或者等于 S 中某个元组的主码值。
评分标准:指明 F 是 R 的外码,与 S 的主码对应 1 分;参照完整性两条规则各 1分。
2.试述视图的作用?(1)视图能够简化用户的操作。
(1 分)(2)视图使用户能以多种角度看待同一数据。
(1 分)(3)视图对重构数据库提供了一定程度的逻辑独立性。
(1 分)(4)视图能够对机密数据提供安全保护。
(1 分)评分标准:意思表达正确即可给分。
3.登记日志文件时必须遵循什么原则?两条原则:(1)登记的次序严格按并发事务执行的时间次序。
(1 分)(2)必须先写日志文件,后写数据库。
(2 分)评分标准:意思表达正确即可给分二.1. 试述数据、数据库、数据库管理系统、数据库系统的概念。
数据:描述事物的符号记录。
(1 分)数据库:长期存储在计算机内的、有组织的、可共享的数据集合。
(1 分)数据库管理系统:是位于用户与操作系统之间的具有数据定义、数据操纵、数据库的运行管理、数据库的建立和维护功能的一层数据管理软件。
(1 分)数据库系统:在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。
(1 分)评分标准:四个基本概念各 1 分,意思表达正确即可给分。
2.说明视图与基本表的区别和联系。
视图是从一个或几个基本表导出的表,它与基本表不同,是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,这些数据存放在原来的基本表中,当基本表中的数据发生变化,从视图中查询出的数据也就随之改变(2 分)。
视图一经定义就可以像基本表一样被查询、删除,也可以在一个视图之上再定义新的视图,但是对视图的更新操作有限制(1 分)。
1.什么是数据的安全性?答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏2.什么是数据库的完整性?答:数据库的完整性是指数据的正确性和相容性。
3.数据库的安全性和完整性有什么关系?答:数据的完整性和安全性是两个不同的概念,但是有一定的联系。
前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出所造成的无效操作和错误结果。
后者是保护数据库防止恶意的破坏和非法的存取。
也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。
4.试述实现数据库安全性控制的常用方法和技术。
答:实现数据库安全性控制的常用方法和技术有:(1)用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。
每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。
(2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。
例如C2 级中的自主存取控制(DAC),B1级中的强制存取控制(MAC)。
(3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
(4)审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件, 找出非法存取数据的人、时间和内容等。
(5)数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。
5.什么是数据库的审计功能,为什么要提供审计功能?答:审计功能是指DBMS 的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。
因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在。
利用数据库的审计功能,DBA 可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
一、简答题1、数据库系统主要由哪四部分内容组成?答:(1)数据库(2)数据库管理系统(3)应用系统(4)数据库管理员2、关系的完整性约束条件有哪几种?答:实体完整性、参照完整性和用户定义的完整性。
*3、数据库领域有哪几种常用的逻辑数据模型?答:层次模型、网状模型、关系模型、面向对象模型和对象关系模型。
*4、什么是事务?事务的四个特性是什么?答:事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。
事务的四个特性是:原子性、一致性、隔离性、持续性。
*5.数据库设计的基本步骤。
答:数据库设计基本可以分为以下6步:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。
*6.并发操作带来的数据不一致性主要有哪些?答:主要有丢失修改、不可重复读和读脏数据。
*7、数据库系统中的故障主要有哪几类?答:事务内部的故障、系统故障、介质故障和计算机病毒。
*8、数据库系统中的数据独立性的内容及如何保证数据库中数据的独立性包括数据的逻辑独立性和物理独立性,其中逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,当数据的逻辑结构改变了,用户程序也可以不变,而用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的,当数据的物理存储改变时,应用程序不用改变。
数据独立性是通过DBMS的三级模式和二级映像来保证的。
9、如何进行系统故障的恢复?答:(1)正向扫描日志文件(即从头扫描日志文件)在故障发生前已经提交的事务放入Redo队列在故障发生时尚未完成的事务放入Undo队列(2)对Undo队列事务进行UNDO处理(3)对Redo队列事务进行REDO处理10、解释数据库的安全性及数据库安全的常用技术。
答:指保护数据库以防止不合法的使用所造成的数据泄露、更改和破坏。
常用技术有用户标识和鉴别、存取控制、视图和密码存储等。
二、数据库概念结构设计(E-R图)1、假设某公司的业务规则如下:公司下设几个部门,每个部门承担多个工程项目,每个工程项目属于一个部门。
数据库简答题整理版数据库原理简答题1.数据库系统阶段数据库系统的特点?(P3)典型特征包括:数据结构化,描述数据时不仅要描述数据本⾝还有描述数据和数据之间的联系;数据由数据库管理系统统⼀管理;数据的共享性⾼;数据独⽴性⾼,不会因为系统存储结构与逻辑结构的变化⽽影响应⽤程序,即保持物理独⽴性和逻辑独⽴性。
2.简述关系的完整性。
关系模型的完整性约束包括实体完整性、参照完整性、⽤户定义完整性。
关系的完整性:实体完整性——规定关系中的所有主属性不能为空,⽽不仅是整体不能为空NULL的含义(不知道或者⽆意义的值)。
参照完整性——外码、参照关系、被参照关系外码取值规则:要么为空,要么等于对应参照关系的某个主码值⽤户定义完整性——反映某⼀具体应⽤所涉及的数据必须满⾜的语义要求。
3.RDBMS在实现参照完整性时需要考虑哪些⽅⾯的问题,以及可以采取的策略?(1)外码能否接受空值(2)删除被参照关系中的元组。
这时可有三种不同的策略:级联删除:同时删除参照关系中相关元组;受限删除:仅当参照关系中没有任何元组的外码值与被参照关系中要删除元组的主码值相同时,系统才执⾏删除操作,否则拒绝此删除操作。
置空值删除:删除被参照关系的元组,并将参照关系中相应元组的外码值置空值。
( 3 ) 在参照关系中插⼊元组当参照关系插⼊某个元组,⽽被参照关系不存在相应的元组,其主码值与参照关系插⼊元组的外码值相同,这时可有以下策略:.受限插⼊:不允许在参照关系中插⼊;.递归插⼊:同时在被参照关系中插⼊⼀个元组,其主码值为插⼊元组的外码值。
4.试述数据模型的三个要素答:数据模型通常由数据结构、数据操作和完整性约束三部分组成。
①数据结构:是所研究的对象类型的集合,是对系统的静态特性的描述。
②数据操作:是指对数据库中各种对象(型)的实例(值)允许进⾏的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。
③数据的约束条件:是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,⽤以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
1.说出数据库系统有哪几部分组成?数据, 软件, 硬件, 人员2.试述SQL语言的功能。
SQL语言是一种数据库查询和程序设计语言, 用于存取数据以及查询更新和管理关系数据库系统。
3.SQL提供的基本数据类型有哪些?每种举两个例子。
1.数值型(int bit)2.字符串型(char vachar)3.日期时间类型(datetime small datetime)4.货币类型(money small money)5.简述Where子句与Having子句的区别。
Having是筛选组, 而where是筛选记录, 分组筛选的时候应having;其它情况用where, 视图定义以及基本表区别。
试图是一个或几个基本表(或试图)导出的表。
他与基本表不同, 是一个虚表, 可以和基本表一样能被查询, 被删除, 但对试图的增、删、改操作则有一定限制。
6.简述视图的定义以及与基本表的区别。
视图是一个或几个基本表(或试图)导出的表。
他与基本表不同, 是一个虚表, 可以和基本表一样能被查询, 被删除, 但对试图的增、删、改操作则有一定限制。
7.试叙述数据库系统的三级模式结构及二级映象功能。
三级模式结构: 外模式、模式、内模式二级映像是为了在内部实现三个模式所对应三个抽象层次的联系和转换。
8.简述数据库系统如何实现应用程序与数据物理独立性和逻辑独立性。
模式/内模式映像保证了数据的物理独立性, 将由内模式变化所带来的影响与概念模式隔离开来外模式/模式的映像保证了数据的逻辑独立性, 将由概念模式变化所带来的影响与外模式隔离开来9.试述数据库设计的基本步骤。
1.需求分析阶段2.概念结构设计阶段3.逻辑结构设计阶段4.数据库物理设计阶段5.数据库实施阶段6.数据库运行与维护阶段10.解释E-R图并说明其三要素。
实体、联系、属性。
实体: 现实世界可以区别于其他是对象的“事件”或“物件”联系: 实体各属性之间所具有的关系。
属性: 一个实体集所具有的共同性质。
第一章1.8. List four significant differences between a file-processing system and a DBMS.答:1.两者都包含了一系列的数据以及一些可用于操作数据的程序。
数据库管理系统能够协调该数据的物理结构以及逻辑结构。
而对于文件处理系统而言,只有物理结构。
2.数据库管理系统可以确保所有经授权访问的程序能够访问到数据的物理部分,因此可以减少数据冗余。
在文件处理系统中,当一个数据被一个程序所写入的时候,它有可能不能被另一个程序所读取。
3.数据库管理系统提供灵活的访问方法(例如查询),而文件处理系统则要按照事先确定的方法去访问数据(例如程序编译)4.数据库管理系统可以让多个用户在同一时间对同一数据进行操作。
而文件处理系统通常是允许一个或多个程序在同一时间访问不同的数据。
在文件处理系统中,当且仅当两个文件在同一时间对同一个文件进行只读操作时才能并发进行这个操作。
1.9 Explain the concept of physical data independence, and its importance in database systems.答:物理数据独立是指能够应用程序不受影响的情况下修改物理模式。
物理层的实现比较复杂,物理数据独立之后,当逻辑层需要修改某些数据的时候,就不需要设计复杂的物理结构,减轻了逻辑层的负担。
1.10 List five responsibilities of a database-management system. For each responsibility, explainthe problems that would arise if the responsibility were not discharged.答:1.与文件管理器进行交互。
如果没有了,数据库管理什么都做不了,包括数据存储以接受。
1、RDBMS的查询处理步骤:查询分析:判断查询语句是否符合SQL语法规则。
查询检查:语义检查,包括:关系名、属性名约束等。
查询优化:选择一个高效执行的查询处理数据策略。
查询执行:由查询策略生成查询计划,由代码生成器执行代码。
2、查询优化方法:代数优化:关系代数表达式的优化。
物理优化:指存取路径和底层操作算法的选择。
3、事务的四个特性:原子性:操作要么都做要么都不做。
一致性:事务执行的结果必须是一个一致性状态到另一个一致性状态。
隔离性:一个事务的执行不能被其他事务干扰。
持续性:一旦事务提交,它对数据库中数据的改变应是永久性的。
4、恢复技术能保证事务的哪些特性:原子性和一致性。
5、为什么要进行并发控制:为了充分利用系统资源,发挥数据库共享资源的特点,提高事务执行效率。
6、并发事务保证事务的一致性和隔离性。
7、基本的封锁类型:排它锁:若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。
保证其它事务在T释放A上的锁之前不能再读取和修改A。
共享锁:若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S 锁。
保证其它事务可以读取A,但在锁释放之前不能修改A。
8、事务的执行方式有哪些:串行执行;交叉并发方法(事务的并行操作轮流交叉运行);同时并发方式(同时运行多个事务)。
9、什么是两段封锁协议:指事务必须分两个阶段对数据项加锁和解锁。
(1)在对任何数据进行读写之前,首先要申请并获得对该数据的封锁。
(2)在释放一个封锁之后,事务不再申请和获得任何其他封锁。
10、数据库设计过程及每阶段成果:需求分析:分析报告及可行性报告。
概念结构设计:E-R图。
逻辑结构设计:优化数据模型物理结构设计数据库实行数据库运行和维护11、试述数据数据库,数据库管理系统,数据库系统的概念:数据是数据库中存储的基本对象。
数据库考试试题及答案一、选择题(每题2分,共20分)1. 数据库管理系统(DBMS)的主要功能不包括以下哪一项?A. 数据定义B. 数据操纵C. 数据传输D. 数据控制答案:C2. 在关系型数据库中,用于表示实体间一对多关系的是:A. 实体B. 关系C. 属性D. 域答案:B3. SQL语言中,用于创建新表的命令是:A. CREATE TABLEB. CREATE DATABASEC. ALTER TABLED. DROP TABLE答案:A4. 在数据库中,用于唯一标识每个元组的属性集称为:A. 外键B. 主键C. 候选键D. 非键属性答案:B5. 数据库设计中,将E-R图转换为关系模式的过程称为:A. 概念设计B. 逻辑设计C. 物理设计D. 数据定义答案:B6. 以下哪个选项不是数据库的完整性约束?A. 实体完整性B. 参照完整性C. 用户定义完整性D. 视图完整性答案:D7. 在关系型数据库中,用于选择数据的SQL语句是:A. SELECTB. INSERTC. UPDATED. DELETE答案:A8. 数据库的三级模式包括:A. 外模式、概念模式、内模式B. 概念模式、内模式、物理模式C. 外模式、内模式、物理模式D. 逻辑模式、物理模式、存储模式答案:A9. 数据库系统中,用于存储数据的文件称为:A. 数据文件B. 日志文件C. 索引文件D. 系统文件答案:A10. 数据库恢复的基础是:A. 数据备份B. 日志文件C. 事务日志D. 恢复日志答案:B二、填空题(每题2分,共20分)1. 数据库系统的核心是______。
答案:数据库管理系统(DBMS)2. 在关系型数据库中,关系是指一组具有相同______的行的集合。
答案:属性3. 数据库中的视图可以提供______。
答案:逻辑上的独立性4. 事务的四大特性通常被称为ACID,其中I代表______。
答案:隔离性5. 数据库的物理设计阶段主要考虑的是数据的______。
1. 什么是数据库?
答:数据库是长期存储在计算机内、有组织的、可共享的数据集合。
数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。
因此,数据库具有较小的冗余度,较高的数据独立性和易扩展性。
2. 什么是数据库的数据独立性?
答:数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。
逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。
当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、数据之间联系的变更或增加新的数据类型等)时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。
物理数据独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念视图)和应用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方法独立。
3. 什么是数据库管理系统?
答:数据库管理系统(DBMS)是操纵和管理数据库的一组软件,它是数据库系统(DBS)的重要组成部分。
不同的数据库系统都配有各自的DBMS,而不同的DBMS各支持一种数据库模型,虽然它们的功能强弱不同,但大多数DBMS的构成相同,功能相似。
一般说来,DBMS具有定义、建立、维护和使用数据库的功能,它通常由三部分构成:数据描述语言及其翻译程序、数据操纵语言及其处理程序和数据库管理的例行程序。
4. 什么是数据字典?数据字典包含哪些基本内容?
答:数据字典是数据库系统中各种描述信息和控制信息的集合,它是数据库设计与管理的有力工具,是进行详细数据收集和数据分析所获得的主要成果。
数据字典的基本内容有:数据项、数据结构、数据流、数据存储和处理过程5个部分。
、1·数据库设计一般分为哪几个阶段,每个阶段的主要任务是什么?
解答:(1)数据库设计分为6个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。
(2)各阶段任务如下:①需求分析:准确了解与分析用户需求(包括数据与处理)。
②概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体 DBMS 的概念模型。
③逻辑结构设计:将概念结构转换为某个 DBMS 所支持的数据模型,并对其进行优化。
④数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
⑤数据库实施:设计人员运用 DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运
行。
⑥数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。
1、什么是事务,事务有哪些特性?
答:事务是DBMS的基本工作单位,它是用户定义的一组逻辑一致的程序序列。
它是一个不可分割的工作单位,其中包含的所有操作,要么都执行,要么都不执行。
事务具有4 个特性:原子性(Atomicity )、一致性(consistency )、隔离性( Isolation )和持续性(Durability )。
这4 个特性也简称为ACID 特性。
原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
隔离性:一个事务的执行不能被其他事务干扰。
即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
持续性:持续性也称永久性(Perfnanence ) ,指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
接下来的其他操作或故障不应该对其执行结果有任何影响。
2、事务中的提交和回滚是什么意思?
答:事务中的提交(COMMIT)是提交事务的所有操作。
具体说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。
事务中的回滚(ROLLBACK)是数据库滚回到事务开始时的状态。
具体地说就是,在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的更新操作全部撤消,使数据库回滚到事务开始时的状态。
3、为什么要设立日志文件?
答:设立日志文件的目的,是为了记录对数据库中数据的每一次更新操作。
从而DBMS可以根据日志文件进行事务故障的恢复和系统故障的恢复,并可结合后援副本进行介质故障的恢复。
1、叙述数据库中死锁产生的原因和解决死锁的方法。
答:死锁产生的原因:封锁可以引起死锁。
比如事务T1封锁了数据A,事务T2封锁了数据B。
T1又申请封锁数据B,但因B被T2封锁,所以T1只能等待。
T2又申请封锁数据A,但A已被T1封锁,所以也处于等待状态。
这样,T1和T2处于相互等待状态而均不能结束,这就形成了死锁。
解决死锁的常用方法有如下三种:(1)要求每个事务一次就要将它所需要的数据全部加锁。
(2)预先规定一个封锁顺序,所有的事务都要按这个顺序实行封锁。
(3)允许死锁发生,当死锁发生时,系统就选择一个处理死锁代价小的事务,将其撤消,释放此事务持有的所有的锁,使其他事务能继续运行下去。
2、基本的封锁类型有几种?试叙述它们的含义。
答:基本的封锁的类型有排它锁(“X”锁)和共享锁(“S”锁)两种。
若事务T对数据A加上X锁,则只允许事务T读取和修改数据A,其他事务都不能再对A加任何类型的锁,直到T释放A上的锁。
若事务T对数据A加上S锁,则其他事务可以再对A加S锁,而不能加X锁,直到T 释放A上的锁。
3、什么是活锁?
如果事务 Tl 封锁了数据 R ,事务几又请求封锁 R ,于是几等待。
几也请求封锁 R ,当 Tl 释放了 R 上的封锁之后系统首先批准了几的请求,几仍然等待。
然后几又请求封锁R ,当几释放了 R 上的封锁之后系统又批准了几的请求……几有可能永远等待,这就是活锁的情形。
活锁的含义是该等待事务等待时间太长,似乎被锁住了,实际上可能被激活。