An Introduction to Database System,江苏科技大学,数据库系统概论 An Introduction to Database System第八章 数据库保护技术,An Introduction to Database System,第四章 数据库安全性,8.1 数据库的
第8-4章 数据库保护技术恢复Tag内容描述:
1、3 数据库并发控制及SQL Server并发控制 8.4 数据库恢复技术与SQL Server数据恢复机制,An Introduction to Database System,问题的产生,多用户数据库系统的存在允许多个用户同时使用的数据库系统 飞机定票数据库系统 银行数据库系统 特点:在同一时刻并发运行的事务数可达数百个,An Introduction to Database System,问题的产生(续),不同的多事务执行方式 (1)事务串行执行 每个时刻只有一个事务运行,其他事务必须等到这个事务结束以后方能运行 不能充分利用系统资源,发挥数据库共享资源的特点,T1,T2,T3,事务的串行执行方式,An Introduction to Database System,问题的产生(续),(2)交叉并发方式(Interleaved Concurrency) 在单处理机系统中,事务的并行执行是这些并行事务的并行操作轮流交叉运行 单处理机系统中的并行事务并没有真正地并行运行,但能够减少处理机的空闲时间,提高系统的效率,An Introduction to Database Syst。
2、 完整性约束条件及完整性控制,8.2 数据库完整性及SQL Server的完整性控制,数据完整性约束可以分为:表级约束,若干元组间、关系中以及关系之间联系的约束;元组级约束,元组中的字段组和字段间联系的约束;属性级约束,针对列的类型、取值范围、精度、排序等而制定的约束条件。
,6/36,1. 静态级约束 1) 对数据类型的约束。
2) 对数据格式的约束。
3) 对取值范围或取值集合的约束。
4) 对空值的约束。
5) 其他约束。
6)实体完整性约束。
7)参照完整性约束。
8)函数依赖约束。
,7/36,2. 动态级约束 1) 修改列定义时的约束。
2) 修改列值时的约束。
,8/36,3. 完整性控制机制的功能及执行约束 (1) 完整性控制机制应具有的功能 1) 定义完整性功能,提供定义完整性约束条件的机制。
2) 检查完整性功能,检查用户发出的操作请求,看其是否违背了完整性约束条件。
3) 控制完整性功能,监视数据操作的整个过程,如果发现有违背了完整性约束条件的情况,则采取一定的动作来保证数据的完整性。
,9/36,(2) 立即执行约束和延迟执行约束有关数据操作语句执行完后立即进行完整性检。
3、止不合法的使用造成的数据泄密、更改或破坏。
8.1.1 数据库安全性控制的一般方法,用户标识和鉴别 存取控制 操作系统安全保护 密码存储,1. 用户标识与鉴别,(1) 用输入用户名(用户标识号)来标明用户身份。
系统内部记录着所有合法用户的标识。
系统对输入的用户名与合法用户名对照,鉴别此用户是否为合法用户。
(2) 通过回答口令标识用户身份。
系统常常要求用户输入口令,只有口令正确才能进入系统。
为保密起见,口令由用户自己定义并可以随时变更。
为防止口令被人窃取,用户在终端上输入口令时,不把口令的内容显示在屏幕上,而用字符“*”替代其内容。
(3) 通过回答对随机数的运算结果表明用户身份。
系统提供一个随机数,用户根据预先约定的计算过程或计算函数进行计算,并将计算结果输给到计算机。
系统根据用户计算结果判定用户是否合法。
,2. 存取控制,(1) 存取机制的构成。
1) 定义用户权限,并将用户权限登记到数据字典中。
2) 当用户提出操作请求时,系统进行权限检查,拒绝用户的非法操作。
(2) 存取机制的类别。
1) 自主存取控制(DAC)。
用户。
4、工作单元。
一个事务就是一组程序,完成对数据库的某些一致性操作,事务中的SQL语句必须按逻辑次序执行。
事务是数据库中的最基本的工作单元,也是数据库恢复和并发控制的基本单元。
,事务的应用背景(1),例1:某公司在银行中有A,B两个帐号,现在公司想从帐号A中取出1万元,存入帐号B。
那么在A中取出1万元的操作和在B中增加1万元的操作要么都成功完成,要么都不做。
因此,需要把这二个操作定义在一个事务中。
银行转帐:事务T从A帐户过户1¥到B帐户。
T: read(A);A := A 1;write(A);read(B);B := B + 1;write(B);,read(X):从数据库传送数据项X到事务的工作区中。
write(X):从事务的工作区中将数据项X写回数据库。
,例2:考虑飞机订票系统中的一个活动序列: (1) 甲售票点读出某航班的机票余额=16; (2) 乙售票点读出同一航班的机票余额也为16; (3) 甲售票点卖出一张机票,修改余额为15,并把A写回数据库; (4) 乙售票点也卖出一张机票,也修改余额为15,并把A写回数据库。
,甲: read(A); 乙: 。
5、8.3 数据库并发控制及SQL Server并发控制 8.4 数据库恢复技术与SQL Server数据恢复机制,An Introduction to Database System,8.4 数据库恢复技术与SQL Server数据恢复机制,故障是不可避免的 系统故障:计算机软、硬件故障 人为故障:操作员的失误、恶意的破坏等。
数据库的恢复 把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态) 恢复子系统是DBMS的重要组成部分,是衡量系统性能优劣的重要指标。
,An Introduction to Database System,8.4 数据库恢复技术与SQL Server数据恢复机制,8.4.1 故障的种类 8.4.2 恢复的实现技术 8.4.3 恢复策略 8.4.4 具有检查点的恢复技术 8.4.5 SQL Server数据备份和数据恢复机制,An Introduction to Database System,8.4.1 故障的种类,1、事务内部的故障 2、系统故障 3、介质故障 4、计算机病毒5、用户操作错误,An Introduction to Databas。