数据库复试简答题汇总
数据库管理系统的主要功能是什么?
答:
数据定义、数据操纵、数据库的运行管理、数据库建立和维护
数据库系统的特点是什么?
答:
数据结构化;
数据共享性高、冗余度低且扩充;
数据独立性高;
数据由DBMS统一管理。
DBA的职责是什么?
答:
DBA负责全面管理和控制数据库系统的职责,具体有:
(1)决定数据库中要存放哪些信息;
(2)决定数据库的存储结构和存取策略;
(3)定义数据的安全性要求和完整性约束条件;
(4)监控数据库的使用和运行:转储数据、维护日志文件、故障恢复
(5)数据库的改进和重组重构:对运行情况进行记录、统计分析,以此来不断改进数据库设计。
和文件系统相比,数据库文件有什么优点?
答:
文件系统 数据库管理系统
文件系统管理 DBMS管理
面向某一应用 面向现实世界
共享性差,冗余度大 共享性高,冗余度小
独立性差 具有较高的物理独立性和逻辑独立性
记录内有结构,整体无结构 整体结构化,用数据模型描述
应用程序自己控制 由数据库管理系统提供数据安全性,完整性,并发控制和恢复能力
三级模式结构是什么?二级映射有什么优点?
答:
三级模式包括外模式、模式、内模式;
模式描述了数据库中全体数据的逻辑结构和特征;
外模式描述了用户可见的局部数据的逻辑结构和特征;
内模式描述了数据库的物理结构和存储方式。
外模式/模式映像的优点:当模式改变时,由DBA对外模式/模式映像做相应的改变,外模式可以保持不变。应用程序是根据外模式而编写的,因而应用程序不必修改,保证了数据与逻辑的而独立性,即数据的逻辑独立性;
内模式/模式映像的优点:当数据库的存储结构改变时,由DBA对模式/内模式映射作相应的改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,即数据的物理独立性。
关系模型中的完整性约束是哪几类?定义?
答:
实体完整性:关系模式中的主码不能为空值;
参照完整是:关系模式中的外码只能是空值或者另一关系模式的主码;
用户定义完整性:关系模式中针对某一属性的约束。
SQL的特点?
答:
综合统一。集DCL,DML,DDL功能于一体;
高度非过程化。使用SQL进行数据操作时,是需要提出“做什么”,而不需要指明怎么做;
面向集合的操作方式。操作的对象、查找结果都可以是元组的集合;
同一种语法结构提供多种使用方式。既可以作为独立的语言进行交互,又可以作为嵌入式语言嵌入到更高级的语言程序中进行操作;
语言简洁,易学易用。
什么是数据库操纵语言、什么是数据库控制语言,试举例说明
答:
数据操纵语言是指通过对表中的数据进行插入、删除和修改等操作,实现对数据库的基本操作。如:SELECT命令的作用是检查表的内容,UPDATE命令的作用是修改表等等。
数据控制语言是用来设置或者更改数据库用户或角色权限的语句,这些语句包括GRANT、REVOKE等语句。
*等值连接和自然连接的区别是什么?
答:
自然连接是等值连接的一种特殊情况;
等值连接要求连接的是值相等的分量,两个关系中可以没有相同的属性;进行自然连接的两个关系中必须有相同的属性。
等值连接不要求去掉重复属性列;自然连接时需要除掉重复的属性列。
*外连接是什么?
答:
外连接是指两个表在进行操作时,不仅返回符合连接和查询条件的元组,还返回不符合条件的一些元组;
左外连接是指返回左表中仅符合连接条件不符合查询条件的元组;
右外连接是指返回右表中仅符合连接条件不符合查询条件的元组;
全外连接是左外连接和右外连接去掉重复项的元组集并集。
索引的作用?和它的优点缺点是什么?
答:
当表的数据量比较大时,查询操作比较耗时,建立索引可以加快查询速度。
优点:加速查询速度;缺点:索引需要占一定的存储空间,且基本表更新时需要维护索引表。
索引和键有什么区别?
答:
索引是存储在数据库中的一个物理结构,是实际存在的,相当于一本书的目录;
键是一个逻辑概念,不是数据库中的物理部分。键分为主键和外键,主键相当于一本书中每个页的页码。
(扩展:聚簇索引:与基表的物理顺序相同,数据值的顺序总是按照顺序排列。)
数据库中常用的索引有哪些?
答:
B+树索引:B+树是对B树优化处理了的多路搜索树,与B树的区别在于,B树的每个结点都可以存储数据,而B+树只有叶子结点可以存储数据,且每个叶子结点都用链表链接。
在数据库的查询中一般都是批量查询数据,采用B+树一次查询多条时,确定首尾位置,便可以方便的确定多条数据位置,提高查询效率。
Hash索引:通过一定的算法计算出哈希值,然后映射出对应的数据存储位置。检索速度快,但是哈希值可能存在碰撞。
视图是什么?有何作用?
答:
视图是从一个或几个基本表中导出的表,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据。基本表中的数据发生变化时,从视图中查询出来的数据也就随之发生变化。
作用:
能够简化用户的操作;
使用户能以多种角度看待同一数据;
在一定程度上提供了数据的逻辑独立性;
能够对秘密数据提供安全保护;
利用可以更清晰的表达查询。
数据库的安全性是指什么?有哪些安全性技术?
答:
数据库的安全性是指保护数据库以恶意破坏和非法存取。
安全性技术:用户标识和鉴别、多层存取控制、审计、视图、数据加密。
存取控制是指什么?主要包括哪两部分?有哪两类方法?
答:
存取控制是指确保只授权给有资格的用户访问数据库的权限,且令所有未被授权的人员无法接近数据。
两个部分:定义用户权限和合法权限检查;
两种方法:
自主存取控制(DAC):用户对不同的数据库对象有不同的存取权限,不同的用户对同一对象也有不同的权限
强制存取控制(MAC):每一个数据库对象被标以一定的密级,每一个用户也被授予一定级别的许可证,只有具有合法许可证的用户才可以进行存取。
视图机制是如何对数据库实现安全性控制的?
答:
可以对不同的用户定义不同的视图,也就是说,通过视图机制把要保密的数据对无权存取的用户隐藏起来。
审计功能是如何对数据库实现安全性控制的?
答:审计功能是把用户对数据库的一系列操作自动记录到审计日志中,审计员可以利用审计日志监控数据库中的各种行为,找出导致数据库发生异常的事件。
数据库的完整性是指什么?
答:数据库的完整性是指防止数据库中存在不正确的数据。
什么是断言?
答:
断言是指更具有一般性的约束,断言创建后,任何涉及到断言中的关系的操作都会引发数据库对断言的检查,任何使断言为假的操作都会被拒绝执行。
什么是触发器?触发器的作用?
答:
触发器是用户定义在关系表上的一类由数据驱动的一类由事物驱动的特殊过程,类似于约束,但是比约束更灵活,是保证数据库完整性的一种方法。任何用户对表进行增删改操作都会有数据库服务器自动激活相应的触发器,对数据库进行相应的检查和操作。
规范化过程中,逐级依次消除了何种函数依赖?
答:
由INF到2NF,消除了非主属性对主属性的部分函数依赖;
由2NF到3NF,消除了非主属性对主属性的传递函数依赖;
由3NF到BCNF,消除了主属性对码的部分函数依赖和传递函数依赖。
数据库设计的基本步骤是什么?
答:
需求分析。了解和分析用户需求;
概念结构设计。对用户需求进行抽象和归纳,形成一个独立于DBMS的概念模型(E-R图);
逻辑结构设计。将概念结构转换为数据模型,通常为关系模型;
物理结构设计。为逻辑数据模型选取一个最适合存储结构和存取方法;
数据库实施阶段。编写数据库,编写和调试应用程序;
数据库运行和维护。正式投入运行。
概念模型有什么作用?
答:
概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。
合并E-R图时主要包括哪几种冲突?
答:
属性冲突。不同的实体对同一属性的定义不同;
命名冲突。同名异义、异名同义;
结构冲突。同一实体在不同的局部E-R图中有不同的抽象。
一个实体型转换为一个关系模式有哪几种情况?
答:
一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并;
一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并;
一个m:n联系可以转换为一个关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。
描述数据库对嵌入式SQL的处理过程
答:DBMS的预处理程序对源程序进行扫描,识别出嵌入式SQL语句,把他们转换成主语言调用语句,使得主语言编译程序可以识别它们,然后将它们编译成目标代码。
什么是存储过程?用什么来调用?
答:存储过程是个预编译的SQL语句集合,优点是可以建立非常复杂的查询,只需创建一次,在程序中即可多次调用,且比执行单纯的SQL语句要快。可以创建一个命令对象进行调用。
游标是什么?
答:系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。
关系数据库中查询处理的步骤是什么?每一步进行简要概括
答:
查询分析:对查询语句进行词法分析、语法分析(检查其是否正确);
查询检查:对合法的查询语句进行语义检查(语义检查就是检查其是否存有效)
查询优化:选择一个高效执行的查询处理策略;
查询执行:依据优化得到的执行策略生成查询执行计划,并生成相应的查询执行计划代码。
三条启发式优化规则包括哪几点?
答:
选择运算尽可能先做;
投影操作尽可能先做;
把笛卡尔积和附近的一连串选择和投影操作合并起来做。
事物是什么?ACID特性包括?
答:事物是数据库进行操作的一个基本单位。
ACID特性包括:
隔离性:一个事务的执行不能被其他事务所干扰;
原子性:事务是一个不可分割的单位,要么全做,要么全不做;
一致性:事务执行的结果必须使数据库从一个一致性状态变到另一个一致性状态;
永久性:一旦事务被提交,它对数据库的改变就是永久的。
为什么事务非正常结束时会影响数据库数据的正确性?
答:
事物具有一致性,事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。
数据库恢复的关键是什么?
答:关键是建立冗余数据;
数据库恢复的基本技术有哪些?
答:数据转储和登录日志文件是数据库恢复的基本技术。
数据转储是指DBA定期将数据库复制到其他介质上进行保存,这些备份的数据叫做后备副本;
登记日志文件,日志文件是用来记录事物对数据库进行更新操作的文件。
当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。
登记日志文件时为什么必须先写日志文件,后写数据库?
答:
把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。
如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。
用于数据库恢复的文件是什么?
答:日志文件、后备副本。
*数据库故障的种类有哪几种?相应的恢复策略是什么?
答:三种:事物故障、系统故障、介质故障;
事物故障是指事物在运行至终点前被中止;
事物故障恢复是由系统自动完成,利用日志文件撤销此事务已对数据库进行的修改;
系统故障是指造成系统停止运转的任何事件,使得系统要重新启动;
系统故障的恢复是在重新启动后系统自动完成,为了防止系统故障造成的数据不一致性,必须撤销故障时未完成的事物,重做已完成的事物;
介质故障是指磁盘上的物理数据和日志文件被破坏;
介质故障的恢复方法就是重装数据库,重做已经完成的事物。
在数据库中为什么要并发控制?
答:
数据库是共享资源,通常有多个事物在同时执行,当多个事物并发的存取数据库时就会存在同时读或写统一数据的情况,如果对并发操作不加控制,就会存在数据读取或存取错误,破坏数据库的一致性。
*并发造成的数据不一致性包括什么?
答:
丢失修改:A、B两个事物同时对一个数据进行操作,A的修改破坏了B的修改,导致B的修改丢失;
不可重复读:A读取了数据后,B对数据进行了修改,导致A无法再现前一次的读取结果;
读脏数据:A对数据进行了修改之后,B读入该数据,然后A又因为某一原因撤销了该修改,导致数据恢复原值,此时B读取的数据就成了脏数据。
*什么是锁?有哪两种锁?
答:锁是最常用的并发控制机构,是防止其他事务访问指定资源,实现并发控制的一种手段。
排他锁(X写锁):当数据被加上写锁,其他事务不能对该数据进行读和写;
共享锁(S读锁):当数据被加上读锁,允许其他事务对该数据进行读,不允许写。
*简要概括一、二、三级封锁协议
答:
一级封锁协议:事务在修改数据之前加写锁,直到事务结束才释放。该协议可以防止丢失修改;
二级封锁协议:在一级封锁协议的基础上,加上了事务在读取数据之前对其加读锁,读完后即可释放读锁。该协议避免了读脏数据;
三级封锁协议:在一级封锁协议的基础上,加上了事务在读取数据之前必须加上读锁,直到事务结束才释放。该协议解决了不可重复读问题。
数据库保护(访问)的内容有哪些?
答:
利用权限机制;利用完整性约束防止法数据进入数据库;提供故障恢复能力,提供并发访问控制。
触发器的作用?
答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。
什么是存储过程?用什么来调用?
答:存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。可以用一个命令对象来调用存储过程。
索引的作用?和它的优点缺点是什么?
答:索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。
什么是事务?什么是锁?
答:事务就是被绑定在一起作为一个逻辑工作单元的SQL语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。为了确保要么执行,要么不执行,就可以使用事务。要将有组语句作为事务考虑,就需要通过ACID测试,即原子性,一致性,隔离性和持久性。
锁:在所有的DBMS中,锁是实现事务的关键,锁可以保证事务的完整性和并发性。与现实生活中锁一样,它可以使某些数据的拥有者,在某段时间内不能使用某些数据或数据结构。当然锁还分级别的。
什么叫视图?游标是什么?
答:视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,试图通常是有一个表或者多个表的行或列的子集。对视图的修改不影响基本表。它使得我们获取数据更容易,相比多表查询。
游标:是对查询出来的结果集作为一个单元来有效的处理。游标可以定在该单元中的特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改。一般不使用游标,但是需要逐条处理数据的时候,游标显得十分重要。
DBMS是什么
数据库管理系统,(Database Management System)。数据库管理系统是数据库系统的核心,是管理数据库的软件。数据库管理系统就是实现把用户意义下抽象的逻辑数据处理,转换成为计算机中具体的物理数据处理的软件。有了数据库管理系统,用户就可以在抽象意义下处理数据,而不必顾及这些数据在计算机中的布局和物理位置。
数据库的三级模式
外模式 概念模式 内模式
1)外模式
对应数据库的升级、外模式包括(子模式 用户模式) 用来描述用户看到或者使用那部分的数据的逻辑结构,用户根据外模式用户数据操作语句或者程序去操作数据库中的数据,外模式的主要特点用来描述组成用户视图各个记录的组成、相互联系、数据的完整性和安全性、数据项的特征等。
2)概念模式
对应数据库的概念模式,概念模式(概念、逻辑模式)用以描述整个数据库中的逻辑结构、用来描叙现实生活中的实体,以及它们之间的关系、从而定义记录数据项的完整性约束条件以及记录之间的联系是数据项的框架
概念模式是数据库中全体数据的逻辑结构和特征的描叙是所有用户数据的公共数据视图。
3)内模式
内模式对应物理级数据库,内模式是所有模式中的最低层的表示,不同于物理层,假设外存是一个无限性的地址空间,内模式是存储记录的类型,存储域以及表示以及存储记录的物理顺序,指示元索引,和存储路径的等数据的存储组织从而形成一个完整的系统。
范式是什么,内容有那些
在设计数据库时,为了使其冗余较小、结构合理,设计数据库时必须遵循一定的规则。在关系型数据库中,这种规则被称为范数。范数是符合某一设计规则的总结。
第一范式(1NF)数据库表中的所有字段值都是不可分割的原子值
不符合第一范式举例:某数据是"中国的河北",这个是可以分割的,不符合原子性
第二范式(2NF)数据库表中的每一列都与主键完全相关,而不能只与主键的部分相关。
第三范式(3NF)数据库表中的每一列和主键直接相关,而不是间接相关。也就是属性不能传递依赖于主属性。
实际上还有一些范式,但是考试中一般不涉及,因为实在是太深了,一般设计数据库也不会死磕。这点应付考试差不多了。
1.什么是数据库?
答:数据库是长期存在计算机内、有组织的、可共享数据集合。
2.数据库管理系统的主要功能是什么?
答:数据定义、数据操纵、数据库的运行管理、数据库建立和维护
3.什么是数据库系统?
答:在计算机系统中引入数据库后的系统。它是由数据库、数据库用户、计算机软硬件、数据库管理员。
4.数据库系统的特点是什么?
答:
数据结构化;
数据共享性高、冗余度低且扩充;
数据独立性高;
数据由DBMS(Database manage system)统一管理。(两高一低)
5.DBA的职责是什么?
答:
DBA(DataBase administrator)负责全面管理和控制数据库系统的职责,具体有:
(1)决定数据库中要存放哪些信息;
(2)决定数据库的存储结构和存取策略;
(3)定义数据的安全性要求和完整性约束条件;
(4)监控数据库的使用和运行
(5)数据库的改进和重组重构
6.三级模式结构是什么?
答:
三级模式包括外模式、模式、内模式;
模式描述了数据库中全体数据的逻辑结构和特征;
外模式描述了用户可见的局部数据的逻辑结构和特征;
内模式描述了数据库的物理结构和存储方式。
7.二级映射有什么优点?
外模式/模式映像的优点:当模式改变时,由DBA对外模式/模式映像做相应的改变,外模式可以保持不变。应用程序是根据外模式而编写的,因而应用程序不必修改,保证了数据的逻辑独立性;
内模式/模式映像的优点:当数据库的存储结构改变时,由DBA对模式/内模式映射作相应的改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据的物理独立性。
8.什么是数据库系统的二级映像与数据独立性?
外模式/模式(逻辑独立性)、模式/内模式(物理独立性)
9.关系模型中的完整性约束是哪几类?定义?(重点)
答:
实体完整性:关系模式中的主码不能为空值;
参照完整是:关系模式中的外码只能是空值或者另一关系模式的主码;
用户定义完整性:关系模式中针对某一属性的约束。
10.什么是数据库操纵语言?什么是数据库控制语言?试举例说明。
答:
数据操纵语言是指通过对表中的数据进行插入、删除和修改等操作,实现对数据库的基本操作。如:SELECT命令的作用是检查表的内容,UPDATE命令的作用是修改表等等。
数据控制语言是用来设置或者更改数据库用户或角色权限的语句,这些语句包括GRANT、REVOKE等语句。
11.等值连接和自然连接的区别是什么?
答:
自然连接是等值连接的一种特殊情况;
等值连接要求连接的是值相等的分量,两个关系中可以没有相同的属性;进行自然连接的两个关系中必须有相同的属性。
等值连接不要求去掉重复属性列;自然连接时需要除掉重复的属性列。
12.外连接是什么?
答:
外连接是指两个表在进行操作时,不仅返回符合连接和查询条件的元组,还返回不符合条件的一些元组;
左外连接是指返回左表中仅符合连接条件不符合查询条件的元组;
右外连接是指返回右表中仅符合连接条件不符合查询条件的元组;
全外连接是左外连接和右外连接去掉重复项的元组集并集。
13.索引是什么?索引的作用?和它的优点缺点是什么?
答:
索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,当表的数据量比较大时,查询操作比较耗时,建立索引可以加快查询速度。
优点:加速查询速度;
缺点:索引需要占一定的存储空间,且基本表更新时需要维护索引表。
14.索引和键有什么区别?(重点)
答:
索引是存储在数据库中的一个物理结构,是实际存在的,相当于一本书的目录;
键是一个逻辑概念,不是数据库中的物理部分。键分为主键和外键,主键相当于一本书中每个页的页码。
15.数据库中常用的索引有哪些?
答:
B+树索引:B+树是对B树优化处理了的多路搜索树,与B树的区别在于,B树的每个结点都可以存储数据,而B+树只有叶子结点可以存储数据,且每个叶子结点都用链表链接。
在数据库的查询中一般都是批量查询数据,采用B+树一次查询多条时,确定首尾位置,便可以方便的确定多条数据位置,提高查询效率。
Hash索引:通过一定的算法计算出哈希值,然后映射出对应的数据存储位置。检索速度快,但是哈希值可能存在碰撞。
考研小tip:
其实考研复试就是考验学生短时间掌握知识的能力,不会很正常!如果被问到不会的问题,就回答和主题相关的一些知识,但是前提是要正确的哦。
16.视图是什么?有何作用?(我就被考了表和视图的区别是什么?视图的作用)
答:
视图是从一个或几个基本表中导出的表,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据。基本表中的数据发生变化时,从视图中查询出来的数据也就随之发生变化。
作用:
能够简化用户的操作;
使用户能以多种角度看待同一数据;
在一定程度上提供了数据的逻辑独立性;
能够对秘密数据提供安全保护;
利用可以更清晰的表达查询。
17.数据库的安全性是指什么?有哪些安全性技术?
答:
数据库的安全性是指保护数据库以恶意破坏和非法存取。
安全性技术:用户标识和鉴别、多层存取控制、审计、视图、数据加密。
18.存取控制是指什么?主要包括哪两部分?有哪两类方法?
答:
存取控制是指确保只授权给有资格的用户访问数据库的权限,且令所有未被授权的人员无法接近数据。
两个部分:定义用户权限和合法权限检查;
两种方法:自主存取控制(DAC):用户对不同的数据库对象有不同的存取权限,不同的用户对同一对象也有不同的权限。
强制存取控制(MAC):每一个数据库对象被标以一定的密级,每一个用户也被授予一定级别的许可证,只有具有合法许可证的用户才可以进行存取。
19.视图机制是如何对数据库实现安全性控制的?
答:
可以对不同的用户定义不同的视图,也就是说,通过视图机制把要保密的数据对无权存取的用户隐藏起来。
20.审计功能是如何对数据库实现安全性控制的?
答:审计功能是把用户对数据库的一系列操作自动记录到审计日志中,审计员可以利用审计日志监控数据库中的各种行为,找出导致数据库发生异常的事件。
21.数据库的完整性是指什么?
答:数据库的完整性是指防止数据库中存在不正确的数据。
22.什么是断言?
答:
断言是指更具有一般性的约束,断言创建后,任何涉及到断言中的关系的操作都会引发数据库对断言的检查,任何使断言为假的操作都会被拒绝执行。
23.什么是触发器?触发器的作用?
答:
触发器是用户定义在关系表上的一类由数据驱动的或由事物驱动的特殊过程,类似于约束,但是比约束更灵活,是保证数据库完整性的一种方法。任何用户对表进行增删改操作都会有数据库服务器自动激活相应的触发器,对数据库进行相应的检查和操作。
24、什么是第一范式、第二范式、第三范式?
答:
第一范式:实体中的某个属性不能有多个值或者不能有重复的属性。
第二范式:指每个表必须有主关键字,其他数据元素与主关键字一一对应。
第三范式:就是指表中的所有数据元素不但要能唯一地被主关键字所标识,而且它们之间还必须相互独立,不存在其他的函数关系。
25.在规范化过程中,逐级依次消除了何种函数依赖?
答:
由INF到2NF,消除了非主属性对主属性的部分函数依赖;
由2NF到3NF,消除了非主属性对主属性的传递函数依赖;
由3NF到BCNF,消除了主属性对码的部分函数依赖和传递函数依赖。
26.数据库设计的基本步骤是什么?
答:
需求分析。了解和分析用户需求;
概念结构设计。对用户需求进行抽象和归纳,形成一个独立于DBMS的概念模型(E-R图);
逻辑结构设计。将概念结构转换为数据模型,通常为关系模型;
物理结构设计。为逻辑数据模型选取一个最适合存储结构和存取方法;
数据库实施阶段。**编写数据库,编写和调试应用程序;
数据库运行和维护。正式投入运行。
27.概念模型有什么作用?
答:
概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具
28.合并E-R图时主要包括哪几种冲突?(E-R图的概念?)
答:
属性冲突。不同的实体对同一属性的定义不同;
命名冲突。同名异义、异名同义;
结构冲突。同一实体在不同的局部E-R图中有不同的抽象。
29一个实体型转换为一个关系模式有哪几种情况?
答:
一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并;
一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并;
一个m:n联系可以转换为一个关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。
30.描述数据库对嵌入式SQL的处理过程。
答:DBMS的预处理程序对源程序进行扫描,识别出嵌入式SQL语句,把他们转换成主语言调用语句,使得主语言编译程序可以识别它们,然后将它们编译成目标代码。
31.什么是存储过程?用什么来调用?
答:存储过程是个预编译的SQL语句集合,优点是可以建立非常复杂的查询,只需创建一次,在程序中即可多次调用,且比执行单纯的SQL语句要快。可以创建一个命令对象进行调用。
32.游标是什么?
答:系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。
33.关系数据库中查询处理的步骤是什么?每一步进行简要概括?
答:
查询分析:对查询语句进行词法分析、语法分析(检查其是否正确);
查询检查:对合法的查询语句进行语义检查(语义检查就是检查其是否存有效)
查询优化:选择一个高效执行的查询处理策略;
查询执行:依据优化得到的执行策略生成查询执行计划,并生成相应的查询执行计划代码。
34.三条启发式优化规则包括哪几点?
答:
选择运算尽可能先做;
投影操作尽可能先做;
把笛卡尔积和附近的一连串选择和投影操作合并起来做。
35.事物是什么?ACID特性包括?
答:事物是数据库进行操作的一个基本单位。
ACID特性包括:
1.Atomicity原子性:事务是一个不可分割的单位,要么全做,要么全不做;
2.Consistency一致性:事务执行的结果必须使数据库从一个一致性状态变到另一个一致性状态;
3.Isolation隔离性:一个事务的执行不能被其他事务所干扰;
4.Durability耐久性:一旦事务被提交,它对数据库的改变就是永久的。
36.为什么事务非正常结束时会影响数据库数据的正确性?
答:
事物具有一致性,事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。
37.数据库恢复的关键是什么?
答:关键是建立冗余数据;
38.数据库恢复的基本技术有哪些?
答:数据转储和登录日志文件是数据库恢复的基本技术。
数据转储是指DBA定期将数据库复制到其他介质上进行保存,这些备份的数据叫做后备副本;
登记日志文件,日志文件是用来记录事物对数据库进行更新操作的文件。
当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。
40.登记日志文件时为什么必须先写日志文件,后写数据库?
答:
把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。
如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。
41.用于数据库恢复的文件是什么?
答:日志文件、后备副本。
42.数据库故障的种类有哪几种?相应的恢复策略是什么?
答:三种:事物故障、系统故障、介质故障;
事物故障是指事物在运行至终点前被中止;
事物故障恢复是由系统自动完成,利用日志文件撤销此事务已对数据库进行的修改;
43.系统故障是指造成系统停止运转的任何事件,使得系统要重新启动?
系统故障的恢复是在重新启动后系统自动完成,为了防止系统故障造成的数据不一致性,必须撤销故障时未完成的事物,重做已完成的事物;
介质故障是指磁盘上的物理数据和日志文件被破坏;
介质故障的恢复方法就是重装数据库,重做已经完成的事物。
44.在数据库中为什么要并发控制?
答:
数据库是共享资源,通常有多个事物在同时执行,当多个事物并发的存取数据库时就会存在同时读或写统一数据的情况,如果对并发操作不加控制,就会存在数据读取或存取错误,破坏数据库的一致性。
45.并发造成的数据不一致性包括什么?
答:
丢失修改:A、B两个事物同时对一个数据进行操作,A的修改破坏了B的修改,导致B的修改丢失;
不可重复读:A读取了数据后,B对数据进行了修改,导致A无法再现前一次的读取结果;
读脏数据:A对数据进行了修改之后,B读入该数据,然后A又因为某一原因撤销了该修改,导致数据恢复原值,此时B读取的数据就成了脏数据。
46.什么是锁?有哪两种锁?
答:锁是最常用的并发控制机构,是防止其他事务访问指定资源,实现并发控制的一种手段。
排他锁(X写锁):当数据被加上写锁,其他事务不能对该数据进行读和写;
共享锁(S读锁):当数据被加上读锁,允许其他事务对该数据进行读,不允许写。
47.简要概括一、二、三级封锁协议.
答:
一级封锁协议:事务在修改数据之前加写锁,直到事务结束才释放。该协议可以防止丢失修改;
二级封锁协议:在一级封锁协议的基础上,加上了事务在读取数据之前对其加读锁,读完后即可释放读锁。该协议避免了读脏数据;
三级封锁协议:在一级封锁协议的基础上,加上了事务在读取数据之前必须加上读锁,直到事务结束才释放。该协议解决了不可重复读问题。
48.数据库保护(访问)的内容有哪些?
答:
利用权限机制;利用完整性约束防止法数据进入数据库;提供故障恢复能力,提供并发访问控制。