数据库复习 (2)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1数据库管理系统:是一种重要的程序设计系统,它由一个相互关联的数据集合和一组访问这些数据的程序组成。
2:数据管理的基本操作:①数据查询②数据插入③数据删除④数据修改。
①②③称为数据更新。
3:实际应用对数据操作的要求:①并发访问②面临故障③数据的安全性④数据的完整性⑤数据的一致性。
4:DBMS的功能:①数据定义②数据操纵③事务管理和运行管理④数据存储和查询处理⑤数据库的建立和维护⑥其他功能包括DBMS与其他软件通信,异构数据库之间数据转换和互操作
5:数据库:是持久储存在计算机中有组织的,可共享的大量数据的集合。
6:数据库模式:在数据库中,使用数据模型对数据建模,所产生设计结果成为数据库模式7:数据库系统:由数据库,DBMS,应用系统和数据库管理员组成。
8:数据模型三要素:数据结构,数据操作和完整性约束。
9:简述数据库系统的三级模式两级映像结构以及两级映像的功能?答:数据库系统的三级模式结构是指数据库系统由外模式,模式,内模式三级构成,两级映像是指外模式/模式映像,模式/内模式映像,这两层映像保证了数据库系统中的数据能具有较高的逻辑独立性和物理独立性。
10:如何保证数据的逻辑独立性和物理独立性?答:当数据的逻辑结构发生改变的时候,修改外模式/模式映像,保证外模式不发生改变,而应用程序是建立在外模式的基础之上的,这样当数据的逻辑结构发生改变的时候,应用程序是不需要改变的,所以数据具有逻辑独立性;当数据的内模式改变的时候,修改模式/内模式映像,保证模式不发生改变,模式不发生改变,则外模式不变,从而应用程序不需要修改,应用程序独立于数据的物理结构,所以具有物理独立性。
11:数据库三种语言:①数据定义语言(DDL)用于定义数据库模式②数据操纵语言(DML)用于表达数据库的查询和更新③数据控制语言(DCL)用于定义用户对数据对象的访问权限。
12:DBA的主要职责:①决定数据库中的信息内容和数据的逻辑结构。
②决定数据库的存储结构和存取策略③定义数据的安全性要求和完整性约束条件④数据库系统的日常维护⑤数据库的重组和重构
第二章
13:实体:客观存在并且可以相互区分的任何事物。
属性:是实体所代表的事物具有的某种特性。
复合属性:是可以划分成更小部分的属性。
多值属性:是特定的实体在该属性上可以取多个值的属性。
派生属性:的值可以从其他相关的属性或实体计算得到。
14:联系的类型又叫联系的函数性或映射基数。
分四种:一对一,一对多,多对一,多对多15:设R是一个联系,涉及实体集E。
实体集E中的实体参与联系R可以是强制的或随意的。
如果实体集E中的没个实体都必须参与联系R,则称E对联系R的参与是强制的,或者全部参与。
否则,E对联系R的参与是随意的,或者部分参与。
16:主码用于表示由多个码中选出的唯一识别关系元组的码。
而所有的码又成候选码。
码中的属性称为主属性。
而不在任何码中出现的属性成为非主属性。
如果FK是关系R的属性集,并且不是R的码,但是FK与关系R′的主码K′对应,则称FK是关系R的外码。
其中R是参照关系,R′是被参照关系,并称FK参照R′的主码K′。
17:关系模式的完整性约束有三种:实体完整性,参照完整性,用户定义完整性。
18:实体完整性规则:关系R的所有元组在主码上的值必须唯一,并且在主码的任何属性上都不能取空值。
(关系主码必须是非空,唯一的)。
19:参照完整性规则(要求):如果属性集FK是关系R的外码,它参照关系S的主码Ks,则R的任何元组在FK上的值或者等于S的某个元组在主码Ks上的值,或者为空。
20:用户定义的完整性反映特定的数据库所涉及的数据必须满足的语义约束条件。
由于不存在一般性的规则,这些约束条件必须用户根据实际问题的语义指定。
第四章
21:SQL的特点①集多种数据库语言于一体。
②高度非过程化③面向集合的操作方式④一种语法两种使用方式⑤功能强大,语言简洁。
22:视图的作用:使用视图可以使一些查询表达更加简洁。
视图提供了一定程度的逻辑独立性。
视图的安全保护作用。
视图使得用户能够以不同的角度看待相同的数据
23:SQL语句和主语言语句之间的信息交换可以通过:SQLCODE,主语言变量和游标
第五章
24:数据库的完整性是指数据库中的数据的正确性,一致性和相容性。
25: 简要说明参照完整性的要求,什么情况下会破坏实体的参照完整性?答:①向参照关系中插入新元组。
②从被参照关系中删除元组。
③修改参照关系的元组外码上的值。
④修改被参照关系中的元组主码的值。
26:当更新导致破坏参照完整性时,可采取的措施:①拒绝,对于上述情况的1,4,,一般拒绝,②级联③置空值④置缺省值。
27:约束分类:①类型(域)约束。
②属性约束。
③关系约束。
④数据库约束。
一般而言,实体完整性是一种关系约束,参照完整性是一种数据库约束,而用户定义的完整性任意28:声明一个域包括:①域值类型②缺省值③域值的格式④对取值范围或取值集合的约束。
29:断言:是一种命名约束,它表达了数据库状态必须满足的逻辑条件。
触发器:是特殊类型的存储过程,当某个时间发生时它被自动执行
30:DBA保护数据库涉及以下几个任务:①防止对数据的未经授权的存取,确保敏感信息没有被不“需要知道”这些信息的人访问得到②防止未经授权的人员删除和修改数据③监视对数据的访问和更改等使用情况。
31:安全性控制方法包括用户标识与鉴别,存取控制,视图,审计,数据加密
完整性:正确性,一致性,相容性。
自助存取控制:用户可以自主的决定将数据对象的何种存取权限授予何人,并决定被授权的用户能否将获得的权限传播给其他用户。
强制存取控制规则:
仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体。
仅当主体的许可证级别小于或等于客体的密集式,该主体才能写相应的客体。
第七章
1数据库设计:就是根据数据库的支撑环境和用户的应用需求,设计出数据模式,建立数据库和典型的应用程序,使之能够有效地存储数据,满足永和的信息要求和处理要求。
其目的:设计一个优化的数据库逻辑结构和物理结构,满足用户信息管理要求和操作要求,使我们既不用存储不必要存储的冗余信息,又可以方便地获取信息。
其目标:为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。
特点:①反复性②试探性③多阶段性④多技术性。
其步骤:①需求分析阶段②概念结构设计阶段③逻辑结构设计阶段④物理设计⑤数据库的
33:需求分析的任务是调查应用领域,对应用领域中的各种应用的信息要求,处理要求,安全性和完整性要求进行详细的分析,形成需求分析说明书。
34:数据字典的作用:提供关于数据详细描述的信息,下一步概念结构设计的输入,和数据流图一起完整性描述系统的需求信息。
35:数据抽象的三种方法:①将具有某些共同特性和行为的对象抽象为一个概念②定义某一类型的组成成分③定义对象集之间的子集联系
36:各局部E-R图之间的冲突:属性冲突,命名冲突,结构冲突
37:关系模式的优化原则:主要按照分析阶段得到的各种应用对数据处理的要求,对关系模式进行必要的分解或合并,以提高数据操作的效率和存储空间的利用率。
38:外模式优化的原则:①使用更符合用户习惯的别名②对不同的用户定义不同的视图③简化用户对系统的使用④处理计算属性
39:数据实施的主要任务:使用DBMS的DDL建立数据库模式,加载数据,并调试和试运行数据库应用程序。
数据库的运行与维护主要是有DBA负责,其任务:是数据库转储和恢复,数据库的安全性,完整性控制,数据库性能的监督,分析和改进,数据库重组和重构数据库设计:
数据库设计就是根据数据库的支撑环境和用户应用需求,设计出数据模式(包括外模式,模式和内模式),建立数据库和典型的应用程序,使之能够有效地存储数据,满足各种用户的信息要求和处理要求。
数据库设计步骤:需求分析阶段,概念结构设计,逻辑结构设计,物理设计,数据库的实施和维护。
数据字典:数据项,数据结构,数据流,数据存储,处理过程。
第九章
1事务:是用户定义的一个数据库的操作序列,这些操作要么权作要么全部做,是一个不可分割的工作单元。
其四个特性:原子性,一致性,隔离性,持久性。
2数据库中为什么要有并发控制得原因?答:①提高吞吐量和资源的利用率②减少等待时间。
3事物的并发执行两种方式:交叉并发执行和同时并发执行
4并发执行可能导致的问题:①丢失修改②读脏数据③不可重复读。
其方式:交叉并发方式和同时并发方式
5串行调度:是指一组事务中,这些事务一个接一个地执行,其中每个事务都在上一个事务完全结束之后才执行。
并发调度:一组事务中,这些事务中至少有两个事务都开始了它们的执行,并且都尚未结束。
并发调度正确性准则:一组事务的一个并发调度S是正确的,并且仅当调度S的执行结果与与某一个串行调度的执行结果相同。
此时,我们称并发调度S 是可串行化的。
6指令冲突:设I1和I2是隶属于不同事务的指令。
如果它们是在相同的数据对象上的操作,并且其中至少有一个是write指令,则称它们是冲突的。
7视图等价:1)对于每个数据项Q,若事务T在调度S1中读取了Q的初始值,那么在调度S2中T也读取Q的初始值。
2)对于每个数据项Q,若事务T1在调度S1中执行了read(Q)并且读取的值是由事务T2执行write(Q)产生的,则在调度S2中,T1的read(Q)操作读取的值Q也必须是由T2的同一个write(Q)产生的。
3)对于每一个数据项Q,若事务T1在调度S1中执行了最后的write(Q)操作,则在调度S2中该事务也必须由T1执行最后的write(Q)操作。
8一级封锁协议:要求事务T在更新数据对象Q之前必须先对其加X所,直到事务结束才释放。
9二级封锁协议:在一级封锁协议的基础上,进一步要求事务T在读取数据对象Q之前,必须先对其加S锁,但是读完后可以立即释放S锁。
10三级封锁协议:在一级封锁协议的基础上,进一步要求事务T在读取数据对象Q之前,必须先对其加S锁,并且直到事务结束后才能释放S锁。
11两阶段锁协议:1)在对任何数据进行读,写操作之前,首先要申请并获得对该数据对象间的相应封锁。
2)在释放一个锁之后,事务不能再申请任何其他锁。
12严格两阶段封锁协议:进一步要求事务持有的排他锁必须在该事务提交或中止后才能释放。
13强两阶段所协议:进一步要求事务持有的所有的锁必须保持到事务提交或中止。
14一级锁防止丢失修改,二级锁进一步防止读脏数据,三级锁进一步保证可重复读。
15活锁又称饥饿,是某个事务因等待锁而处于无限期等待状态。
活锁是不公平的锁调度导致的。
死锁:是两个或者两个以上的事务之间的循环等待现象。
解决死锁有两种策略:①采取一定的预防措施预防死锁发生②允许死锁,采用一定的方法定期检测系统中有无死锁,若有则将其解除。
防止死锁就是要破坏产生死锁的条件,①采用一次封锁②顺序封锁
数据库通常采用超时或者事务等待图法发现死锁
16两段锁协议:要求每个事务分两个阶段提出加锁和解锁,既加锁阶段和解锁阶段:对任何数据进行读,写操作之前,首先要申请并获得对该数据对象的相应封锁,在释放一个锁之后,事务不能再申请新的锁。
17多粒度封锁的种类:①IS锁:意向共享锁②IX锁:意向排它锁③SIX锁:共享意向排它锁④S锁:共享锁⑤X锁:排它锁。
第十章
1故障处理角度分为三种:1)事务故障:值某个事务在运行过程中由于种种原因未能运行到正常终止而夭折2)系统故障:由于某种原因造成整个系统的正常运行突然停止,致使所有正在运行的事务以非正常方式终止3)介质故障:是存储数据库的存储设备故障
2故障恢复思想:在系统正常运行时建立冗余数据,保证有足够的信息可用于故障恢复,故障发生后采取措施,将数据库内容恢复到个一致性状态,保证事务原子性和持久性。
3日志:是日志记录的序列,记录了数据库中所有的更新活动。
日志登记了每个事务的开始标记,结束标记和所有更新操作。
4登记日志的原则:1)日志记录必须严格按并发事务执行的时间次序等级2)必须先记日志,后写数据库
5延迟更新规则:1)每个事务在到达提交点之前不能更新数据库2)在一个事务的所有更新操作的日志记录写入稳定存储器之前,该事务不能到达提交点。
6即时更新技术:即时更新技术允许事务在活跃状态时就将更新输出到数据库中。
规则:1)在日志记录<T1,X,V1,V2>安全地输出到稳定存储器之前,事务T1不能用X=V2更新数据库。
2)在所有<T1,X,V1,V2>l类型日志记录安全地输出到稳定存储器之前,不允许事务T1提交。
7介质故障恢复的过程:1)装入最新的数据库后备副本,将数据库恢复到最近一次转储时的状态2)装入转储之后的日志,redo已完成的事务。
8检查点:1)将当前驻留在主存中的所有日志记录强制输出到稳定存储器上;2)将所有修改了的缓冲块强制输出到磁盘上;3)将一个日志记录<checkpoint,L>强制输出到稳定存储器上,其中L是建立检查点时刻所有正在执行的事务清单。