数据库原理题库简答题答案定稿版
数据库原理考试题库及答案

数据库原理考试题库及答案选择题1.同一个关系模型的任意两个元组值(A)。
A. 不能全同B. 可全同C. 必须全同D. 以上都不是2.关系模式R中的属性全部是主属性,则R的最高范式必定是(B )。
A. 2NFB. 3NFC. BCNFD. 4NF3.下列哪个不是数据库系统必须提供的数据控制功能(B)。
A. 安全性B. 可移植性C. 完整性D. 并发控制4.若关系R的候选码都是由单属性构成的,则R的最高范式必定是( B )。
A. 1NFB. 2NFC. 3NFD.无法确定5.下列哪些运算是关系代数的基本运算( D )。
A. 交、并、差B. 投影、选取、除、联结C. 联结、自然联结、笛卡尔乘积D. 投影、选取、笛卡尔乘积、差运算6.SQL语句的一次查询结果是( D )。
A. 数据项B. 记录C. 元组D. 表7.在关系R(R#, RN, S#)和S(S#,SN, SD)中,R的主码是R#, S的主码是S#,则S#在R中称为( A )。
A. 外码B. 候选码C. 主码D. 超码8.在DBS中,DBMS和OS之间关系是(D)。
A. 并发运行B. 相互调用C. OS调用DBMSD. DBMS调用OS9.层次模型、网状模型和关系模型的划分根据是(D)。
A. 记录长度B. 文件的大小C. 联系的复杂程度D. 数据之间的联系10.下列哪个是单目运算( C )。
A. 差B. 并C. 投影D. 除法11.采用SQL查询语言对关系进行查询操作,若要求查询结果中不能出现重复元组,可在SELECT子句后增加保留字( A )。
A. DISTINCTB. UNIQUEC. NOT NULLD. SINGLE12.下列SQL语句中,能够实现“给用户teacher授予查询SC的权限”这一功能的是( A )。
A. GRANT SELECT on SC to teacherB. REVOKE SELECT on SC to teacherC. GRANT SELECT on TABLE to teacherD. REVOKE SELECT on TABLE to teacher13.设有关系S (SNO,SNAME,DNAME,DADDR),将其规范化到第三范式正确的答案是(B)。
数据库题库及答案精选全文完整版

可编辑修改精选全文完整版数据库题库及答案数据库技术是计算机科学中重要的一部分,广泛应用于各个领域。
为了更好地学习和理解数据库知识,题库是一个非常有用的资源。
本文提供一些常见的数据库题目及其答案,希望对读者的学习和实践有所帮助。
一、选择题1. 在关系数据库中,用于描述记录之间的关系的是:a) 表格b) 行c) 列d) 键答案:a) 表格2. 数据库管理系统(DBMS)的主要功能包括:a) 数据的存储和管理b) 数据的查询和分析c) 数据的备份和恢复d) 数据的安全性控制答案:a) 数据的存储和管理、b) 数据的查询和分析、c) 数据的备份和恢复、d) 数据的安全性控制3. 关系数据库中,用于唯一标识一条记录的属性被称为:a) 主键b) 外键c) 候选键d) 索引答案:a) 主键4. 数据库的范式用于描述数据库的结构是否符合某种规范。
以下哪一项不是数据库的范式:a) 一范式b) 二范式c) 三范式d) 四范式答案:d) 四范式5. 在SQL语句中,用于插入新记录的关键字是:a) SELECTb) UPDATEc) INSERTd) DELETE答案:c) INSERT二、填空题1. 在关系数据库中,每一行都代表一个________。
答案:记录2. 数据库中具有相同属性的记录集合被称为____________。
答案:表3. 在关系数据库中,用于检索某一部分记录的语句是________。
答案:SELECT4. 数据库设计中常用的三个范式依次是一范式、二范式和__________。
答案:三范式5. 数据库表中,用于唯一标识一条记录的属性被称为________。
答案:主键三、应用题1. 请列举至少三种数据库管理系统(DBMS)的类型,并简要描述它们的特点。
答案:关系型数据库管理系统(RDBMS):采用表格的形式组织数据,具有高度结构化和强一致性的特点。
常见的关系型数据库管理系统有MySQL、Oracle、SQL Server等。
数据库原理自考试题及答案

