数据库安全与保护.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

转储可以分为增量转储和海量转储。海量转储是指每次转储全部数据库,而增量转储是指每次转储上次转储后修改过的数据。转储要用DBMS提供的专门命令,而不能简单采用复制数据库文件的方法。转储可分为静态转储和动态转储。静态转储是指系统停止对外服务,不允许用户运行事务,只进行转储操作。动态转储是指转储期间允许用户对数据库进行存取操作,即转储和用户事务可以并发执行。普通用户是无权进行转储操作的,转储操作必须由DBA完成。当然DBA也可以授权给其他用户,由他代为转储。登记日志文件日志文件是用来记录事务的每一次对数据库更新操作的文件,包括用户的更新操作以及由此引起的系统内部的更新操作。有了日志文件,DBMS就可以根据日志文件进行事务故障恢复和系统故障恢复,并结合后援副本进行介质故障恢复了。AS IF(SELECTCOUNT(*) FROMD,Inserted WHERED.Dnum=inserted.Dnum)=0BEGINPRINT系编号输入有误!ROLLBACKTRANSACTIONEND为了验证我们创建的触发器是否发挥作用,我们可以再写一条SQL语句来插入一条新的学生信息,并故意将该学生的系编号设为院系表中没有的一个,比如8。插入数据的SQL语句如下:INSERTINTOSVALUES(S010,王港,男,348)执行结果:系编号输入有误!可见我们创建的触发器Ins_student正常地发挥了作用。例7.2建立一个名为Ins_teacher的触发器,在向教师表插入记录时引发该触发器,检查所插入元组中教师的工资是否大于1000元且小于10000元,若不是则提示用户“工资必须大于1000元,小于10000元”,并且回滚事务。解:CREATETRIGGERIns_teacherONTAFTERINSERTAS IF(SELECTCOUNT(*)FROMInsertedWHERETsalary=1000ORTsalary=10000)0BEGIN PRINT工资必须大于1000元,小于10000元!ROLLBACKTRANSACTIONEND插入一个老师信息,设定工资为800元,测试该触发器的SQL语句如下:INSERTINTOTVALUES(’T010’,’成洁’,’女’,’1965-5-3’,’讲师’,800,,’2’)执行结果:工资必须大于1000元,小于10000元!可见,触发器Ins_teacher也正常地发挥了作用。7.3并发控制与封锁7.3.1事务定义事务(transaction)是构成单一逻辑工作单元的操作集合。性质原子性(Atomicity):事务是一个不可分割的工作单元。一致性(Consistency):即数据不会应事务的执行而遭受破坏。隔离性(Isolation):在多个事务并发执行时,系统应保证与这些事务先后单独执行时的结果一样。持久性(Durability):一个事务一旦完成全部操作后,它对数据库的所有更新应永久地反映在数据库中。例子:事务及其性质问题:设银行数据库中有一转账事务T,从账号A转一笔款子($50)到账号B。相应的事务:T:read(A); A:=A–50; write(A); read(B); B:=B+50; write(B).原子性(A,B同时被修改或同时保持原值)一致性(A+B的值不变)隔离性持久性例7.3假设某公司在华东地区设立了一个配送中心,负责向其在上海、杭州和南京的分公司输原料。现在要从配送中心发送数量为Quantity、编号为Gno1的商品到其在上海的分公司。设配送中心的商品库存信息存放在CenterInventory(Gno,QTY,…)关系中,而上海分公司的商品库存信息存放在ShanghaiInventory(Gno,QTY,…)关系中,其中Gno和QTY属性分别代表商品编号及其库存量。试编写一事务Tl完成相关操作。解:.../*读出配送中心关于商品Gno1的库存量QTY*/EXECSQLSELECTQTYINTO:MQTYFROMCenterInventoryWHEREGno=:Gno1;/*从配送中心商品库存信息CenterInventory表中减去Gno1

文档评论(0)

技术支持工程师 + 关注
实名认证
文档贡献者

仪器公司技术支持工程师

1亿VIP精品文档

相关文档