ImageVerifierCode 换一换
格式:DOCX , 页数:39 ,大小:53.59KB ,
资源ID:14611372      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-14611372.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库恢复习题doc.docx)为本站会员(b****5)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数据库恢复习题doc.docx

1、数据库恢复习题doc6什么是数据库的恢复?恢复的基本原则是什么,恢复如何实现?数据库的恢复是指当数据库系统发生故障时,通过一些技术,使数据库从被破坏、不正确的状态恢 复到最近一个正确的状态。恢复的基本原则就是冗余,即数据的重复存储。恢复的常用方法有:(1)定期对整个数据库进行复 制或转储;(2)建立日志文件;(3)恢复。用REDO或UNDO处理。7数据库的并发操作会带来哪些问题?如何解决?数据库的并发操作会带来三类问题:(1) 丢失更新问题;(具体内容见教材P158)(2) 不一致分析问题(3) “脏数据”的读出。解决的办法通常是采用“封锁”技术。8有哪些丢失更新”问题?如何处理?(D并发调度

2、引起的“丢失更新”问题。在并发调度中,如两个事务同时对某数据库进行更新操作,在 操作中丢失了其中某个事务对某数据的更新操作。处理的办法就是对并发操作采用x封锁技术。(2)由恢复引起的更新丢失现象。采用X封锁以后,先执行事务T1,再执行事务T2,此时,如果 T2做ROLLBACK操作,就把事务T2的更新丢失了。处理方式是采用PXC协议,不允许事务T1 执行解锁操作直到事务执行到终点(COMMIT或ROLLBACK)。9为什么DML只提供解除S封锁的操作,而不提供解除X封锁的操作?为了防止由恢复引起的更新丢失现象,PXC协议规定:X封锁必须保留到事务终点(COMMIT或 ROLLBACK)。因此在

3、DML中,COMMIT或ROLLBACK的语义中包含了 X封锁的解除,不用提 供解除X封锁的操作。而对于S封锁而言,它是一种共享型的封锁(读取但不能修改),其数据不可能是未提交的修改,封 锁不必等提交后才能解除,因此可以由事务用UNLOCK解除各自对数据的封锁。10为什么有些封锁需保留到事务终点,而有些封锁可随时解除?因为有的封锁需要更新数据,保留到终点才能确认是否提交或回退以避免脏数据的读出,所以这些 封锁需要保留到事务终点。而有些事务全部或部分操作只是读取数据,不涉及更新数据操作,因此这一部分操作的封锁可以随 时解除。11死锁的发生是坏事还是好事?试说明理由。如何解除死锁状态?死锁的发生即

4、是坏事又是好事。(1) 使并发事务不能继续执行下去,造成时间开销却不产生结果。(2) 在某些时候我们要利用它来解决更新操作导致的数据库不一致状态。解除死锁状态:抽出某个事务作为牺牲品,把它撤消,做回退操作,解除它的所有封锁,并恢复到初 始状态。12试叙述串行调度与可串行化调度的区别。串行调度是多个事务按照定的次序依次执行;在某一时刻只有个事务在执行。而可串行化调度是并发调度中的一个概念。在并发调度中,某一时刻有多个事务同时被处理。如果 某事务集的一个并发调度的结果与某个串行调度等价,则称此并发调度是是可串行化调度。(以上几题具体可参照书上p20-21)13什么是数据库的完整性? DBMS的完整

5、性子系统的功能是什么?数据库的完整性是指数据的正确性和相容性。DBMS完整性子系统的功能是:(1)监督事务的执行,并测试是否违反完整性规则;(2)如有违反,则采取恰当的操作,如拒绝、报告违反情况,改正错误等方法进行处理。14完整性规则由哪几个部分组成?关系数据库的完整性规则有哪几类?完整性规则由三部分组成:触发条件:即什么时候使用规则进行检查;约束条件:即要检查什么样的错误;ELSE子句:即查出错误后该如何处理。完整性规则有以下三类:域完整性规则,用于定义属性的取值范围;域联系的规则,定义一个或多个关系中,属性值间的联系、影响和约束。关系完整性规则,定义更新操作对数据库中值的影响和限制。15试

6、详述SQL中的完整性约束机制?SQL中的完整性约束规则有主键约束、外键约束、属性值约束和全局约束等多种形式。主键约束。它是数据中最重要的一种约束。在关系中主键值不允许空,也不允许出现重复,体现 了关系要满足实体完整性规则。主键可用主键子句或主键短语进行定义。外键约束。根据参照完整性规则,依赖关系中外键或者为空值,或者是基本关系(参照关系)中 的该键的某个值。外键用外键关系子句定义,并考虑删除基本关系元组或修改基本关系的主键值的 影响,依赖关系可按需要采用RESTRICT. SET NULL CASCADE方式。属性值约束。当要求某个属性的值不允许空值时,那么可以在属性定义后加上关键字:NOT

7、NULL , 这是非空值约束。还可以用CHECK子句对一个属性值加以限制以及使用域约束子句GREAT DOMAIN定义新域并加以属性值检查。全局约束。在关系定义时,可以说明一些比较复杂的完整性约束,这些约束涉及到多个属性间的联 系或不同关系间的联系,称为全局约束。主要有基于元组的检查子句和断言。前者是对单个关系的 元组值加以约束,后者则可对多个关系或聚合操作有关的完整性约束进行定义。6.17参照完整性规则在SQL可以用哪几种方式实现?删除基本关系的元组时, 依赖关系可以采取的做法有哪三种?修改基本关系的主键值时,依赖关系可以采 取的做法有哪三种?参照完整性规则要求”不引用不存在的实体,参照完整

8、性规则在SQL可用以下几种方式实现:(1)在SQL中采用外键子句定义外键,并考虑删除基本关系元组或修改基本关系的主键值,对依 赖关系产生的影响;(2)在属性值上进行约束如基于属性的检查;(3)全局约束中的基于元组的检查子句等。删除基本关系元组或修改基本关系的主键值时,依赖关系可以采用的做法有:ARESTRICT方式:只有当依赖关系中没有一个外键值与基本关系中要删除/修改的主键值相对应时, 系统才能执行删除/修改操作,否则拒绝删除或修改。ASET NULL方式:删除基本元组时,将依赖关系中所有与基本关系中被删除主键值相对应的外键值 置为空值。修改基本关系的主键值时,将依赖关系中所有与基本关系中被

9、修改主键值相对应的外键 值置为空值。ACASCADE方式:若删除则将依赖关系中所有外键值与基本关系中要删除的主键值相对应的元组一 并删除,若修改则将依赖关系中所有与基本关系中要修改的主键值相对应的外键值一并修改为新值。6.18试对SQL2中的基于属性的检查约束、基于元组的检查约束和断言 三种完 整性约束进行比较:各说明什么对象?何时激活?能保证数据库的一致性吗?约束形式说明对象激活条件是否保证一致性基于属性的检查只对一个属性值加以约束插入或修改属性值时不一定基于元组的检查对单个关系的元组值加以约束在插入或修改元组时不一定断言多个关系或聚合操作任何变动保证6.19设教学数据库的模式如下:S(S#

10、,SNAME,AGE,SEX)SC(S#,C#,GRADE)C(C#,CNAME,TEACHER)试用多种方式定义下列完整性约束:(1)在关系S中插入学生年龄值应在1625岁之间(2)在关系SC中插入元组时,其S#值和C#值必须分别在S和C中出现。(3)在关系SC中修改GRADE值时,必须仍在0100之间。(4)在删除关系C中一个元组时,首先要把关系SC中具有同样C#的元组全部删去。(5)在关系S中把某个S#值修改为新值时,必须同时把关系SC中那些同样的S#值也修改为新值。(1)定义S时采用检查子句:CREAT TABLE S(S#CHAR(4),SNAME char (10) NOT NUL

11、L,AGE SMALLINT ,PRIMARY key(S#),CHECK (AGE=16 and AGE=0 and AGE=100)(4)采用外键约束CREAT TABLE 8C(S# CHAR(4),C#CHAR(4),GRADE 8MALLINT,FOREIGN key(S#) REFERENCE S(S#),FOREIGN key(C#) REFERENCE C(C#) )若改为:在删除关系C中一个元组时,同时把关系SC中具有同样C#的元组全部删去,则为:FOREIGN key(C#) REFERENCE C(C#) ON DELETE CASCADE(5)采用外键约束CREAT T

12、ABLE SC(S# CHAR(4),C#CHAR(4),GRADE 8MALLINT,FOREIGN key(S#) REFERENCE S(S#) ON UPDATE CASCADE,FOREIGN key(C#) REFERENCE C(C#)6.20在教学数据库的关系S、SC、C中,试用SQL2的断言机制定义下列两个 完整性约束:(1)学生必须在选修Maths课后,才能选修其他课程。(2)每个男 学生最多选修20门课程GREAT ASSERTION ASSE1 CHECK(NOT EXISTS(SELECT S FROM SCWHERE C# IN(SELECT C#FROM CWHE

13、RE CNAMEoMATHS)AND S# NOT IN(SELECT S# FROM SCWHERE C# IN(SELECT C#FROM CWHERE CNAME=MATHS);(2)GREAT ASSERTION ASSE2 CHECK(ALL(SELECT COUNT (SC.C#)FROMS.SCWHERE S.S#=SC.S AND SEX=MGROUP BY S#)=20);6.21什么是数据库的安全性?有哪些安全措施?数据库的安全性是指保护数据库防止不合法的使用,以免数据的泄漏、非法更改和破坏。可以从以下方面设置数据库的安全措施:环境级、职员级、OS级、网络级和数据库系统级。

14、(具体可参见教材P173)6.22对银行的数据库系统应采取哪些安全措施?分别属于哪一级?答案基本同上一题。6.23什么是”权限?用户访问数据库可以有哪些权限?对数据库模式有哪些修改 权限?用户使用数据库的方式称为权限。用户访问数库的权限有:读权限、插入权限、修改权限、删除权限。用户修改数据库模式的权限有索引权限、资源权限、修改权限、撤销权限。6.24试解释权限的转授与回收。在数据库系统中,为了保证数据的安全性,用户对数据的操作必须首先从DBA处获得权限,才能进行 对数据的操作。同时数据库系统也允许用户将获得的权限转授给其他用户,也允许把已授给其他用 户的权限再回收上来。但应保证转授出去的权限能

15、收得回来。6.25SQL语言中的视图机制有哪些优点?视图机制使系统具有三个优点:数据安全性、数据独立性和操作简便性。6.26SQL2中用户权限有哪几类?并作必要的解释。SQL2中定义了六类用户权限,分别是:(1)SELECT :允许用户对关系或视图执行SELECT操作。(2)INSERT :允许用户对关系或视图执行INSERT操作,如果还说明了一个属性表,那么表示只能 插入这些属性的值,关系中其他属性值将置为缺省值或为空值。(3)DELETE:允许用户对关系或视图执行DELETE操作。(4)UPDATE:允许用户对关系或视图执行UPDATE操作,如果还说明了一个属性表,那么表示只 能修改这些属

16、性的值,否则表示可以修改关系中任一属性值。(REFERENCES:允许用户定义新关系时,引用其他关系的主键作为外键。(6)USAGE:允许用户使用定义的域。6.27数据加密法有些什么优点?如何实现?数据加密可以更好地保证数据的完全性。加密采用一定的加密算法给把源文变为密文来实现。 常用的加密算法有”替换方法”和明键加密法。创建数据库创建之前判断该数据库是否存在 if exists (select * from sysdatabases wherename=databaseName) drop database databaseName go Create DATABASEdatabase-na

17、me删除数据库drop database dbname备份 sql server创建 备份数据的 device USE master EXEC sp_addumpdevice disk, testBack, c:mssql7backupMyNwind_1 .daf 开始 备份 BACKUP DATABASE pubs TO testBack 创建新表create table tabname(col1 typel not null primary key,col2 type2 not null,.) 根据已有的表创 建新表: A: create table tab_new like tab_ol

18、d (使用旧表创建新表) B: create table tab_new as select coll ,col2. from tab_old definition only删除新表drop table tabname增加一个列Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型 也不能改变,唯一能改变的是增加varchar类型的长度。添加主键Alter table tabname add primary key(col) 说明:册!l除主键: Alter table tabname drop primary key(

19、col) 创建索引create unique index idxname on tabname(col.) 删除索弓I : drop index idxname on tabname 注:索引是不可更改的,想更改必须删除重新建。创建视图create view view name as select statement 删除视图:drop view viewname几个简单的基本的sql语句选择:select * from tablel where 范围 插入:insert into tablel(fieldl,field2)values(value1 ,value2) 删除:delete fr

20、om tablel where 范围 更新:update tablel setfieldl =value1 where 范围 查找:select * from tablel where fieldl like%value1%(所有包含 valuer这个模式的字符串)-like的语法很精妙,查资料! 排序:select * from tablel order byfieldl ,field2 desc 总数:select count(*) as totalcount from tablel 求和:select sum(fieldl) as sumvalue from tablel 平均:sele

21、ct avg(fieldl) as avgvalue from tablel 最大:select max(fieldl) as maxvalue from tablel 最小:select min(fieldl) as minvalue from tablelseparator 几个高级查询运算词A: UNION运算符 UNION运算符通过组合其他两个结果表(例如TABLE1和TABLE2)并 消去表中任何重复行而派生出一个结果表。当ALL随UNION 一起使用时(即UNION ALL),不 消除重复行。两种情况下,派生表的每一行不是来自TABLE1就是来自TABLE2O B: EXCEPT

22、运算符 EXCEPT运算符通过包括所有在TABLE1中但不在TABLE2中的行并消除所有重复行而派生出一个结果表。当ALL随EXCEPT 一起使用时(EXCEPT ALL),不消除重复行。 C:INTERSECT运算符 INTERSECT运算符通过只包括TABLE1和TABLE2中都有的行并消除 所有重复行而派生出一个结果表。当ALL随INTERSECT 一起使用时(INTERSECT ALL),不消 除重复行。 注:使用运算词的几个查询结果行必须是一致的。使用外连接A. left outer join: 左外连接(左连接):结果集既包括连接表的匹配行,也包括左连接表的所有行。 SQL: se

23、lect a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c B: right outer join:右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。 C: full outer join: 全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。 编辑本段提升 复制表(只复制结构,源表名:a新表名:b) (Access可用) 法一:select * into b from a where 1 1 法二:select top 0 * into b from a 拷贝表(拷贝数据

24、,源表名:a 目标表名:b) (Access 可用)insert into b(a, b, c) select d,e,f from b; 跨数据库之间表的拷贝(具体数据使用绝对路径)(Access可用)insert into b(a, b, c) select d,e,f from b in,具体数据库 where 条件 例子:.from b in ,&Server.MapPath(,.,&data.mdb where.子查询(表名 1: a 表名 2: b) select a,b,c from a where a IN (select d from b 或者:select a,b,c fr

25、om a where a IN (1,2,3)显示文章、提交人和最后回复时间select a.title,a.username,b.adddate from table a,(select max( add date) add date from table where table.title=a.title) b 外连接查询(表名 1: a 表名 2: b) select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c 在线视图查询(表名 1 : a select * from (Select a,b,c FR

26、OM a) T where t.a 1; between的用法between限制查询数据范围时包括了边界值,not between不包括 select * from tablei wheretime between timel and time2 select a,b,c, from tablel where a not between 数值 1 and 数值 2 in的使用方法select * from tablel where a not in (值 1,值 2,值 4,值 6)删除主表中已经在副表中没有的信息两张关联表 delete from tablel where not exist

27、s ( select * from table2 wheretablel .fieldl =table2.field1 四表联查问题select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .日程安排提前五分钟提醒SQL: select * from 日程安排 where datediff(minute,f 开始时间,getdate()5一条sql语句搞定数据库分页select top 10 b.* from (select top 20 主键

28、字段,排序字段 from 表名 order by 排序字段 desc) a, 表名b where b.主键字段=a.主键字段order by a.排序字段前10条记录select top 10 * form tablel where 范围选择排名选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每 月排行榜,每月热销产品分析,按科目成绩排名,等等.)select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b) 派生结果表包括所有在TableA中但

29、不在TableB和TableC中的行并消除所有重复行而派生出一个结果表 (select a from tableA except (select a from tableB) except (select a from tableC) 随机取出10条数据select top 10 * from tablename order by newid()随机选择记录select newid()删除重复记录Delete from tablename where id not in (select max(id) from tablename group by col1,col2,.) 列出数据库里所有的

30、表名select name from sysobjects where type=U列出表里的所有的select name from syscolumns where id=object_id(TableName)列示排列列示type vender、pcs字段,以type字段排列,case可以方便地实现多重选择,类似select中 的 case。 select type,sum(case vender when A then pcs else 0 end),sum(case vender when C then pcs else 0 end),sum(case vender when B then pcs else 0 end) FROM tablename group by type 显示结果: type vender pcs 电脑A 1 电脑A 1 光盘B 2 光盘A 2 手机B 3 手机C3 初始化表tablelTRUNCATE TABLE tablel选择从10到15的记

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2