计算机复试 -- 数据库
数据库保护(访问)的内容有哪些?
1、利用权限机制和完整性约束防止非法数据进入数据库
2、提供故障恢复能力
数据库的故障主要有:事务内部的故障、系统故障、介质故障、计算机病毒
恢复策略:数据转储(数据冗余)、登记日志文件
数据库有哪几种备份策略:完全备份、事务日志备份、差异备份、文件备份
3、提供并发访问控制
DBA(数据库管理员)的职责是什么?
主要负责全面管理和控制数据库系统:
a) 决定数据库中的信息内容和结构
b) 决定数据库的存储结构和存取策略
c) 定义数据的安全性要求和完整性约束条件
d) 监控数据库的运行和使用,维护日志文件、故障恢复
e) 数据库的改进和重组重构
f) 数据库保护(访问)的内容有哪些
系统与文件系统相比有什么优点?
文件系统是对某一应用的、共享性差,冗余度大、记录内有结构、整体无结构、应用程序自己控制、独立性差
数据库管理系统,现实世界、共享性高、冗余度小、整体结构化、用数据模型进行描述,有数据库管理系统提供数据安全性、完整性,并发控制和恢复能力,具有高度的物理独立性和一定的逻辑独立性
什么是完整性约束及其功能 数据库三要素
数据库的三要素:完整性约束、系统的静态特征(数据结构)、动态特征(数据操作)
完整性约束可确保数据库中的数据正确性和相容性,主要包括实体完整性、参照完整性、用户自定义完整性
什么是数据独立性(两种)
数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性
逻辑数据独立性是指局部逻辑数据结构(外视图)与全局逻辑数据结构(视图)之间的独立性。当数据库的全局逻辑数据结构发生变化时,不影响某些局部的逻辑结构的性质,应用程序也不必修改
物理数据独立性是指数据的存储结构和存取方式(内视图)改变时,对数据库的全局逻辑结构(视图)和应用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方式独立
数据库完整性与安全性的区别
完整性是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出造成的无效操作和错误结构
安全性是防止数据库被恶意的破坏和非法的存取
DBMS支持哪几种数据模型
1、层次模型:树形结构表示实体和其中的联系,树中每一个结点都代表一个记录类型,树形结构表示式实体间的联系,限制:有且仅有一个节点无父节点,此节点为输的根,其他节点有且仅有一个父节点
2、网状模型的数据结构:用有向图结构表示实体类型及实体间联系的数据结构,关系实际上是关系模型在某一时刻的状态或内容。也就是说,关系模式是型,关系是它的值,关系模式是静态的,稳定,而关系是动态的、随时间不断变化的。因为关系操作在不断地更新着数据库中的数据,但在实际当中,常常把关系模式和关系统称为关系
a)允许一个以上的节点无双亲
b)一个节点可以有多个双亲
DBMS的控制操作有哪些
数据的安全性保护、数据的完整性检查、并发控制、数据库恢复
SQL的四个组成部分
1、数据定义语言
2、查询语言
3、数据操纵语言,用户通过它可以实现对数据库的基本操作,例如插入删除和修改
4、数据控制语言,设置或更改数据库用户角色权限的语句,包括授权、拒绝、删除
数据库的关系操作有哪些,各有什么作用
选择、投影、连接、除、差、交、并、笛卡尔积(集合X和集合Y的笛卡尔积又称直积,有序对)、插叙、增加、删除、修改
DB并发操作通常带来哪三类问题
1、丢失修改:当一个事务修改了数据,并且这种修改还没有提交至数据库,另外一个事务又对其进行了修改,并进行了提交,这样,数据库中就没有出现第一个事务修改数据的结构,就出现了丢失修改
2、脏读:当一个事务正在访问数据,并对数据进行了修改,而这种修改没有提交到数据库,这是,另外一个事务也访问这个数据,然后使用这个数据
3、不可重复读:一次事务中,多次读同一数据。在这个事务没结束时,另一个事务也访问了该同一数据,且可能修改
数据库采用什么机制来保证数据库的并发操作的正确性:封锁、时间戳、乐观控制法
封锁:
1、一级封锁协议:防止同时修改、丢失修改
2、二级封锁协议:防止改时修改,丢失数据+读脏数据
3、三级封锁协议:防止读取时修改,丢失数据+读脏数据+不可重复读
两段锁协议
两段锁协议值得是所有事务必须分为两个阶段,对数据项的加锁和数据项的解锁
并发执行的所有事务均遵守两段锁协议,则对这些事务的任何并发调度都是可串行化的。
区分一次封锁发,一次封锁发要求每个事务必须一次将所有要使用的数据全部加锁,否则不能执行,一次封锁法遵守了两段锁协议,但是两段锁协议并不要求事务必须一次将所有要使用的数据全部加锁,因此遵守两段锁协议的事务可能发生死锁
1、在对任何数据进行读、写操作之前,首先要申请对获得对该数据的封锁
2、而且在释放一个封锁之后,事务不再申请和获得任何其他封锁
数据库的三级模式、两级模式
模式:逻辑模式,是逻辑级的。对数据库中全部数据的逻辑结构和也正的总体描述,是所用用户的公共数据视图,反映了数据库系统的整体观
外模式:用户模式,是用户级,某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示,外模式反映了数据库的用户观
内模式:存储模式,是物理级的。是数据库中全体数据的内部表示或底层描述。是数据库的存储观
两级模式:模式+内模式:保证数据库系统的数据能够具有较高的逻辑独立性和物理独立性,将用户应用和物理数据库分离
什么是表?什么是视图,两者的区别和联系是什么?数据库视图的优点
表:保存数据的实体,写入的数据都保存在表中,而试图不保存数据。表可以建立各种触发器,建立索引、主键、约束
视图:一条语句,实际上视图从表中取数据,知识给我们的感觉好像直接从表中取得一样。视图中的数据都是从表中取出来的
用视图的优点:使用户多角度看待统一数据;对重构数据库提供了一定程度上的逻辑独立性;对机密数据提供了安全保护;更清晰的表达查询
第一范式的缺点
数据冗余太大、更新异常、插入异常、删除异常
数据字典通常包括五个部分
数据项、数据结构、数据流、数据存储、处理过程
数据库索引
目的:提供多种存储路径,加快查找速度
没有查询,统计的需要则不建立索引;数据增删改频繁,系统会开销很大,从而降低查询的效率
日志文件的定义与作用
日志文件用来记录事务对数据库的更新操作的文件
在数据库恢复中起着重要的作用,并协助后备副本进行介质故障恢复
主要包括:事务表示、操作的类型、操作对象、更新前数据的旧值、更新后数据的新值
数据库安全系统和计算机安全系统的关系
安全性问题不是数据库系统所独有的,所有的计算机系统都有这个问题,知识在数九系统中大量数据集中存放,而许多用户直接共享,从而使安全性问题钢架突出。数据库的安全性和计算机的安全性包括操作系统、网络系统的安全性紧密联系
数据库中主键约束和唯一约束的区别
主键约束:有一列或列的组合,其值能唯一地标识表中的每一行
唯一约束,不允许数据库表在指定列上具有相同的值,但允许有空值
区别:一个表可以定义多个唯一约束,但只能定义一个主键约束;空值的列上可以定义唯一约束,不能定义主键约束
数据库事务的四个特性
原子性、持久性、隔离性、一致性
1、只有满足一致性,事务的执行结果才正确
2、在无并发的情况下,多个事务并行执行,隔离性一定能够满足,此时只能满足原子性,就异性满足一致性
3、在并发时,多个事务并行执行,事务不仅要满足原子性,还要满足隔离性,才能满足一致性
产生并发一致性问题常常是因为破坏了隔离性,使用并发控制保证隔离性,并发控制可以通过封锁实现,但是封锁操作得用户自己控制,相当复杂,数据库管理科提供隔离级别,让用户轻松的解决并发一致性问题
封锁:消耗资源(获取锁、释放锁、检查锁)
4、事务满足持久性是为了能应对数据库崩溃的问题