还剩24页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
数据库系统原理与实践题库及答案
1.简要说明数据、数据库、数据库管理系统和数据库系统的概念答数据数据库中存储的基本对象是数据Data,从计算机的角度来看,数据是指能够被计算机存储和处理的符号数据的表现形式多种多样,不仅有数字、文字,还可以是图形、图像和声音等数据库数据库是指长期存储在计算内的、有组织的、可共享的数据集合数据库管理系统数据库管理系统Database Management System,DBMS是专门用来管理数据库的计算机软件,以实现对数据库的统一管理和控制数据库管理系统是计算机系统的重要基础软件数据库系统数据库系统Database System,DBS是指引入数据库技术后的计算机系统一般由数据库、数据库管理系统及相关实用工具、应用系统和数据库管理员构成
2.数据管理技术的发展主要经历了哪几个阶段?答在应用需求的推动下,在计算机硬件、软件发展的基础上,数据管理技术经历了人工管理、文件系统和数据库系统3个阶段
3.与文件系统相比,数据库系统有哪些优点?答从文件系统到数据库系统,标志着数据管理技术的飞跃与人工管理和文件系统相比,数据库系统具有以下优点1数据结构化数据库系统实现了整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别在文件系统中,每个文件内部是有结构的,但文件与文件之间是毫无结构化的在数据库系统中,不仅数据内部实现了结构化,整体也是结构化的,数据之间具有联系,从而实现了数据的真正结构化2数据的共享性高、冗余度低,易扩充数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应用共享使用数据共享有利于减少数据冗余,节约存储空间;可以避免数据之间的不相容性与不一致性,且使系统易于扩充3数据独立性高数据库系统采用三级模式结构,三级模式之间形成两级映像,保证了数据具有较高的逻辑独立性和物理独立性答实体完整性:检查记录中的主键值是否唯一,检查主键的各个属性是否为空参照完整性:利用外键的将两个表中的相应元组联系起来对被参照表和参照表进行增加、删除和修改操作时都有可能破坏参照完整性,必须进行检查以保证这两个表的相容性.用户自定义完整性当往表中插入元组或修改元组的值时,关系数据库管理系统会自动检查定义的约束条件是否被满足,如果不满足则操作拒绝执行包括非空约束NOT NULL、唯一值约束UNIQUE、默认值约束DEFAULT和CHECK约束
3.在关系数据库系统中,当操作违反实体完整性、参照完整性和用户定义完整性约束条件时,该如何进行处理?答数据库管理系统若发现用户的操作违反了完整性约束条件将采取一定的动作,如拒绝NO ACTION执行该操作或级联CASCADE删除修改,设置为空值等方法以保证数据的完整性
4.什么是触发器?触发器有什么作用?答触发器是一种特殊的对象,其特殊性在于不需要用户调用执行,而是在用户对表中的数据进行UPDATE、INSERT或DELETE操作时自动触发执行触发器通常用于保证业务规则和数据完整性,其主要优点是用户可以用编程的方法来实现复杂的处理逻辑和商业规则,增强了数据完整性约束的功能第7章
1、解释下列名词函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、侯选码、主码、INF、2NF、3NF、BCNF、多值依赖、4NF、最小函数依赖集答函数依赖设RU是一个关系模式,U是R的属性集合,X和Y是U的子集对于RU的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数确定Y”或“Y函数依赖于X”,记作X-Y非平凡的函数依赖X-丫,但丫不是X的子集,则称X-Y是非平凡的函数依赖若不特别声明,总是讨论非平凡的函数依赖在关系模式RU中,如果X-Y,并且对于X的任何一个真子集X1都有则称Y完全函数依赖Full FunctionalDependency于X,记作X-L丫若X—Y,但Y不完全函数p依赖于X,则称Y部分函数依赖Partial FunctionalDependency于X,记作X—^Y在关系模式RU中,如果X-Y,Y—Z,且Y\X,则称Z传递函数依赖Transitive FunctionalDependency于X,记作如果关系模式R中不包含多值属性每个属性必须是不可分的数据项,则R满足第一范式First NormalForm,记作1NFO若RelNF,且每一个非主属性完全函数依赖于码,则Re2NFo R满足第二范式Second NormalForm,记作2NFO关系模式R U,F中若不存在这样的码X,属性组丫及非主属性Z ZcY使得X-Y,Y—Z成立,Y—X,则称R U,F e3NFo则R满足第三范式Third NormalForm,记作3NFO关系系模式RE1NF,对任何非平凡的函数依赖X—Y YX,X均包含码,贝IJRGBCNF多值依赖:设有关系模式RU,U是属性全集,X、Y、Z是U的子集,且Z=U-X-丫如果对RU的任一关系r,给定一对X,Z值,都有一组Y值与之对应,这组Y值仅仅决定于X值而与Z值无关,则称Y多值依赖于X,或X多值决定Y,记作X-Y第四范式:如果关系模式RE1NF,对于R的每个非平凡的多值依赖X-Y Y不包含在X中,X含有码,则R满足第四范式Forth NormalForm,记作RE4NF如果函数依赖集F满足下列条件,则称F为最小函数依赖集或最小覆盖
①F中的任何一个函数依赖的右部仅含有一个属性;
②F中不存在这样一个函数依赖X-A,使得F与F-{X—A}等价;
③F中不存在这样一个函数依赖X—A,X有真子集Z使得F-{X—A}U{Z-A}与F等价
2、已知关系模式RU,F,其中U={A,BCD,E},F二{AB-C,B―已C—E,EC—B,AC—B},求AB」答⑴令X={AB},X0=AB⑵在F中寻找尚未使用过的左边是AB的子集的函数依赖,结果是B-D所以X1=XOD=ABCD,显然X1KXO.3在F中寻找尚未使用过的左边是ABCD的子集的函数依赖,结果是C-E;所以X2=X1I=ABCDEO虽然X2WXQ,但F中寻找尚未使用过函数依赖的左边已经没有X2的子集,所以不必再计算下去,即AB+=ABCDE
3.关系模式RA,B,C,D,函数依赖集F={A—C,C-A,B-AC,D-AC,BD—A}1求出R的候选码;2求出F的最小函数依赖集;3将R分解为3NF,使其既具有无损连接性又具有函数依赖保持性答1R的候选码为BD;2将F中的函数依赖都分解为右部为单属性的函数依赖二F={A—CC-A,B-A,B-C,D-A,D-C,B D—A}3去掉F中冗余的函数依赖.判断A—C是否冗余.设G1={CTA,BTA,B—C,DTA,D-C,BD—A},得A G1+二A,「C不属于A G1+**-A-C不冗余判断C-A是否冗余.设G2={A~C,BTA,BTC,DTA,D—C,BDTA}得A G2+二C「A不属于C G1+**-C-A不冗余判断B-A是否冗余.设G3={AfC-A,B—C,Df AQ—CBD—A},得B G3+=BCA♦・・A属于⑻G3+B-A冗余判断B-C是否冗余.设G4={ATC,CTA,DTA,D-C,BD-A}得B G4+=B,「C不属于⑻G4+「.B-C不冗余判断D—A是否冗余.设G5={ATC,CTA,BTC,D—C,BDTA}得D G5+=DCA,「A不属于D G5+D-A冗余判断A—C是否冗余.设G6={A—GC-AB—CBD—A},得D G6+=D,「C不属于D G6+D—C不冗余判断BD—A是否冗余.设G7={A—CC—AB—CQ—C}得BD G7+=BDCA♦.・A不属于BD G7+...BD-A冗余F={ATCCfB—CQ—C}由于各函数依赖左部都为单属性故Fm={A—A,B—C,D-C}3T={AC,BC,DC,BD
4、指出下列关系模式是第几范式,并说明理由
①RX,Y,ZF={XY-Z}O答XY—Z是完全函数依赖,XY是码,是BCNF
②RX,Y,ZF={Y—Z,XZ—Y}答是3NF候选关键字为XY和XZ,所有属性都是主属性,不存在非主属性对候选关键字的传递依抄赖
③RX,Y,ZF={Y-Z,Y-X,X-YZ}答是BCNF候选关键字为X和Y,所有属性都是主属性,决定方都有候选关键字
④RX,Y,ZF={X—Y,Y—Z}答是2NF候选关键字为X,X-Y,Y-Z是传递函数依赖
5、现要建立关于系、学生、班级、学会等信息的一个关系数据库语义为一个系有若干专业,每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一个宿舍区,每个学生可参加若干学会,每个学会有若干学生描述学生的属性有学号、姓名、出生日期、系名、班号、宿舍区;描述班级的属性有班号、专业名、系名、人数、入校年份;描述系的属性有系名、系号、系办公室地点、人数;描述学会的属性有学会名、成立年份、地点、人数、学生参加某会有一个入会年份1请写出关系模式2写出每个关系模式的最小函数依赖集,指出是否存在传递依赖,在函数依赖左部是多属性的情况下,讨论函数依赖是完全依赖,还是部分依赖3指出各个关系模式的候选关键字、外部关键字,有没有全关键字答⑴关系模式如下学生SSno,Sname,Sbirth,Dept,Class,Rno班级CClass,Pname,Dept,Cnum,Cyear系DDept,Dno,Office,Dnum学会MMname,Myear,Maddr,Mnum2每个关系模式的最小函数依赖集如下A、学生S Sno,Sname,Sbirth,Dept,Class,Rno的最小函数依赖集如下:Sno一Sname,Sno-Sbirth,Sno—Class,Class—Dept,DEPT—Rno传递依赖如下由于Sno-Dept,而Dept—Sno,Dept-Rno宿舍区所以Sno与Rno之间存在着传递函数依赖由于Class—Dept,Dept—Class,Dept—Rno所以Class与Rno之间存在着传递函数依赖由于Sno—Class,Class—Sno,Class—Dept所以Sno与Dept之间存在着传递函数依赖B、班级CClass,Pname,Dept,Cnum,Cyear的最小函数依赖集如下Class—Pname,Class-Cnum,Class一Cyear,Pname—Dept.由于Class-Pname,Pname—Class,Pname—Dept所以Class与Dept之间存在着传递函数依赖C、系DDept,Dno,Office,Dnum的最小函数依赖集如下Dept—Dno,Dno—Dept,Dno—Office,Dno—Dnum根据上述函数依赖可知,Dept与Office,Dept与Dnum之间不存在传递依赖D、学会MMname,Myear,Maddr,Mnum的最小函数依赖集如下Mname^Myear,Mnamef Maddr,Mname—Mnum该模式不存在传递依赖⑶各关系模式的候选码、外部码,全码如下A、学生S候选码Sno;外部码Dept、Class;无全码B、班级C候选码Class;外部码Dept;无全码C、系D候选码Dept或Dno;无外部码;无全码D、学会M候选码Mname;无外部码;无全码
1.简述数据库设计过程答一般来说,按照规范化的设计方法,数据库设计可以划分为5个阶段需求分析阶段准确收集用户信息需求和处理需求,对收集的结果进行整理和分析,形成需求文档需求分析是整个设计活动的基础,也是最困难和最耗时的一步如果需求分析不准确或不充分,可能导致整个数据库设计的返工概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳和抽象,形成一个独立于具体数据库管理系统的概念模型逻辑结构设计阶段将概念结构转换为某个数据库管理系统所支持的数据库模型,并对其进行优化物理结构设计阶段为逻辑数据模型选取一个最适合应用环境的物理结构包括存储结构和存取方法实施、运行和维护阶段使用数据库管理系统提供的数据定义语言建立数据模式,并将实际数据载入数据库,建立真正的数据库;在数据库上建立应用系统,并经过测试、试运行后正式投入使用维护阶段是对运行中的数据进行评价、调整和修改
2.需求分析阶段的设计目标是什么?调查的内容是什么?答需求分析阶段的设计目标是通过详细调查,获取原有系统或手工作业的工作过程和业务逻辑,明确用户的各种需求,确定新系统的功能在用户需求分析过程中,除了充分考虑现有系统的需求外,还需要充分考虑系统将来可能的扩充和修改,从而让系统具有可扩充性调查的重点是数据和功能,通过调查、收集和分析,获取用户对数据库的如下要求1信息要求指用户需要从数据库中获得的内容与性质由信息可以导出数据要求,即数据库需要存储哪些数据2处理要求指用户要完成的数据处理功能,对处理性能的要求3安全性与完整性要求
3.数据字典的内容和作用是什么?答数据字典包括数据项、数据结构、数据流、数据存储和处理过程儿部分其中数据项是数据的最小组成单位,若干数据项可以组成一个数据结构数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容数据字典是进行详细的数据收集和数据分析所获得的主要成果它是关于数据库中数据的描述,在数据库设计中占有重要地位
4.什么是数据库的概念结构?简述其特点及设计步骤答数据的概念结构是指将在需求分析阶段所得到的应用需求抽象为信息世界的结构,以便更好、更准确地用某一数据库管理系统实现这些需求概念模型的主要特点是1能真实、充分反映现实世界、包括事务和事务之间的联系,能满足用户对数据库的处理要求,是现实世界的一个真实模型2易于理解,可以用它和不熟悉计算机的用户交换意见用户的积极参与是数据库设计的关键3易于更改,当应用环境和应用要求改变时容易对概念模型修改和扩充4易于向关系模型、层次模型、网状模型等转换设计步骤1第一步就是对需求分析阶段收到的数据进行分类、组织,确定实体、实体的属性、实体之间的联系类型,形成E-R图;2第二步将各子系统的分E-R模型图,然后将它们集成起来,得到全局E-R图E-R的集成一般需要为两步a合并解决各分E-R图之间的冲突,将分E-R图合并起来生成初步E-R图b修改和重构消除不必要的冗余,生成基本E-R图
5.什么是数据库的逻辑结构设计?简述其设计步骤答数据库的逻辑结构设计是指把概念结构设计阶段设计好的E-R模型转换为与选用数据库管理系统所支持的数据模型相符合的逻辑结构以关系模型为例,逻辑结构设计的主要步骤包括1将实体型和实体间的联系转换成关系模式;2根据应用需要适当修改、调整数据模型的结构,这就是模型的优化;3根据局部应用需求,结合具体关系数据库管理系统的特点设计用户的外模式即视图
6.简述数据库物理设计的内容和步骤答数据库物理设计的内容是为一个给定的逻辑结构选择一个最适合应用要求的物理结构数据库的物理结构设计包括两个步骤1确定数据库的物理结构,在关系数据库中主要是存储结构和存储方法2对物理结构进行评价,评价的重点是时间和空间效率
1.什么是T-SQL它与SQL是什么关系?答结构化查询语言Structured QueryLanguage,SQL因其功能丰富,面向集合的操作、使用方式灵活、语言简洁易学等特点,已成为关系数据库管理系统Relational DatabaseManagementSystem,RDBMS的主流查询语言和行业标准但各数据库厂商为了更好地完善其RDBMS产品,都对SQL标准做出了不同的解释、实现和扩展Transact-SQL简称T-SQL是微软Microsoft公司实现的SQL,并被广泛应用于Microsoft SQL Server中
2.T-SQL中包括哪些流程控制结构?请分别对它们的功能和用法加以说明答T-SQL中主要的流程控制结构包括1BEGIN-END定义语句块,这些语句块作为一组语句执行,允许语句块嵌套2BREAK跳出WHILE语句3CONTINUE新开始循环,CONTINUE关键字之后的任何语句将被忽略4GOTO label跳转到Gabel》处,并从标签位置继续执行GOTO语句和标签可在过程、批处理或语句块中的任何位置使用GOTO语句可嵌套使用5IF-ELSE条件分支语句当IF后面的判断条件为真时,则执行IF后面的语句或语句块,否则执行ELSE之后的语句或语句块6WHILE循环语句当WHILE后面的判断条件为真时,重复执行该语句7WAITFOR在达到指定时间或时间间隔之前,阻止执行批处理、存储过程或事务8RETURN返回语句从查询或过程中无条件退出,不执行RETURN之后的任何语句
3.简述游标的概念和使用流程答游标Cursor提供了一种对结果集进行一次一行或多行、向前或向后处理的机制,满足了应用程序的需求可以将游标看成一种指针,它可以方便地指向当前结果集中的任何位置并允许应用程序对当前指向的行进行相应的操作使用游标的基本流程包括以下5个步骤声明游标、打开游标、存取游标、关闭游标和释放游标
4.简述用户自定义函数的类型及定义语法答SQL Server支持3种用户自定义函数标量函数Scalar、内联表值函数inline-table-valued和多语句表值函数multi-statement table-valuedo1标量函数CREATE FUNCTION函数名[饱参数名[AS]参数数据类型匚默认值]}[,…n]]RETURNS返回值数据类型[AS]BEGIN函数体RETURN标量表达式END2内联表值函数CREATE FUNCTION函数名[他参数名[AS]参数数据类型匚默认值]}[,…n]]RETURNS TABLE[AS]RETURN[()SELECT语句口]
(3)多语句表值函数CREATE FUNCTION函数名([他参数名[AS]参数数据类型[二默认值]}[,…n]])RETURNS@返回变量名TABLE〈表定义〉[AS]BEGIN函数体RETURN标量表达式END
5.简述存储过程的概念及优点答在使用T-SQL语言编程中,可以将某些需要多次调用的实现某个特定任务的代码段编写成一个过程,将其保存在数据库中,并由SQLServer服务器通过过程名来调用它们,这些过程就称为存储过程使用存储过程有很多优点,具体如下
(1)实现了模块化编程一个存储过程可以被多个用户共享和重用,从而减少数据库开发人员的工作量
(2)存储过程具有对数据库立即访问的功能
(3)加快程序的运行速度存储过程只有在创建时进行编译,以后每次执行存储过程都不需要再重新编译
(4)可以减少网络流量一个需要数百行的T-SQL代码的操作可以通过一条执行存储过程的语句来执行,而不需要在网络中发送数百行代码
(5)可以提高数据库的安全性用户可以调用存储过程实现对表中数据的有限操作,但可以不赋予它们直接修改数据表的权限,这提高了表中数据的安全性
(6)自动完成需要预先执行的任务存储过程可以在系统启动时自动执行,而不必系统启动后再手动操作
1.简述查询优化在关系数据库系统中的重要性和可能性答查询优化在关系数据库系统中有着非常重要的地位关系数据库系统和非过程化的SQL之所以能够取得巨大的成功,关键是得益于查询优化技术的发展关系查询优化是影响关系数据库管理系统性能的关键因素优化对关系系统来说既是机遇又是挑战所谓挑战,是指关系系统为了达到用户可接受的性能必须进行查询优化由于关系表达式的语义级别很高,使关系系统可以从关系表达式中分析查询语义,提供了执行查询优化的可能性这就为关系系统在性能上接近甚至超过非关系系统提供了机遇
2.简述关系数据库管理系统查询优化的一般步骤答关系数据库管理系统查询优化一般包含代数优化和物理优化1代数优化是指SQL语句经过查询分析、查询检查后变换为查询树,然后基于关系代数表达式等价变换规则对查询树进行优化2物理优化代数优化改变查询语句中操作的次序和组合,但不涉及底层的存取路径实际上,对于每一种操作有多种执行这个操作的算法,有多条存取路径,对于一个查询语句有许多存取方案,它们的执行效率不同,其结果会相差很大,因此,仅仅进行代数优化是不够的物理优化就是要选择高效合理的操作算法或存取路径,求得优化的查询计划,达到查询优化的目标选择的方法可以是基于规则的启发式优化、基于代价估算的优化和两者结合的优化方法
3.假设关系RA,B和SB,C,D的情况如下R有20000个元组,S有1200个元组,一个块能装下40个R元组,能装下30个S元组,能装下20个RXS运算后的元组估算下列操作需要多少次磁盘块读写1R上没有索引,SELECT*FROM R2R中A为主码,A上有3层R+树索引,SELECT*FROM RWHERE A=10o3嵌套循环RXS4排序合并连接RXS,区分R与S在属性B上已经有序和无序的两种情况答1由于R上没有索引,且查询全部数据,需要使用全表扫描20000/40=500次2由于R上有主码索引,使用索引3查找索引+1取元组=4次3R的磁盘块数20000/40=500块,S的磁盘块数1200/30=40块假设连接操作可用内存总块数为K,连接的选择率为Frs选取S作为外表,使用嵌套循环,读取磁盘次数为40+500*40/K-1+%*40*500/204R的磁盘块数20000/40=500块,S的磁盘块数1200/30=40块假设连接操作可4数据由DBMS统一管理和控制数据库系统关于数据控制的功能几乎都由DBMS提供,主要包括数据的安全性保护、数据的完整性检查、并发控制和数据库恢复
4.什么是数据库系统的三级模式结构?数据库系统的三级模式结构如何形成两级映像?答数据库系统的三级模式结构是指数据库系统由外模式、模式和内模式三级构成1外模式又称用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一具体应用有关的数据的逻辑表示一个数据库可以有多个外模式2模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体应用程序无关一个数据库只有一个模式3内模式也称存储模式,它是数据库中数据的物理结构和存储方式的描述,是数据在数据库内部的表示方式一个数据库只有一个内模式三级模式之间提供两级映像,以实现这3个层次的联系与转换1外模式/模式映像外模式/模式映像定义了该外模式与模式之间的对应关系,对于每一个外模式,都有一个对应的外模式/模式映像2模式/内模式映像由于数据库只有一个内模式,所以模式/内模式映像是唯一的它定义了数据库的全局逻辑结构与存储结构之间的对应关系
5.什么是数据独立性?为什么说数据库系统中的数据具有较高的数据独立性?数据独立性包括数据的物理独立性和数据的逻辑独立性1物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的当数据的物理存储改变时,应用程序不用改变2逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的数据的逻辑结构改变了,用户程序可以不变数据库系统采用三级模式结构,在三级模式之间提供两级映像功能当模式改变时,由数据库管理员对各个外模式/模式映像做相应的改变,可使外模式保持不变,由于应用程序是依据数据的外模式编写的,可以不必修改,从而实现了程序与数据的逻辑独立性;当数据库的存储结构改变时,只需要通过改变模式/内模式映像保持模式不变,应用程序不必修改,从而实现程序与数据的物理独立性
6.简述数据库系统的组成用内存总块数为K,连接的选择率为Frs a如果R与S在属性B上已经有序,则读写磁盘的次数为40+500+葭*40*500在0b如果R与S在属性B上已经无序,则还需加上排序过程中读写磁盘的代价R排序的代价为2*500+2*500*log2500S排序的代表为:2*40+2*40*log240总读写磁盘次数为2*500+2*500*log2500+2*40+2M0*log240+40+500+葭*40*500/
204.查询网上商城bookstore数据库中已完成订单中包含的理工类图书的名称SELECT DISTINCTtitle FROMbook,orderinfo,orderBook WHEREbook.bookID=orderBook.bookID ANDorderinfo.orderID=orderBook.orderlD ANDorderinfo.orderState=,已完成AND book.categoryID=l试画出用关系代数表示的语法树,并用关系代数表达式优化算法对原始的语法树进行优化处理,画出优化后的语法树答用关系代数表示的语法树Fltitle CJlKOk.caregorylD-1I Qorlcrliii...QrdcrStatc\一;施I CJcrderln%,11弧40=匕1川%川、crd»rTD IX/\/orderinfo CJbook.booklD=order Book.bookID IX bookorderBook优化后的语法树Tltitle book第十一章:
1.在数据库中为什么要并发控制?并发控制技术能保证事务的哪些特性?答并发控制机制就是要用正确的方式调度并发操作,使一个用户事务的执行不受其他事务的干扰,从而避免造成数据的不一致性保证事务的原子性Atomic、一致性Consistency、隔离性Isolation和持久性Durability,这四个特性简称为ACID特性
2.并发操作可能产生哪几类数据不一致?用什么方法能避免各种不一致的情况?答可能产生的数据不一致有丢失修改,不可重复读,读“脏”数据.避免并发访问导致的数据不一致问题的主要技术有封锁、时间戳、乐观控制法和多版本并发控制等,而封锁是实现并发控制的常用技术
3.数据库的基本锁类型有哪几种?试述它们的含义?答:排它锁Exclusive Locks,X锁和共享锁Share Locks,S锁排它锁乂称写锁若事务r对数据对象A加上x锁,则只允许r读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到了释放A上的锁这就保证了其他事务在r释放A上的锁之前不能再读取和修改Ao共享锁又称读锁若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改
4.什么是三级封锁协议?事务的隔离级别都有哪些?答一级封锁协议是指,事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放事务结束包括正常结束COMMIT和非正常结束ROLLBACK o一级封锁协议可以防止丢失修改,并保证事务T是可恢复的二级封锁协议是指,在一级封锁协议的基础上增加事务7在读取数据R之前必须先对其加S锁,读完后即可释放S锁二级封锁协议除了防止丢失修改,还可进一步防止读“脏”数据三级封锁协议是指,在一级封锁协议的基础上增加事务7在读取数据R之前必须先对其加S锁,直到事务结束才释放三级封锁协议除了防止丢失修改和读“脏”数据外,还可进一步防止了不可重复读事务的隔离级别READ UNCOMMITTED读取数据不需要加S锁,这样就不会跟被修改的数据上的X锁冲突,READ COMMITTED该级别通过指定语句不能读取其他事务已修改但是尚未提交的数据值,禁止执行脏读REPEATABLE READ该级别包括READ COMMITTED,并且另外指定了在当前事务提交之前,其他任何事务均不可以修改或删除当前事务已读取的数据SERIALIZABLE该级别包括REPEATABLE READ,并增加了在事务完成之前,其他事务不能向事务已读取的范围插入新行的限制
5.为什么要引入意向锁?意向锁的含义是什么?答意向锁的含义是如果对一个结点加意向锁,则说明该结点的下层结点正在被加锁;对任一结点加锁时,必须先对它的上层结点加意向锁具有意向锁的多粒度封锁方法提高了系统的并发度,减少了加锁和解锁的开销,己经在实际的数据库管理系统产品中得到广泛应用第十二章
1、数据库系统发生的故障主要有哪几个类型答可以分为三类
1.事务故障、
2.系统故障
3.介质故障事务故障事务故障是由于程序执行错误而引起事务非预期的、异常终止的故障它发生在单个事务的局部范围内,实际上就是程序的故障有的事务故障可以通过事务程序本身发现系统故障若系统在运行过程中版,由于某种原因,造成系统停止运行,以致事务在执行过程中以非正常的方式终止,这是内存中的信息丢失,而存储在外存上的数据未受影响,这种情况称为系统故障介质故障介质故障是指外存储设备故障,主权要有磁盘损坏,磁头碰撞盘面,突然的强磁场干扰,数据传输部件出错,磁盘控制器出错等
2、简述数据库恢复的基本原理答要使数据库具有可恢复性,基本原理就是“冗余”,即数据的重复存储数据库恢复实现方法1数据转储dump转储是指DBA将整个数据库复制到磁带或另一个磁盘上保存起来的度过程这些备用的数据文本称为后备副本或后援副本发生故障,可以将后备副本重新装入⑵建立“日志”文件loggingo日志文件是用来记录事务对数据库的更新操作的文件对于数据库的每次插入、删除或修改,记下改变前后的值,写到““日志”文件,以便有案可查
3、数据转储有哪几种类型?答数据转储是数据库恢复中采用的基本技术所谓转储即DBA定期地将数据库复制到磁带或另一个磁盘上保存起来的过程当数据库遭到破坏后可以将后备副本重新装入,将数据库恢复到转储时的状态有以下几种类型静态转储在系统中无运行事务时进行的转储操作,如上图所示静态转储简单,但必须等待正运行的用户事务结束才能进行同样,新的事务必须等待转储结束才能执行显然,这会降低数据库的可用性动态转储指转储期间允许对数据库进行存取或修改动态转储可克服静态转储的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行但是,转储结束时后援副本上的数据并不能保证正确有效因为转储期间运行的事务可能修改了某些数据,使得后援副本上的数据不是数据库的一致版本为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件这样,后援副本加上日志文件就能得到数据库某一时刻的正确状态海量转储是指每次转储全部数据库增量转储指每次只转储上一次转储后更新过的数据从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来更简单些但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效
4、登记日志文件时为什么必须先写日志文件,后写数据库?答先写日志文知件为保证数据库的可恢复性,日志文件能够用来进行事务故障恢复、系统故障恢复,并能够协助后备副本进行介质故障道恢复当数据库文件毁坏后,可重新装入后援副本把数据库恢复到转储结束时刻的正确状态,再利用建立的日志文件,可以把已完成的事务进行重做处理,而对于回故障发生时尚未完成的事务则进行撤消处理,这样不用运行应用程序就可把数据库恢复到故障答前某一时刻的正确状态
1.简述ODBC体系结构各组成部分及其作用答ODBC体系结构主要包括1应用程序接受用户查询并调用ODBC函数,执行该查询,最终获取检索结果2Driver Manager根据应用程序加载并卸载驱动程序,处理ODBC函数调用或把它们传送到驱动程序3驱动程序处理ODBC函数调用,提交SQL请求到一个指针的数据源,并把结果返回给应用程序4数据源包括用户要访问的数据及相关的操作系统、DBM及用于访问DBMS的网络平台
2.简述基于ODBC应用程序的一般工作流程答基于ODBC应用程序的一般工作流程包括连接至数据源、初始化、建立和执行SQL语句、获取结果集、断开连接
3.什么是JDBC JDBC的主要功能是什么?答JDBC JavaDatabase Connectivity是由Java语言编写、用于执行SQL语句的应用程序编程接口主要功能为数据库开发人员提供了标准的Java API进行数据库应用程序的开发
4.简述JDBC提供的连接数据库的几种方法答DBC提供的连接数据库的方法主要包括JDBC-ODBC桥驱动、本地API驱动、网络协议驱动和本地协议驱动1JDBC-ODBC桥驱动将JDBC对数据库的操作转换为ODBC操作,从而实现JDBC对数据库的访问2本地API驱动在客户端利用数据库厂商提供的本地应用程序接口API,将JDBC调用转换为标准的数据库调用,从而实现Java对数据库的访问3网络协议驱动这类驱动程序是用纯Java实现的,基于网络中间件服务器的Java数据库访问驱动程序JDBC先将对数据库的访问发送到网络中的中间件服务器,然后由中间件服务器转换为符号规范的数据库调用并传递给数据库服务器,从而实现Java对数据库的访问4本地协议驱动这类驱动同样是用纯Java实现的,用于将JDBC直接转换为符合规范数据库访问请求,即在客户端直接访问数据库服务器基于本地协议的JDBC驱动程序不需要在客户端加载任何程序,可以根据需要对不同数据库的驱动程序进行下载以支持对数据库的访问
5.简述编写JDBC程序的一般过程答编写JDBC程序的一般过程加载驱动程序、建立数据库连接、执行数据库操作、关闭连接
6.ADO.NET的体系结构包括哪些对象,它们具有哪些功能?答ADO.NET的体系结构主要包括以下对象1Connection对象提供了到数据源的连接;2Command对象用来执行SQL语句或调用存储过程;3DataReader对象执行SQL语句并且得到结果集时,可以调用Command对象的ExecuteReader对象,调用该方法将产生一个DataReader对象的实例DataReader对象只能向前读取数据源中的数据4DataAdapter对象可以对数据源执行插入、删除、修改等各种操作,通常与DataSet对象协同工作,负责将数据源中的数据填充到DataSet对象中
7.简述ADO.NET应用程序的主要设计步骤答主要步骤实例化Connection对象、打开数据库连接、构造Command对象、构造DataReader对象执行相应操作或构造DataAdapter对象填充DataSet、关闭连接第14章
1.什么是ORM框架技术?它的主要作用和技术实现原理是什么?答ORM技术是随着面向对象的软件开发方法发展而产生的,主要实现关系数据库与业务实体对象之间的映射ORM技术是在对象和关系之间提供了一条桥梁,应用程序中的对象型数据和数据库中的关系型的数据通过这个桥梁来相互转化ORM框架采用元数据来描述对象一关系映射细节,元数据主要有两种形式一种采用XML格式,在专门的XML配置文件中存放实体对象和数据库表的映射关系一种采用声明注解的方式(C#的Attribute、Java的Annotation),在实体对象的声明中,加入注解描述对象与数据库关系表的映射的关系通过以上形式提供的持久化类与表的映射关系,ORM框架在运行时就能参照对象与关系表的映射信息,自动地从关系表读取对象信息,并把对象的修改持久化到关系数据库中,完成面向对象编程语言和关系型数据库的映射
2.Java和.net两大技术阵营的ORM框架技术有哪些?答Java系列Apache OJB、Cayenne、Jaxor HibernateiBatis^jRelationalFramework mirageSMYLETopLink等.Net系列Entity FrameworksNhibernate Nbear^Castle ActiveRecordiBATIS.NET、DAAB等
3.Hibernate ORM框架的主要组件及其作用?答Session Factory(会话工厂类),Session(会话),Persistent Object(持久化对象),Transient Object(瞬态对象和脱管对象),Transaction(事务),Connection Provider(连接工厂)Transaction Factory(事务工厂)
4.HibernateORM框架实现对象/关系映射涉及配置文件有哪些,它们的作用是什么?答映射类(Persistent Objects)它的作用是描述数据库表的结构,表中的字段在类中被描述成属性,将来就可以实现把表中的记录映射成为该类的对象映射文件(XMLM叩ping)它的作用是指定数据库表和映射类之间的关系,包括映射类和数据库表的对应关系、表字段和类属性类型的对应关系以及表字段和类属性名称的对应关系等数据库配置文件(Hibernate.properties)它的作用是指定与数据库连接时需耍的连接信息,比如连接哪种数据库、登录用户名、登录密码以及连接字符串等
5.Entity FrameWork有哪3种开发方式?答Database-First(数据库优先),Model-First(模型优先),Code-First(代码优先)
6.Entity FrameWork中DbContext类和Entity类的主要作用是什么?答DbContext是EntityFramework重要的组成部分,连接域模型与数据库的桥梁,是与数据库通信的主要类Entity Framework的实体类是简单C#类型,称为POCO Entity,它不依赖于任何Framework的类,为Entity DataModel生成CRUD命令服务第15章
1.本章的案例程序采用MVC框架技术,MVC框架的特点是什么,有什么优势?答MVC是一种软件设计典范,它采用业务逻辑和数据显示代码分离的方法,将业务逻辑放在一个部件里面,而将界面以及用户围绕数据展开的操作单独分离开来MVC减弱了业务逻辑接口和数据接口的耦合,以及让视图层更富有变化
2.本章案例中MVC三层各用什么技术实现,这些技术的在框架中的作用是什么?答统视图层采用JSP技术,包括EL表达式、JSP动作、JSTL标准标签技术;控制层采用Servlet技术,解析用户的操作请求,封装数据将用户的操作传递到业务逻辑层,并根据操作结果确定哪个视图来展示;业务逻辑层采用JavaBean技术,封装了业务逻辑和数据库相应的操作;各层使用值对象(Model类)传递业务数据
3.为展示软件开发的过程本案例采用几种图表,它们的作用各是什么?答用例图作用业务需求分析分析;E-R图数据库的概念模型;数据库关系图数据库的数据库逻辑模型;模块划分图:软件结构设计等答数据库系统是引入数据库技术的计算机系统,一般由数据库、数据库管理系统(及相应的实用工具)、应用程序和数据库管理员组成数据库是按照一定的组织形式保存在某种存储介质上的数据集合;数据库管理系统是管理数据库的专门软件;应用程序是指以数据库中的数据为基础的程序;数据库管理员负责整个数据库系统的正常运行
7.DBA的主要职责是什么?答负责整个系统的正常运行,负责保证数据库安全可靠地运行第二章
1、什么是概念模型?简述概念模型的作用答概念模型,也称信息模型,是按用户的观点来对数据和信息建模,主要用于数据库设计概念模型实际上是现实世界到机器世界的一个中间层次概念模型用于信息世界的建模,是现实世界到信息世界的一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户进行交流的语言
2、请简述数据模型的三要素答三要素是数据结构、数据操作、数据约束数据结构是所研究的对象类型的集合这些对象是数据库的组成成分,数据结构指对象和对象间联系的表达和实现,是对系统静态特征的描述数据操作是对数据库中对象的实例允许执行的操作集合,主要指检索和更新(插入、删除、修改)两类操作数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言数据操作是对系统动态特性的描述数据完整性约束是一组完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确性、有效性和相容性
3、目前数据库领域中,常见的数据模型有哪些?请简述各模型的优缺点数据库领域中最常用的逻辑模型有层次模型(树状图)、网状模型(网,图)、关系模型答层次模型优点
1.结构清晰,便于观看实体间的联系
2.操作简单
3.查询效率高缺点
1.结构灵活性低,当需要更新或修改一个实体时,会影响到其他的数据
2.加大了DBMS的管理负担网状模型优点
1.允许单个节点存在多于一个父亲节点
2.可以存在俩个或多个节点没有父节点
3.真实反映现实世界缺点
1.联系复杂,难以实现,数据库维护重建难度大关系模型优点L结构简单明了
2.独立性比较强
3.操作方便
4.有坚实的数学理论做基础缺点模型比查询效率低,加大了系统的查询负担第三章
1、试述关系模型的3个组成部分答关系型的三个组成部分分别是
1.关系数据模型的数据结构
2.关系数据模型的操作集合
3.关系数据模型的完整性约束
2、试述关系操作的特点和关系操作语言的分类答关系数据语言可以分为三类1)关系代数语言,例如ISBL o2关系演算语言元组关系演算语言,例如APLHA,QUEL,•域关系演算语言,例如QBE o3具有关系代数和关系演算双重特点的语言,例如SQLO这些关系数据语言的共同特点是具有完备的表达能力;是非过程化的集合操作语言;功能强;能够嵌入高级语言中使用
3.定义并理解下列术语,说明它们之间的联系与区别答1域域是一组具有相同数据类型的值的集合笛卡尔积给定一组域DI,D2,…,Dn,这些域可以有相同的这组域的笛卡尔积为DI xD2x,x Dn={dl,d2,,,dn|di6Di,i=1,2,,,n}其中每一个元素dl,d2,,,dn叫做一个n元组或简称元组元素中的每一个值di叫做一个分量关系在域DI,D2,,,Dn上笛卡尔积Dlx D2x,x Dn的子集称为关系,表不为RDI,D2,一Dno元组关系中的每一个元素是关系中的元组属性关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性2候选码若关系中的某一属性组的值能惟一地标识一个元组,则称该属性组为候选码主码若一个关系有多个候选码,则选定其中一个为主码外部码设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外部码,简称外码基本关系R称为参照关系,基本关系S称为被参照关系或目标关系关系R和S可以是相同的关系3关系模式关系的描述称为关系模式它可以形式化地表示为RU,D,dom,F,其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自得域,Dom为属性向域的映像集合,F为属性间数据的依赖关系集合关系数据库关系数据库有型和值之分关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常称为关系数据库
4、简述关系模型的实体完整性规则史♦口.关系模型的完整性规则是对关系的某种约束条件关系模型中可以有三类完整性约束实体完整性、参照完整性和用户定义的完整性实体完整性规则若属性A是基本关系R的主属性,则属性A不能取空值
5、试述关系模型的完整性规则在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?答实体完整性规则若属性A是基本关系R的主属性,则属性A不能取空值参照完整性规则若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为1)或者取空值;2)或者等于S中某个元组的主码值用户定义的完整性是针对某一具体关系数据库的约束条件它反映某一具体应用所涉及的数据必须满足的语义要求在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定,但前提条件是该外部码属性不是其所在关系的主属性
6.试述等值连接与自然连接的区别和联系答连接运算中有两种最为常用的连接,一种是等值连接,另一种是自然连接e为“二”的连接运算,称为等值连接它是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉
7、关系代数的基本运算有哪些?如何用这些基本运算来表示其他运算?答并、差、笛卡尔积、投影和选择5种运算为基本的运算其他三种运算,即交、链接和除,均可以用这5种运算来表达
(1)交(G)RAS三R-(R-S)三S-(S-R)
(2)自然连接(x)RxS三nRusopredicateR xS3连接NA0B,也叫等值连接RxABBS=QR.A0S,BR XS4除一设R的属性集为{X,Y},S的属性集为{Y}R+S三TTXR-TTXTXS-R第四章
1.解释下列术语A.基本表实际存放数据的表B.视图视图是从一个或几个基本表或视图导出的表,它与基本表不同,数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中.C.行列子集视图若一个视图是从单个表中导出,并且只是去掉了基本表的某些行和某些列,但保留了主码,则这类视图称为行列子集视图D.派生表如果子查询出现在FROM子句中,相当于该子查询的结果作为一个临时的表,也称派生表E.嵌套查询在SQL语言中,一个SELECT-FROM-WHERE语句称为一个查询块将一个查询块嵌套在另一个查询块的WHERE子句或WHERE短语的条件中的查询称为嵌套查询F.相关嵌套查询如果嵌套查询中子查询的条件与父查询相关,称为相关子查询G.分组查询使用GROUP BY子句将查询结果按照分组表达式中的值进行分组,分组表达式的值相同的记录为同一组,通常会在分组中进行统计运算,这类的查询叫分组查询H.索引在数据库中,索引是对数据库表中一列或多列的值进行排序的一种数据结构,建立索引是加快查询速度的有效手段
1.聚簇索引在聚簇索引中,表中行的物理顺序与键值的逻辑索引顺序相同一个表只能包含一个聚簇索引J.视图消解从数据字典中取出视图的定义,把定义中的子查询和用户查询结合起来,转换成等价的对基本表的查询,然后再执行修正了的查询这一转换过程称为视图的消解K.连接查询若一个查询同时涉及两个以上的表,则称为连接查询连接查询是关系数据库中最主要的查询,包括普通连接查询、自身连接查询、外连接查询和多表连接查询等L.外连接查询外连接包括左外连接、右外连接或全外连接,左外连接的结果集包括连接左表的所有行,而不仅仅是连接列所匹配的行如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列均为空值同理右外连接保证连接的右边所有记录行出现在结果集中
2.什么是DDL、DML和DCL,它们有何功能和用途?答DDL数据定义语言,主要由是create,alter,drop等语句组成DML数据操作语言,由Insert,update,delete,select等语句组成DCL数据控制语句,由grant,revoke等语句组成
3.一个查询语句由几个子句组成?各个子句的作用和使用场景是什么?答SELECT语句中共包含5个子句SELECT子句、FROM子句、WHERE子句、GROUP BY子句和ORDER BY子句各子句的功能如下1SELECT子句包含可选关键字DISTINCT和ALL在需要过滤查询结果中的重复行时,使用关键字DISTINCT;在需要返回所有查询结果记录时使用ALL,默认ALL查询返回所有的结果记录2FROM子句包含一个或多个基本表、视图或者派生表子查询3WHERE子句列出检索的条件,用于筛选符合要求的记录如果没有WHERE子句,代表所有目标表中的所有记录都满足条件4GROUP BY子句用于将查询结果按照分组表达式中的值进行分组,分组表达式的值相同的记录为同一组,通常会在分组中进行统计运算如果GROUP BY子句带有HAVING子句,则只有满足指定条件的组才会输出5ORDER BY子句接受SELECT子句的输出,对查询的结果进行排序ASC关键字代表升序,DESC关键字代表降序,默认为升序排序表达式根据排序表达式的值进行升序或者降序排列
4.Insert.Update.Delete语句的语法各由几个子句组成?答Insert主要由三部分组成Insert into〈表名》插入的列的列表和值列表values组成UPDATE语句主要包括3个部分要修改的表名;修改的列和对应的新值;选择需要更新的记录的条件Delete语句主要包括2个部分要的删除记录的表名;选择需要删除的记录的条件
5.比较B+树索引、哈希索引、位图索引及各自适用的条件答哈希索引适用于等值查询;位图索引的使用情况比较局限,适合值的类型很少并且需要复合查询的字段;B+树索引适用于范围查询和单值查询,是最常用的索引,一般情况下“索引指的是B+树索引
6.试述视图的优点答1提供数据的逻辑独立性视图作为虚表,它的定义实际上是外模式到模式的映像当数据的模式发生变化时,可以通过仅修改视图的定义即外模式模式映像来保持数据库的外模式不变,从而实现数据的逻辑独立性2简化用户操作视图不仅可以简化用户对数据的理解,也可以简化它们的操作那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定都全部的条件3提供数据的安全性保护视图机制还能够为数据提供一定的安全保护功能
1.什么是数据库安全?它与操作系统安全性有什么关系?答数据库安全性是指保护数据库以防止不合法的使用造成的数据泄露、更改或破坏安全性问题不是数据库系统所独有的,它与计算机系统的安全性紧密联系、相互支持
2.数据库用户权限中,针对数据的权限有哪些?答针对数据本身的权限主要有1SELECT允许用户读取表和视图中的数据2INSERT允许用户在表和视图中插入数据3UPDATE允许用户修改表或视图中的数据,可能只允许修改某一个属性4DELETE允许用户删除表和视图中的数据
3.保证数据库安全性的措施有哪些答保证数据库安全性的措施主要有用户管理、存取控制、视图机制、数据加密、审计等
4.什么是数据库的存取控制机制?主要包括哪几种?答存取控制机制是数据库安全性的重要机制,主要内容是为不同用户规定对不同数据对象的不同存取权限,限制用户的操作不会超过已定义好的权限范围存取控制机制主要包括两方面功能1定义功能数据库管理系统提供适当的语言定义用户的权限,将这些定义编译后存放在数据目录中,被称为安全规则或授权规则2检查功能用户发出存取数据库的操作请求后,数据库管理系统检查该用户是否具有执行该操作的权限,若有,则执行;若没有,则操作被拒绝主要包括自主存取控制和强制存取控制1自主存取控制Discretionary AccessControl,DACO自主存取控制非常灵活,用户对不同的数据对象有不同的存取权限,不同用户对同一数据对象也有不同的权限,且用户还可以将其拥有的存取权限授权给其他用户目前,大型数据库管理系统几乎都支持自主存取控制2强制存取控制Mandatory SccessControl,MAC在强制存取控制方法中,每个数据对象被标以一定的密级,每一个用户也被授予一个级别的许可证对于任意一个数据对象,只有具有合法许可证的用户才可以对它进行存取这种方法适用于对数据库安全性要求较高,且对数据有严格而固定的密级分类的部门,如军事部门和政府部门等
5.试述数据库安全领域中的审计功能答审计功能就是一种事后监视措施,它将用户对数据库的所有操作自动记录下来,存放在审计日志中数据库管理员可以通过对审计跟踪信息进行分析,发现对数据库的非法操作,进而找出非法存取数据的人、时间和内容等审计一般分为用户级审计和系统级审计,前者是任何用户都可以设置的审计,主要针对用户自己创建的表和视图进行审计;后者只针对数据库管理员设置,用以监测成功或失败的登录及各种操作第六章
1.什么是数据库的完整性?答数据库完整性是指数据库中存放的数据的正确性和相容性数据的正确性是指数据是符合现实世界语义的、反映当前实际状况的;数据的相容性是指数据库同一对象在不同关系表中的数据是符合逻辑的
2.数据库系统的完整性控制机制包括哪几种?都具有什么功能?。