




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
IntroductiontoDatabase第6第6章数据保华东理工大学信息学安全完整并发控数据恢数据库与数据库镜.1问题的提例:军事、国家、新产品实验数据、市场需求分析、市场策略、销售计划、客户、医疗、银行储蓄数据数据库中数据的共享是在DBMS统一的严格的控制之下的共享,即只允许有合法使用权限的用户数据库系统的安全保护措施是否有效是数据库系统主要的①查找(Select)权限:允许用户读数据,但②(Insert)权限:允许用户新的数③修改(Update)权限:允许用户修改数据,④删除(Delete)权限:允许用户删除数据(2)(2)①索引(Index)权限:允许用户创建和删除索②资源(Resource)权限:允许用户创建新的关③修改(Alteration)权限:允许用户在关系结.211(1)认(2)认(3)(4)(1)认:DBMS给每个用户分配一个字符串。相当于一个门系统一个用户标识符合的对应表,只有当用户标识符合符合对应关系时,系统才确认此用户,才要求用户隔一段时间后必须更换自己 认用户的:是系统管理员为用户定义的用户名,记录在计算机系统或DBMS中用户名:是用户在计算机系统或DBMS中的唯一标识(3)利用用户的个人特(3)利用用户的个人特:上记录某用户的用户标识符使用时,用户需显示自己的,输入设备自动读,从而鉴别用户。如果采用智能,可约的杂算程存放在上,结合和系统提供的随机数自动计算机结果并把结果输入到系统中,安全性更高。22定义存取权在数据库系统中,为了保证用户只能他合法权限检 22SL标准也对存取控制提供支持,SRAN语句和REVOKE语句来实现定义存取权限(对象类 对 操作类数据库(模式)模 CREATE基本表CREATETABLE,ALTER CREATE索 CREATEREFERENCES,ALL 基本表SELECT,INSERT,UPDATE,属性列SELECTREFERENCES,ALL22例:一张
SC.GradeSC.SnoSC.Cno
33视图机制与机制配合使首先用视图机制掉一部分数视图上面再进一步定义33[例]只能检索计算机系学生的信先建立计算机系学生的视图CREATEVIEWCS_Student WHERESdept='CS';33在视图上进一步定义存取权GRANTONCS_StudentTO;GRANTALLONCS_StudentTO;44数据加密Plaintext)(术语为密文,Cipher不知道算法的人无法获知数据的内44数据加密加密方使用密钥(EncryptionKey)将明文中的每一个字1977年制定的加密标准:数据加密标准(DataEncryptionStandard,简称44数据加密DBMS中的数据加许用户数据加密与是比较费时的操数据加密与程序会占用大量系统资应该只对高度的数据加启用一个的审计日志(Audit 找出存取数据的人切成功和(或)不成功的要求以及各种REVOKESQLServer的安全性是建立在认证和Oracle的安全性除了用户标识和6.26.2数据的安全性是保护数据库防止的 它的防范对象是用户和 完完整性约束条元组:静态约束:足的约束条件,它反映数据库状态合理性的约束。动态约束:指数据库从一种状态转变为另一种状态时,新、旧值之间所应满足的约束条件,它反映数据库状态变迁的约束。11度等。例如:名字为长度为8的字符型,为短整型围为0—100,的取值集合为[男,女22静态元组级约束就是规定元组的各个列之间的约束关系。量过订货量。33实体完整性约束:在一个关系模式中定义主码。一个基参照完整性约束:在关系模式中定义外码44动态列级约束目前已存在空值,则这种修改。例如职工工资调整不得低于其原来工资,学生的只566动态关系约完整性的约束条件可以从不同角度进行分类,可有多种分类方法。存入模式
定义功
用户自定执行DELETE语句整性
违约处
检查是否违了完整性定(NO级联用途1减轻了应用程序员2能够为所有的用户和所有的应用提供一致的数据库完整性,可避免 11约束可延迟性延迟执行约束:指整个事务执行结束后才对数据应22表1(1)(1)空值,表示这个职尚未分配到任何具体的部门工作。
(2(2)出现违约操作的情形删除被参照关系的某个元组(Studen)而参照关系有若SC 删除(NO级连删除置空值删除(SET-置默认值(SET-
此删除操作键值与组主键值没有相对应可删除被参照表的元组除置为并将参照表中与被参表中被删除元组主键这五种处理方法,哪一种是正确的相等的外键值置为一
预定义的默认值(2(2)950001删除:系统将执行此删除操作(3(3)出现违约操作的情需要在参照关系中元组,而被参照
于参照关系元组的外(3(3)例:向SC关系(99001,1,90)元组,受限:系统将向SC关系(99001,1,90)元递归:系统将首先向Student关Sno=99001的元组,然后向SC(99001,1,90)元组(4)(4)两种策违约处 修◦此修改操作Sno值改为960123。而SC关系中有4个元组在学生选课数据库中只有第法是正[[例4]CREATETABLE(SnoCHAR(9)NOTNULL,CnoCHAR(4)NOTNULL,GradeSMALLINT,PRIMARYKEY(Sno,Cno),FOREIGNKEY(Sno)REFERENCESStudent(Sno)ONDELETECASCADEFOREIGNKEY(Cno)REFERENCESONDELETENOACTIONONUPDATECASCADE 言CHEC、时应使用断言。【例1】每门课程只允许100个学生选修CREATEASSERTIONCHECK(100>=ALL(SELECTCOUNT(Sno)FROMSCGROUPBYCno))(】许计算机系的学生选修01号课程CREATEASSERTIONasser2CHECK(NOT(SELECTFROMWHEREANDSdept=‘计算机’ANDCno=‘01’CREATEASSERTIONasser3CHECK(NOT(SELECTSnoFROMSCWHERECno(SELECTCnoFROMWHERECname<>‘离散数学’)ANDSnoNOTIN(SELECTSnoFROMSCWHERECnoIN(SELECTCnoFROMWHERECname=‘离散数学(2(2为了实施比FOREIGNKEY约束、CHECKS(Sno,Sname,Sage, 在关系SC中修改Grade值时,必须仍在0-100在删除关系C中一个元组时,首先要把关系 在关系S中把某个So值修改为新值时,必须同时把关系C中那些同样的no值也修改为新值。CHECK(SageBETWEEN16ANDCHECK(SnoIN(SELECTSnoFROMS));CHECK(CnoIN(SELECTCnoFROMS));FOREIGNKEY(Sno)REFERENCESFOREIGNKEY(Cno)REFERENCESCHECK(GradeBETWEEN0ANDFOREIGNKEY(Cno)REFERECESC(Cno)ONDELETERESTRICT;FOREIGNKEY(Sno)REFERENCESS(Sno)ONUPDATECASCADE;假设有下面两个关系模式职工(职工号,,,职务,工资,部门号)部门(部门号,名称,经理名,)用L语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:定义每个模式的主码定义参照完整性解:CREATETABLE职工(职工号CHAR(8),SMALLINT,职务工资DECIMAL(6,2),部门号CHAR(6),PRIMARYKEY(职工号FOREIGNKEY(部门号 REFERENCES部门(部门号CHECK(CREATETABLE(部门号CHAR(6),名称CHAR(20),经理名CHAR(6),CHAR(8),PRIMARYKEY(部门号SQLSQLServer完整性的类实体完整性:主键机域完整性:类型定参照完整性:外规则约束缺省值触发器6.3事务和程序是两个概一个应用程序通常包含多个事事务是恢复和并发控制的基本单(1)(1)显式定义方BEGINSQL语句1SQL语句隐式方
事务正常结提交事务的所有对数据库的更新生效。(2(2事务的特性(ACID特性事务的ACID特性原子性一致性性持续性(Durability(1)(1)(2)AB(2)ABA=A-银行转帐:从帐号A中取出一万元,存入帐号B定义一个事务,该事务包括两个操这两个操作要么全做,要么全不全做或者全不做,数据库都处于一致性状态如果只做一个操作,数据库就处于不一致性状性②读③A←A-写④写回一个事务的操作及使用的数据对其他并发事务是的。(4)(4)就应该是性的。并发控制机制的可能会存取和存并发控制机制的致DBMS必须提供并并发控制机制是衡量一个DBMS性能的重要标志之
对并发操作进行正确调保证事务的保证数据库的丢失修改(lost不可重复读(non-repeatable读“脏”数据(dirty(1(1②读③A←A-写④A←A-写回②读③A←A-写④A←A-写回(2(2读求和②读写回读求和(验算不对读求和②读写回读求和(验算不对事务T1某一数据后次数据时,发现某些记录神密地事务T2了一些记录,当事务T1再次按相同条件数据时,发现多了一些记录。后两种不可重复读有时也称为幻影(phantom(3)(3)写回②③C恢复为读事务T2同一数据后这务T1已修改过的数据6.3.2并发操作的调什么样的并发操作调度是正确(Serializable)的调保证并发操作调度正确性的方◦方法:两段锁(Two-PhaseLocking,可串行性是并行事务正确性的唯一对这两个事务的不同调度策串行执串行调度策略串行调度策略交错执不可串行化的调可串行化的调 事务 读A:B=A+1;写回设A,B的初值均为211、读2、3、读4、1、读2、3、读4、SlockSlockUnlockXlockUnlockSlock UnlockXlockUnlock串行调度策略,正确的调SlockSlockUnlockXlockUnlockSlockUnlockXlockUnlock假设A、B的初值均为2串行调度策略,正确的调SlockSlockSlockSlockUnlockUnlockXlockXlockUnlockUnlock是错误的调SlockSlock可UnlockXlock执Slock等 等是Unlock等UnlockXlockUnlock结果与串行调从理论上讲,在某一事务执行时其他事务保证并发操作调度正确性的方◦方法:两段锁(wo-PhaseLocking,◦就是事务T在对某个数据对象(例如表、元组基本类排它锁(eXclusivelock,简记为X锁共享锁(Sharelock,简记为S锁排它锁(X锁若事务T对数据对象A加上X锁,则只允许T和修改TOM为News加X锁 也不允许别人看见(读)News,即对面包加S锁若事务T对数据对象A加上S锁,则其它事务只能再对加S锁,而不能加X锁,直到TA上的S锁O为ws加S锁,则不允许别人对ws加锁(修改)e;但允许ELLE和IE对ws加锁,即(读)看见ws所以TOM、ELLEN、ALICE都只能看XS-XNNYSNYY-YXS-XNNYSNYY-YYY22协②③A←A-等等等等④获得Xlock⑤更新过的值T2按此新的A值进行运(2(2①Xlock①Xlock②Slock等③等(C恢复为等Unlock等 ④获得Slock ⑤CommitUnlockT1因某种原因被撤销恢复为原值SlockB求和②③UnlockAUnlock④⑤XlockB获0Unlock(3)(3)可重复事务T1在读A,B之前,先A,B加S锁时被只能等待T1BT1结束才A,B上的S锁T2才获得对B的X33(1解决的办法:采用先来先服务的策(2(2lock••Lock••Lock•等•等Lock等等等等•一次法:要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。顺序法:顺序法是预先对数据对象规定一顺序,所有事务都按这个顺序实行死锁的与解允许死锁发解除死一旦检测到死锁,就要设法解检测死锁:检测死锁:优点:实现简缺有可能误判死事务等待图是一个有向图为结点的集合,每个结点表示正运行的事U为边的集合,每条边表示事务等待的情并发控制子系统周期性地(比如每隔1min)T1等待T3等待
T2等待解除死锁:选择一个处理死锁代价最小的事务,将其撤消,此事务持有的所有的锁,使44X锁和S锁都是加在某一个数据对象:在关系数据库中,对象:逻辑单元:属性值、属性值集合、元组、44例:对整个数据库加锁对某个属性值加对象的大小称为的粒多粒度(multiplegranularity选选的粒度 大,小系统被的对 少,多并发 低,高系统开 小,大选择粒度务:以数据库为单位;为单元;6.46.4计算机硬件故系统应用的错操作员的的破运行事务中破坏数据DBMS提供恢复子系保证故障发生后,能把数据库中的数据从错误状态恢复到某种逻辑一致的状态保证事务.1事务故系统故介质故计算机某个事务在运行过由于种种原因未运行至常终止点就夭折输入数据有运算溢了某些完整性限某些应用程序出并行事务发生死有无撤消事务操例如:银行转帐事务,这个事务把一笔金事务操作成 读帐户甲的余额BALANCE=BALANCE-AMOUNT;(AMOUNT为转帐金额 (BALANCE<0 {}写回BALANCEBALANCE1=BALANCE1AMOUNT;}事务故障的恢复:撤消事务强行回滚(ROLLBACK)该事22系统故整个系统的正常运行突然被破所有正在运行的事务都终内存中数据库缓冲区的信息全部丢外部设备上的数据未受影系统故障常见的原操作系统或DBMS代码错操作员操作特定类型的硬件错误(如CPU故障突然停未未完成事已完成事3、3、介质故硬件故障使在外存中的数据部分丢失或全部丢介质故障比前两得多硬件故磁盘损磁头碰操作系统的某种瞬时强磁场干装入数据库发生介质故障前某个时刻的数据副重做自此时始的所有成功事务,将这些事务已提交结果重新记入数据库44计算机特破坏隐蔽传染潜伏.2恢复机制涉及的关键问如何建立冗余数数据转储登录日志文件如何利用这些冗余数据实施数数据转登记日志文11转转储是指DBA将整个数据库到磁带或另一个磁这些备用的数据文本称为后备副本或后援副本转储的用当数据库遭到破据库恢复到转储时的状态应该根据数据库使用情况确定一个适当的转储周期转储方静态转储与动态转海量转储与增量转转转故故障发生转运行事↓正常运重装后备副重新运行事恢在系统中无运行事务时进行转转储开始时数据库处于一致性状优点:实现简缺点:降低了数据库的可用转储必须等用户事务结新的事务必须等转储结故障发生静态转 运行事 正常运 重装后备副恢 不用等待正在运行的用户事务结不会影响新事务的运不能保证副本中的数据正确有需要把动态转储期间各事务对数据库的修改活动记下来,建立日志文后备副本加上日志文件才能把数据库恢复到某一刻的正确状运行事 故障发生动态转 运行事 正常运 重装后备副 利用日志文件恢恢 ━━━━━━╋━━━ 登记日志文件登记新日志文转储日志文重装后备副本,然后利用转储的日志文件恢恢复到 致性状海量转储:每次转储全部数据增量转储:只转储上次转储后更新过的数海量转储与增量转储比从恢复角度看,使用海量转储得到的后备副本进行恢复往往更方便但如果数据库很大,事务处理又十分频繁,则增量转方式更实用更有转储方法分转储状动态转静态转海量转动态海量转静态海量转增量转动态增量转静态增量转应定期进行数据转储,制作后备副例每天晚上进行动态增量转每周进行一次动态海量转每月进行一次静态海量转日志文件的内是用来记录事务对数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国婴儿服饰礼盒行业市场发展态势分析及发展趋势与投资战略研究报告
- 一年级写人作文我们班的说书先生300字9篇范文
- 黄豆发芽1000字9篇
- 神奇的想象之旅想象作文(6篇)
- 2025年提子项目市场调查研究报告
- 新市场营销人员培训心得体会
- 大型活动的夏季降温与防虫措施
- 关于包饺子的初一作文13篇
- 童年如梦800字14篇
- 服装行业面料质量检测与管理措施
- 第五版-FMEA培训教材-新版
- NB-T32036-2017光伏发电工程达标投产验收规程
- 食品安全与日常饮食智慧树知到期末考试答案章节答案2024年中国农业大学
- PE袋化学品安全技术说明书MSDS(聚乙烯塑胶袋)
- 医院检验科实验室生物安全管理手册
- 七人学生小品《如此课堂》剧本台词手稿
- 大坝安全监测培训课件
- 高等数学上册ppt课件完整版
- 电力建设热工热控作业指导书
- 甲醇及制氢装置预试车方案
- 分子的立体构型
评论
0/150
提交评论