数据库原理自考试题及答案一、单项选择题(每题1分,共10分)1. 数据库管理系统(DBMS)是:A. 数据库B. 数据库应用系统C. 在用户与数据库之间建立接口的一组软件D. 用于数据库的编程语言答案:C2. 关系数据库中的“关系”是指:A. 数据库管理员B. 数据库中的表C. 表之间的关系D. 数据库的物理存储答案:B3. 在关系数据库中,实现表之间联系的机制是:A. 索引B. 主键C. 外键D. 视图答案:C4. 数据库的完整性约束主要包括:A. 实体完整性、参照完整性和用户定义完整性B. 主键、外键和唯一性C. 数据类型、数据大小和数据格式D. 安全性、可靠性和完整性答案:A5. SQL语言中的“视图”是指:A. 数据库中的图形界面B. 数据库中的一个表C. 基于SQL查询的虚拟表D. 数据库的物理存储答案:C6. 数据库设计中,规范化理论的主要目的是:A. 提高查询速度B. 减少数据冗余和提高数据完整性C. 增加数据存储量D. 提高数据库的安全性答案:B7. 在数据库中,事务的ACID属性不包括:A. 原子性B. 一致性C. 持久性D. 多样性答案:D8. 数据库恢复的基础是:A. 数据备份B. 日志文件C. 索引D. 数据库的完整性约束答案:B9. 分布式数据库系统与集中式数据库系统的主要区别在于:A. 数据的存储位置B. 数据库的大小C. 数据库的查询速度D. 数据库的安全性答案:A10. 数据库的并发控制主要解决的问题是:A. 数据的安全性B. 数据的一致性C. 数据的完整性D. 数据的备份和恢复答案:B二、多项选择题(每题2分,共10分)11. 在数据库中,以下哪些因素可能导致数据的不一致性?()A. 并发事务B. 事务故障C. 系统故障D. 非法访问答案:ABC12. 数据库设计应遵循的基本原则包括()A. 数据的逻辑一致性B. 数据的安全性C. 数据的可维护性D. 数据的最小冗余答案:ABCD13. SQL语言的特点包括()A. 数据集上的语言B. 面向集合的操作方式C. 易于学习D. 与数据库无关答案:ABC14. 在数据库中,以下哪些操作可能会破坏数据的原子性?()A. 事务的不完全执行B. 事务的过早中断C. 系统故障D. 非法访问答案:ABC15. 数据库的安全性要求包括()A. 用户身份的认证B. 数据的加密存储C. 数据的访问控制D. 数据的完整性答案:ABC三、简答题(每题5分,共20分)16. 简述数据库管理系统(DBMS)的主要功能。
数据库原理及习题答案

