考试题型:1.填空(20分)2.单选(20分)3.名词解释(两个,共10分)4.简答题(4小题,共24分)5.设计题(12分)主要考察SQL6.设计题(14分)主要考察数据库设计考试范围:课堂上讲的各个章节(一、二、三、四、五、六、十、十一、七)各个章节中上课时讲过不作要求的,不在考试范围内。主要内容:第一章:1.数据、数据库、数据库管理系统、数据库系统的相关概念。数据库管理系统的功能。数据的定义描述事物的符号记录数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库管理系统是位于用户与操作系统之间的一层数据管理软件。是基础软件,是一个大型复杂的软件系统。数据库管理系统的功能:1.数据定义功能2.数据组织、存储功能3.数据操纵功能4.数据库的事务管理和运行管理5.数据库的建立和维护功能6.其他功能:与其他软件系统的通信功能,以后数据库互访和互相操作功能等。2.数据管理技术的各个阶段的特点。数据库系统的特点。一、人工管理阶段a)数据的管理者:用户(程序员),数据不保存b)数据面向的对象:某一应用程序c)数据的共享程度:无共享、冗余度极大d)数据的独立性:不独立,完全依赖于程序e)数据的结构化:无结构f)数据控制能力:应用程序自己控制二、文件系统阶段a)数据的管理者:文件系统,数据可长期保存b)数据面向的对象:某一应用程序c)数据的共享程度:共享性差、冗余度大d)数据的结构化:记录内有结构,整体无结构e)数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序f)数据控制能力:应用程序自己控制三、数据库系统阶段数据库系统的特点:1)数据结构化2)数据的共享性高,冗余度低,易扩充3)数据独立性高4)数据由DBMS统一管理和控制:(1)数据的安全性(Security)保护(2)数据的完整性(Integrity)检查(3)并发(Concurrency)控制(4)数据库恢复(Recovery)3.什么是数据模型,有哪几类。它的组成要素是什么。在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。数据模型分为两类(分属两个不同的层次)(1)概念模型也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。(2)逻辑模型和物理模型逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。组成要素:数据结构描述数据库的组成对象,以及对象之间的联系数据操作更新,查询完整性约束条件4.P14~P18相关概念都要掌握。层次、网状模型的特点。层次模型满足下面两个条件的基本层次联系的集合为层次模型1).有且只有一个结点没有双亲结点,这个结点称为根结点2).根以外的其它结点有且只有一个双亲结点层次模型的特点:a)结点的双亲是唯一的b)只能直接处理一对多的实体联系c)每个记录类型可以定义一个排序字段,也称为码字段d)任何记录值只有按其路径查看时,才能显出它的全部意义e)没有一个子女记录值能够脱离双亲记录值而独立存在网状模型满足下面两个条件的基本层次联系的集合:a)允许一个以上的结点无双亲;b)一个结点可以有多于一个的双亲。网状模型与层次模型的区别a)网状模型允许多个结点没有双亲结点b)网状模型允许结点有多个双亲结点c)网状模型允许两个结点之间有多种联系(复合联系)d)网状模型可以更直接地去描述现实世界e)层次模型实际上是网状模型的一个特例P28,关系模型的相关概念。关系模型的优缺点。关系模型:用二维表的形式表示实体和实体间联系的数据模型(百度百科,书上米有)优点a)建立在严格的数学概念的基础上b)概念单一1)实体和各类联系都用关系来表示2)对数据的检索结果也是关系c)关系模型的存取路径对用户透明1)具有更高的数据独立性,更好的安全保密性2)简化了程序员的工作和数据库开发建立的工作缺点a)存取路径对用户透明导致查询效率往往不如非关系数据模型b)为提高性能,必须对用户的查询请求进行优化增加了开发DBMS的难度5.数据库系统的三级模式与二级映象指的是什么,有什么用处。三级模式a)模式(Schema)1)数据的逻辑结构(数据项的名字、类型、取值范围等)2)数据之间的联系3)数据有关的安全性、完整性要求b)外模式(ExternalSchema)1)保证数据库安全性的一个有力措施2)每个用户只能看见和访问所对应的外模式中的数据c)内模式(InternalSchema)1)是数据物理结构和存储方式的描述2)是数据在数据库内部的表示方式a)记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)b)索引的组织方式c)数据是否压缩存储d)数据是否加密e)数据存储记录结构的规定二级映象在DBMS内部实现这三个抽象层次的联系和转换外模式/模式映像:保证数据的逻辑独立性模式/内模式映像:定义了数据全局逻辑结构与存储结构之间的对应关系。6.数据库系统的组成?a)数据库b)数据库管理系统(及其开发工具)c)应用系统d)数据库管理员第二章:1.什么是域、笛卡尔集有什么用处。关系的目与度。域是一组具有相同数据类型的值的集合。笛卡尔积给定一组域D1,D2,…,Dn,这些域中可以有相同的。D1,D2,…,Dn的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}所有域的所有取值的一个组合不能重复关系D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn)R:关系名n:关系的目或度(Degree)2.候选码、主码、主属性等概念。候选码(Candidatekey):若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码简单的情况:候选码只包含一个属性主码:若一个关系有多个候选码,则选定其中一个为主码(Primarykey)主属性:候选码的诸属性称为主属性(Primeattribute)不包含在任何侯选码中的属性称为非主属性。3.什么有关系操作,有哪些关系操作。常用的关系操作a)查询:选择、投影、连接、除、并、交、差b)数据更新:插入、删除、修改c)查询的表达能力是其中最主要的部分d)选择、投影、并、差、笛卡尔基是5种基本操作4.什么是关系的完整性,具体有哪些?P49外码、参照表、被参照表是什么?1)实体完整性2)参照完整性3)用户定义的完整性设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码基本关系R称为参照关系基本关系S称为被参照关系或目标关系5.什么是关系代数运算,有哪些传统与专门的关系运算。关系代数运算的对象是关系,结果也为关系。传统:并,差,交,笛卡尔积专门:选择,投影6.关系演算不作要求。7.P74第五题如果用关系代数来实现,你会吗?看作业第三章1.熟练掌握关系数据库标准语言SQL2.什么是视图,有什么作用?视图是从一个或几个基本表(或视图)导出的表作用:1)视图能够简化用户的操作2)视图使用户能以多种角度看待同一数据3)视图对重构数据库提供了一定程度的逻辑独立性4)视图能够对机密数据提供安全保护5)适当的利用视图可以更清晰的表达查询第四章1.什么是数据库的安全性?数据库的安全性是指保护数据库以防止不合法的使用造成的数据泄露,更改或者破坏。2.计算机系统的三类安全性问题指的是什么。技术安全,管理安全,政策法律3.数据库系统如何实现安全性控制。具体如何实现。数据库安全性控制的常用方法1)用户标识和鉴定用户标识,口令,系统核对口令以鉴别用户身份用户名和口令易被窃取:每个用户预先约定好一个计算过程或者函数2)存取控制自主存取控制(DiscretionaryAccessControl,简称DAC)C2级灵活强制存取控制(MandatoryAccessControl,简称MAC)B1级严格3)授权与回收4)数据库角色被命名的一组与数据库操作相关的权限第五章1.什么是数据库的完整性?数据的完整性1)防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据2)防范对象:不合语义的、不正确的数据2.数据库管理系统如何实现(或保证)数据库的完整性?1)提供定义完整性约束条件的机制2)提供完整性检查的方法3)违约处理3.什么是触发器,有什么作用?触发器(Trigger)是用户定义在关系表上的一类由事件驱动的特殊过程,由服务器自动激活可以进行更为复杂的检查和操作,具有更精细和更强大的数据控制能力第六章1.什么是规范化理化,有什么用处。规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。2.掌握第一、第二、第三、BC范式的判定方法。P1743.能区分各类的函数依赖。P172第十章1.什么是事务,有哪些特点事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位1)原子性(Atomicity)2)一致性(Consistency)3)隔离性(Isolation)4)持续性(Durability)2.数据库系统的各种故障有哪些。事务故障系统故障介质故障3.各类故障的恢复技术有哪些,如何实现数据转储登记日志文件1)发生事务故障时,夭折的事务可能已把对数据库的部分修改写回磁盘事务故障的恢复:撤消事务(UNDO)强行回滚(ROLLBACK)该事务清除该事务对数据库的所有修改,使得这个事务象根本没有启动过一样2)系统故障清除尚未完成的事务对数据库的所有修改将缓冲区中已完成事务提交的结果写入数据库3)介质故障装入数据库发生介质故障前某个时刻的数据副本重做自此时始的所有成功事务,将这些事务已提交的结果重新记入数据库第十一章1.什么是串行执行?交叉并发执行,同时并发执行事务串行执行1)每个时刻只有一个事务运行,其他事务必须等到这个事务结束以后方能运行2)不能充分利用系统资源,发挥数据库共享资源的特点交叉并发方式(interleavedconcurrency)1)事务的并行执行是这些并行事务的并行操作轮流交叉运行2)是单处理机系统中的并发方式,能够减少处理机的空闲时间,提高系统的效率同时并发方式(simultaneousconcurrency)a.多处理机系统中,每个处理机可以运行一个事务,多个处理机可以同时运行多个事务,实现多个事务真正的并行运行b.最理想的并发方式,但受制于硬件环境c.更复杂的并发方式机制2.并发执行有可能会造成什么问题,会具体分析。1)可能会存取和存储不正确的数据,破坏事务的隔离性和数据库的一致性并发操作带来的数据不一致性丢失修改(lostupdate)不可重复读(non-repeatableread)读“脏”数据(dirtyread)3.有哪些封锁,各有什么特点基本封锁类型1)排它锁(eXclusivelock,简记为X锁)若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁2)共享锁(Sharelock,简记为S锁)若事务T对数据对象A加上S锁,则其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁4.封锁会造成哪些问题,如何预防或解决封锁技术可以有效地解决并行操作的一致性问题,但也带来一些新的问题活锁死锁解决活锁:采用先来先服务的策略:当多个事务请求封锁同一数据对象时按请求封锁的先后次序对这些事务排队该数据对象上的锁一旦释放,首先批准申请队列中第一个事务获得锁。解决死锁:1)预防死锁一次封锁法顺序封锁法2)死锁的诊断与解除允许死锁发生解除死锁5.什么是并发调度的可串行性?几个事务的并行执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同。这种并行调度策略称为可串行化(Serializable)的调度。6.理解三级封锁协议、两段锁协议。各有什么用处。P