4.5 习题
一、选择题 1.消除了非主属性对码的部分函数依赖的 1NF 的关系模式,必定是( ) 。 A .1NF B.2NF C.3NF D.BCNF 2.已知关系模式 R(A,B,C,D,E)及其上的函数依赖集合 F={A→D,B→C,E→A},该 关系模式的候选码是( )。 A. AB B. BE C. CD D. DE 3.对于关系模型 R,如果 R 满足 2NF 的模式,则 R( )。 A.可能是 1NF B.必定是 1NF C.必定是 3NF D.必定是 BCNF 4.对 2NF 关系模式进行投影,消除原关系模式中的非主属性对码的传递函数依赖,将 2NF 关系模式转换成 N 个( )关系模式。 A . 1NF B.2NF C.3NF D.BCNF
A.1NF B.2NF C.3NF D.BCNF 8.下列不是 1NF 可能存在的问题 ( )。 A.更新异常 B.删除异常 C.插入异常 D.实体联系少 9.BCNF 符合 3NF,是对( )关系进行投影,将消除原关系中主属性对码的部分与传 递依赖,得到一组 BCNF 关系。 A .1NF B.2NF C.3NF D.BCNF 10.关系模式的候选码可以有 1 个或多个,而主码有( )。 A .1 个 B. 多个 C.0 个 D.1 个或多个 11.设 U 是所有属性的集合,X,Y,Z 都是 U 的子集, 若 X→→Y,则 X→→Z,其中 Z=U-X-Y,则这是多值依赖 ( ) 特性? A.对称性 B.传递性 C.特殊性 D.相反性 12.关系数据库规范化是为了解决关系数据库中的( )问题而引入的。 A.提高查询速度 B. 减少或消除插入异常、删除异常和数据冗余 C.保证数据的安全性和完整性 D.数据库管理的需要 13.关系的规范化中,各个范式之间的关系是( )。 A. 5NF 4NF BCNF 3NF 2NF 1NF B. 5NF 4NF BCNF 3NF 2NF 1NF C. 5NF 4NF BCNF 3NF 2NF 1NF D. BCNF 5 NF 4 NF 3NF 2NF 1NF 14.下列( )不属于分解规范化方法。 A.对 1NF 关系模式进行投影,消除原关系模式中的非主属性对码的部分函数依赖,将 1NF 关系模式转换成 N 个 2NF 关系模式。 B.对 2NF 关系模式进行投影,消除原关系模式中的主属性对码的传递函数依赖,将 2NF 关系模式转换成 N 个 3NF 关系模式。 C.对 3NF 关系模式进行投影,消除原关系模式中的主属性对码的部分函数依赖和传递 函数依赖,使决定因素都包含一个候选码,得到比 3NF 更高级别的 BCNF 关系模式。 D.对 BCNF 关系模式进行投影,消除关系模式中非平凡且非函数依赖的多值依赖,得 到一组 4NF。 二、填空题 1. 一个关系就是一个实体。客观事物之间彼此联系,这种联系包含两种联系:一是 ( )的联系,二是( )的联系。 2.在一个关系 R 中,若每个数据项都是不可再分割的,那么 R 一定属于( )。 3. 数据操作过程出现的操作异常是指 ( )、( )和 ( )。 4.若关系 R 为 1NF, R 中的每个非主属性都完全依赖于任意一个候选码,则称关系 R 是属于( )。 5.如果有一个关系模式属于 BCNF 范式,那么它一定属于( )范式。 6.如果 X→Y 和 X→Z 成立,那么 X→YZ 也成立,这个推理规则称为( )。 7.范式(normal form),它是英国人( )在 20 世纪 70 年代提出关系数据库模型后 总结出来的。 8. 若关系模式 R 是 2NF,R 中的每个非主属性对任何候选关键字都不存在传递依赖,
数据库系统原理练习题库(附参考答案)

数据库系统原理练习题库(附参考答案)一、单选题(共100题,每题1分,共100分)1.属于数据库结构设计阶段的是A、程序设计B、功能设计C、事务设计D、逻辑结构设计正确答案:D2.人工管理阶段,计算机主要应用于A、数据集成B、科学计算C、过程控制D、故障恢复正确答案:B3.下列关于数据控制语言的说法中,正确的是A、REVOKE语句用于授予权限B、GRANT语句用于收回权限C、数据控制语言主要用于数据执行流程管理D、数据控制语言包括的主要SQL语句是GRANT和REVOKE正确答案:D4.下列属于关联分析算法的是A、AprioriB、GMMC、RedisD、HBase正确答案:A5.同一数据被反复存储的情况是A、删除异常B、插入异常C、更新异常D、数据冗余正确答案:D6.产生数据不一致的主要原因是并发操作破坏了事务的A、持续性B、一致性C、原子性D、隔离性正确答案:D7.DBMS提供【】来严格地定义模式。
A、模式描述语言B、子模式描述语言C、内模式描述语言D、程序设计语言正确答案:A8.关系数据库以【】作为数据的逻辑模型。
A、二维表B、关系C、关系模型D、数据库正确答案:C9.关于调用存储过程的说法,错误的是A、可以从交互式界面调用B、可以使用CALL语句来调用存储过程C、可以由嵌入式SQL调用D、不是所有的SQL接口都能调用存储过程正确答案:D10.可唯一标识实体的属性集称为A、键B、实体型C、域D、属性正确答案:A11.目的是为可实际运行的应用程序设计提供依据与指导,并作为设计评价的基础的是A、设计评价B、编制应用程序设计说明C、模型转换D、子模式设计正确答案:B12.在使用游标的过程中,需要注意的事项不包括A、游标不能单独在查询操作中使用B、在一个BEGIN···END语句块中每一个游标的名字并不是唯一的C、游标是被SELECT语句检索出来的结果集D、在存储过程或存储函数中可以定义多个游标正确答案:B13.对关系的描述不正确的是A、关系中的元组次序可交换B、关系可以嵌套定义C、关系是一张二维表D、关系是一个集合正确答案:B14.下列关于MySQL的说法中,正确的是A、在MySQL中,一个关系对应多个基本表B、在MySQL中,一个或多个基本表对应一个存储文件C、在MySQL中,一个表只能有一个索引D、在MySQL中,索引不能存放在存储文件中正确答案:B15.关系数据库是以【】的形式组织数据。
数据库系统原理简答题 汇总

数据库系统原理简答题汇总第一章数据库系统概念1.请简述数据,数据库,数据库管理系统,数据库系统的概念?答:①数据:是描述事务的符号记录,是指用物理符号记录下来的,可以鉴别的的信息。
②数据库:是指长期储存在计算机中的有组织的,可共享的数据集合,且数据库中的数据按一定的数据模型组织,描述和存储,具有较小的冗余度,较高的数据独立性,系统易于扩展,并可以被多个用户共享。
③数据库管理系统:是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。
负责科学有效地组织和存储数据,并帮助数据库的使用者能够从大量的数据中快速地获取所需数据,以及提供必要的安全性和完整性等统一控制机制,实现对数据有效的管理与维护。
④数据库系统:是指在计算机中引入数据库技术之后的系统,一个完整的数据库系统包括数据库,数据库管理系统以及相关实用工具,应用程序,数据库管理员和用户。
2.请简述在数据管理技术中,与人工管理,文件系统相比数据库系统的优点/特点?答:①数据集成②数据共享性高③数据冗余小④数据一致性⑤数据独立性高⑥实施统一管理和控制⑦减少应用程序开发与维护的工作量3.请简述数据库系统的三级模式和两层映像含义?答:数据库的三级模式是指数据库系统是由模式、外模式和内模式三级工程的,对应了数据的三级抽象。
两层映像是指三级模式之间的映像关系,即外模式/模式映像和模式/内模式映像。
4.请简述关系模型与网状模型,层次模型的区别/特点?答:使用二维表结构表示实体及实体间的联系建立在严格的数学概念的基础上概念单一,统一用关系表示实体和实体之间的联系,数据结构简单清晰,用户易懂易用,存取路径对用户透明,具有更高的数据独立性、更好的安全保密性。
5.请简述数据库管理系统的功能?答:①数据定义功能②数据操纵功能③数据库的运行管理功能④数据库的建立和维护功能⑤数据组织存储和管理功能⑥其他功能:主要包括与其他软件的网络通信功能。
6.请简述数据库系统的组成?答:一个完整的数据库系统包括数据库,数据库管理系统以及相关实用工具,应用程序,数据库管理员和用户。
数据库简答题

三:简答题:1. 什么是数据库?答:数据库是长期存储在计算机内、有组织的、可共享的数据集合。
数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。
因此,数据库具有较小的冗余度,较高的数据独立性和易扩展性。
2. 什么是数据库的数据独立性?答:数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。
逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。
当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、数据之间联系的变更或增加新的数据类型等)时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。
物理数据独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念视图)和应用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方法独立。
3. 什么是数据库管理系统?答:数据库管理系统(DBMS)是操纵和管理数据库的一组软件,它是数据库系统(DBS)的重要组成部分。
不同的数据库系统都配有各自的DBMS,而不同的DBMS各支持一种数据库模型,虽然它们的功能强弱不同,但大多数DBMS的构成相同,功能相似。
一般说来,DBMS具有定义、建立、维护和使用数据库的功能,它通常由三部分构成:数据描述语言及其翻译程序、数据操纵语言及其处理程序和数据库管理的例行程序。
4. 什么是数据字典?数据字典包含哪些基本内容?答:数据字典是数据库系统中各种描述信息和控制信息的集合,它是数据库设计与管理的有力工具,是进行详细数据收集和数据分析所获得的主要成果。
数据字典的基本内容有:数据项、数据结构、数据流、数据存储和处理过程5个部分。
假设教学管理规定:①一个学生可选修多门课,一门课有若干学生选修;②一个教师可讲授多门课,一门课只有一个教师讲授;③一个学生选修一门课,仅有一个成绩。
学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。
数据库原理题库简答题答案精编WORD版

数据库原理题库简答题答案精编W O R D版 IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】大多数试题答案:https:///view/78cc25394b7302768e9951e79b89680203d86b3e.html 完整简答题答案:一、简答题1. 简述数据库系统的特点。
数据结构化数据的共享性高,冗余度低且易扩充数据独立性高数据由数据库管理系统统一管理和控制2. 数据库管理系统的主要功能有哪些?数据定义功能数据组织、存储和管理数据操作功能数据库的事务管理和运行管理数据库的建立和维护功能其他功能3. 什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性?物理独立性:用户的应用程序与数据库中数据物理存储是互相独立的逻辑独立性:用户的应用程序与数据库中数据库的逻辑结构是互相独立的。
4. 简述数据库系统的三级模式结构。
数据库系统的三级模式结构由外模式、模式和内模式组成。
外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
模式描述的是数据的全局逻辑结构。
外模式涉及的是数据的局部逻辑结构,通常是模式的子集。
内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。
为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。
5. 试述数据库系统的组成。
数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。
注:以下为详细组成:6. 简述文件系统与数据库系统的区别和联系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库原理题库简答题答案精编W O R D版 IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】大多数试题答案:https:///view/78cc25394b7302768e9951e79b89680203d86b3e.html 完整简答题答案:一、简答题1. 简述数据库系统的特点。
数据结构化数据的共享性高,冗余度低且易扩充数据独立性高数据由数据库管理系统统一管理和控制2. 数据库管理系统的主要功能有哪些?数据定义功能数据组织、存储和管理数据操作功能数据库的事务管理和运行管理数据库的建立和维护功能其他功能3. 什么叫数据与程序的物理独立性什么叫数据与程序的逻辑独立性为什么数据库系统具有数据与程序的独立性物理独立性:用户的应用程序与数据库中数据物理存储是互相独立的逻辑独立性:用户的应用程序与数据库中数据库的逻辑结构是互相独立的。
4. 简述数据库系统的三级模式结构。
数据库系统的三级模式结构由外模式、模式和内模式组成。
外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
模式描述的是数据的全局逻辑结构。
外模式涉及的是数据的局部逻辑结构,通常是模式的子集。
内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。
为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。
5. 试述数据库系统的组成。
数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。
注:以下为详细组成:6. 简述文件系统与数据库系统的区别和联系。
文件系统与数据库系统的区别(1)文件系统用文件将数据长期保存在外存上,数据库系统用数据库统一存储数据;(2)文件系统中的程序和数据有一定的联系,数据库系统中的程序和数据分离;(3)文件系统用操作系统中的存取方法对数据进行管理,数据库系统用DBMS统一管理和控制数据;(4)文件系统实现以文件为单位的数据共享,数据库系统实现以记录和字段为单位的数据共享。
文件系统和数据库系统之间的联系:(1)均为数据组织的管理技术;(2)均由数据管理软件管理数据,程序与数据之间用存取方法进行转换;(3)数据库系统是在文件系统的基础上发展而来的。
7. DBA的职责是什么?8. 关系代数的基本运算有哪些注:选择:a R(选择出若干满足条件a的元组)投影:∏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<U,F>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 等待几释放几上的锁。