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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(数据库的安全和完整性约束.doc)为本站会员(weiwoduzun)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

数据库的安全和完整性约束.doc

1、S00810 数据库原理与设计方法东南大学自动控制系 第 1 页第八章 数据库的安全和完整性约束数据库的破坏一般来自下列四个方面:(1)系统故障;(2)并发所引起的数据不一致;(3)人为的破坏,例如数据被不该知道的人访问,甚至被篡改或破坏;(4)输入或更新数据库的数据有误,更新事务未遵守保持数据库一致性的原则。8.1 数据库的安全安全的操作系统是数据库安全的前提。8.1.1 视图定义和查询修改8.1.2 访问控制数据库用户按其访问权力的大小,一般可分为以下三类。1. 一般数据库用户在 SQL 中,这种用户称为“具有 CONNECT 特权的用户” 。这种用户可以与数据库联系,并具有下列特权:(1

2、)按照授权可以查询或更新数据库中的数据;(2)可以创建视图或定义数据的别名。2. 具有支配部分数据库资源特权的数据库用户在 SQL 中,这种用户称为“具有 RESOURCE 特权的用户 ”,除具有一般数据库用户所拥有的所有特权外,还有下列特权:(1)可以创建表、索引和簇集;(2)可以授予或收回其他数据库用户对其所创建的数据对象的访问权;(3)有权对其所创建的数据对象跟踪审查(audit)(有关跟踪审查的内容将在稍后介绍)。3. 具有 DBA 特权的数据库用户DBA 拥有支配整个数据库资源的特权,这种用户除具有上述两种用户所拥有的一切特权外,还有下列特权:(1)有权访问数据库中的任何数据;(2)

3、不但可以授予或收回数据库用户对数据对象的访问权,还可以批准或收回数据库用户;(3)可以为 PUBLIC 定义别名, PUBLIC 是所有数据库用户的总称;(4)有权对数据库进行调整、重组或重构;(5)有权控制整个数据库的跟踪审查。1. identification and authentication2. authorizationS00810 数据库原理与设计方法东南大学自动控制系 第 2 页GRANT 特权类型 , 特权类型 TO用户标识符 IDENTIFIED BY 口令 ;特权类型:CONNECT | RESOURCE | DBA例 8-1 GRANT DBA TO WANG IDEN

4、TIFIED BY B02M29J;例 8-2 GRANT CONNECT TO CHANG IDENTIFIED BY xyzabc;GRANT RESOURCE TO CHANG;REVOKE特权类型 , 特权类型 FROM 用户标识符 ;GRANT 特权 ON 表名 TO 受权者 , 受权者 WITH GRANT OPTION ;特权:ALL PRIVILEGES | 操作, 操作 操作:SELECT | INSERT | DELETE | UPDATE (准许修改的属性表)准许修改的属性表:属性名, 属性名受权者:PUBLIC | 用户标识符REVOKE 特权 ON表名FROM 受权者

5、, 受权者;设有用户 Ul、U2、U3 和 U4,U1 有一张表 S,下面是一连串授权过程:U1 授权给 U2:U1:GRANT SELECT ON TABLE S TO U2 WITH GRANT OPTION;U2 授权给 U3:U2:GRANT SELECT ON TABLE U1.S TO U3 WITH GRANT OPTION;U3 授权给 U4:U3:GRANT SELECT ON TABLE U1.S TO U4 WITH GRANT OPTION;U1 收回授给 U2 的特权;U1:REVOKE SELECT ON TABLE S FROM U2;此语句的作用不仅收回 U1

6、授予 U2 的特权(即 SELECT ON TABLE S),而且还收回 U2授予 U3、U3 授予 U4 的这种特权。GRANT SELECT,UPDATE(GRADE,ADDRESS) ON TABLE S1 TO XU,MA;8.1.3 数据加密8.1.4 跟踪审查AUDIT SELECT,INSERT,DELETE ,UPDATE ON emp WHENEVER SUCCESSFUL;即对 emp 表的每次成功的选择、增、删、改操作都作跟踪审查记录。NOAUDIT ALL ON emp;S00810 数据库原理与设计方法东南大学自动控制系 第 3 页8.2 统计数据库的安全8.3 完整

7、性约束8.3.1 完整性约束的类型固有约束静态约束 隐含约束显式约束动态约束8.3.2 完整性约束的说明1 用过程说明约束2 用断言说明约束ASSERT 余额约束 ON 储蓄账:余额0;3 用触发子表示约束whenever thcn ;DEFINE TRIGGER 余额约束 ON 储蓄账: 余额0ACTION_PROCEDURE 卷回事务,通知帐户;4 CHECK 子句8.3.3 完整性约束的实施1.S00810 数据库原理与设计方法东南大学自动控制系 第 4 页第九章 分布式数据库管理系统9.1 分布式数据库系统分布式数据库系统(distributed database system ,简称

8、 DDBS)DDBS 有以下三个特点:(1) 数据是分布的,因此它不同于通过计算机网共享的集中式数据库系统;(2) 分布的数据是相互有关的,一般是一个单位或多个有关单位的数据,因此它不同于由网络互连的多个独立数据库系统;(3) 数据由 DDBMS 统一管理,因此它不同于一般的分布式文件系统。分布式数据库有下列四个优点:(1) 有利于改善性能(2) 可扩充性好(3) 可用性好(4) 自治性好DDBS 的缺点:(1) 异构(2) 分布设计9.2 数据分布策略9.2.1 数据分布的目的1 提高访问的局部性(locality of reference)2 分担负荷目的不同,数据库服务器的位置、客户机与

9、其连接的方式均不同。9.2.2 数据分布的方式1 划分式(partitioned)2 全重复式(fully replicated)3 部分重复式(partially replicated)S00810 数据库原理与设计方法东南大学自动控制系 第 5 页9.2.3 关系的分割分布单位:1 关系2 裂片(fragment )分割方式: 水平分割 垂直分割 混合分割分割准则:a) Completenessb) Reconstructionc) Disjointness9.2.4 数据分布带来的问题1 保持多复本致性2 保持分布一致性3 全局查询的处理4 分布事务的管理S00810 数据库原理与设计方

10、法东南大学自动控制系 第 6 页9.3 分布式数据库系统结构9.4 数据目录的分布及管理9.4.1 数据目录分布的策略1. 集中式(centralized)2. 扩展的集中式(centralized (extended)3. 全重复式(fully replicated)4. 部分重复式(partially replicated)5. 用缓存提高目录读速度(speed up through caching)9.4.2 分布式数据库系统中的命名1. 全局名空间(global name space)S00810 数据库原理与设计方法东南大学自动控制系 第 7 页2. 层次名空间9.5 查询分解和优化

11、S00810 数据库原理与设计方法东南大学自动控制系 第 8 页9.6 分布式数据库系统中的恢复技术9.6.1 两步提交协议9.6.2 三步提交协议S00810 数据库原理与设计方法东南大学自动控制系 第 9 页9.7 分布式数据库系统中的并发控制9.7.1 分步式数据库系统中的两步封锁1 写全锁(write locks all)写全锁的加锁协议如下: 读:在任一复本上加 S 锁 写:在所有复本上加 X 锁 保持所有锁到全局事务结束(EOT)2 多数封锁(majority locking)加锁协议如下: 读:对过半数的复本上加 S 锁 写:对过半数的复本上加 X 锁 保持所有锁到全局事务结束(

12、EOT)3 N 中取 K 封锁(K out of N locking)加锁协议如下: 写:对 n 个复本中的 k 个复本上加 X 锁 kn/2 读:对 n 个复本中的 n-k+1 个复本上加 S 锁 保持所有锁到全局事务结束(EOT)4 主结点法9.7.2 全局死锁的检测S00810 数据库原理与设计方法东南大学自动控制系 第 10 页第十章 数据依赖和关系模式的规范化10.1. 关系模式设计中的一些语义问题Functional Dependency (FD): XYR(S#,C#,G.,TN,D)F=S#,C#G, C#TN, TND计算机系要通知教师准备给学生补考,可以“查询计算机系所开课

13、程的不及格学生的学号、不及格课程号以及任课教师的姓名”:SELECT S#,C#,TNFROM RWHERE D=CSAND G=F;问题:1 数据冗余太大2 更新异常(update anomalies): modification anomaly insertion anomaly deletion anomalysolution:分解关系模式规范化:SCG(S#,C#,G)CTN(C#,TN)TND( TN,D)SELECT S#,C#,TNFROM SCG,CTN,TNDWHERE SCG.C#=CTN.C# AND CTN.TN=TND.TN AND D=CS AND G=F;S008

14、10 数据库原理与设计方法东南大学自动控制系 第 11 页10.2.函数依赖R U=A1,A2,An F rDefine 10.2-1 functional dependencyR(A1,A2,An) X U, Y U t1,t2 r 若 t1X=t2X, 则 t1Y=t2Y, XYTrivial functional dependency: 若 Y X,则 XYX Y若 XY,YX 则 XYDefine 10.2-2 full (partial) functional dependencyR(A1,A2,An) X U, Y U 且 XY,如 XY ,且 X X,使得 XY,则称 XY,否则

15、,X Y。 f pS#, C# TN S#, C# G fDefine 10.2-3 transitive functional dependencyR(A1,A2,An) X U, Y U, Z U,且 XYZ,若 XY,Y X,YZ,则称 XZ。 tDefine 10.2-4 逻辑蕴涵F 是 R 的 FD 的集合,XY 是 R 的一个 FD,若一关系模式满足 F,则必然满足XY,称 F 逻辑蕴涵 XY:F XYDefine 10.2-5 closure函数依赖集合 F 所逻辑蕴涵的函数依赖的全体称为 F 的闭包,记为 F+,即 F+=XY|F XY Armstrongs axioms:A1

16、: reflexivity若 Y X U,则 XY。A2: augmentation若 XY,且 Z U,则 XZYZ。A3: transitivity若 XY,YZ,则 XZ。合并规则:XY,XZ X YZ引理 10.2-1 Armstrong 公理是正确的(sound) ,即如果 F 成立,则由 F 根据 Armstrong 公理所推导的函数依赖总是成立的。引理 10.2-2 下列三条推理规则是正确的:(1) the union rule:XY,XZ X YZ(2) the pseudo transitivity rule: XY,WYZ XWZ(3) the decomposition

17、rule:如果 XY 且 Z Y,则 X Z 成立。结论:由分解规则,若 X A1,A2,Ak,则 X Ai(i=1k); 由合并规则,若XA i(i=1k ) ,则 X A 1,A2,Ak,故 X A 1,A2,Ak XA i(i=1k)S00810 数据库原理与设计方法东南大学自动控制系 第 12 页Define 10.2-6 closureX+设 X U,则属性集 X 关于 FD 集 F 的闭包 X+=A|AU,且 XA 可由 Armstrongs axioms 导出引理 10.2-3 XY 可由 Armstrongs axioms 导出 Y X+。定理 10.2-1 Armstrong

18、s axioms 是正确的、完备的(complete) 。X+=A|AU,且 XAF +或 X+=A|AU,且 F XAF+=XY|XY 可由 Armstrongs axioms 从 F 导出算法 10.2-1 求 X+Input: X U,FOutput: X+方法:按下列方法依次求 X( 0) ,X (1) ,X (i) ,(1) 初始化:X (0) =X,i=0;(2) 求 B=A|( V) ( W) (VW F V X(i ) AW)(3) X(i+1) =BX (i)(4) X(i+1) =X( i) ?(5) 不等,i=i+1,返回(2) 。(6) 相等,X +=X(i)例 10-

19、1 设FABC ,DEG,CA ,BEC ,BCD ,CGBD ,ACDB ,CEAG,计算(BD)+。解:X (0) =BD找左部为 BD 的子集的函数依赖,只有 DEGX(1) =BDEG=BDEG找左部为 BDEG 的子集的函数依赖,有 DEG,BE CX(2) = X(1) EGC=BCDEG找左部为 BCDEG 的子集的函数依赖,有DEG ,C A,BEC,BCD,CGBD ,CE AGX(3) = X(2) ABCDEG=ABCDEG(BD) +=U算法 10.2-1 改进:1 若 X(i) =U,则迭代结束,X +=U2 在每次迭代中,用过的 FD 可不必再选出来,因其对结果已不

20、再增加属性。Define 10.2-7 FD set F、G,若 F+=G+,则称 FG 等价。引理 10.2-4 F+=G+ F G+,G F+引理 10.2-5 任一函数依赖集 F 总可以为一右部恒为单属性的函数依赖集所覆盖。Define 10.2-8 函数依赖集 F 如果满足下列条件,则称为极小函数依赖集或最小覆盖。(1)F 中每个函数依赖的右部为单属性。(2)F 中不存在这样的函数依赖 XA,使得 F -(XA )与 F 等价。(3)在 F 中也不存在这样的 XA,使得 F-(XA)(ZA )与 F 等价,式中Z X。定理 10.2-2 任一函数依赖集 F 都与一最小函数依赖集 F等价

21、。F称为 F 的最小覆盖。S00810 数据库原理与设计方法东南大学自动控制系 第 13 页10.3.多值依赖XYXU-X-YDefine 10.3-1 设 X、Y 是关系模式 R 的属性集,如果对于 R 的任何值 r,都有如下性质,则称 R 满足 XY。如果 r 中存在两个元组 s、t,使得sXtX则 r 中必然存在两个元组 u、 v,使得uX=vX=sXtXuY=tY且 uU-X-YsU-X-YvY=sY且 vU-X-YtU-X-Y10.4.连接依赖例 10-2 设有一关系 SPJ(S#,P#,J#) ,S#表示供应商号,P# 表示零件号,J#表示工程号。SPJ 表示供应关系,即某供应商供

22、应某零件给某工程。如果此关系的语义满足下列条件:SPJSPJS#,P# SPJP#,J# SPJJ#,S#S00810 数据库原理与设计方法东南大学自动控制系 第 14 页10.5.关系模式的分解及其问题Define 10.5-1 设有一关系模式 R(U),若用一关系模式的集合R 1(U1),R 2(U2),R k(Uk)来取代,其中,U ,则称此关系模式的集合为 R 的一个分解,以 R l,R 2,,R k表kiU1示。Define 10.5-2 F 在属性集 Ui( U)上的投影定义为关系模式的分解主要有两种准则:(1) 只满足无损分解要求。(2) 既满足无损分解要求,又满足保持依赖要求。

23、关系 R(ABCD),FAB, CD,则分解 =R 1(AB) ,R 2(CD)算法 10.5-1 检验一个分解是否无损分解。Input: 关系模式 R(A 1,A2,An) ;R 上有 FD 集 F;R 上的分解 R l,R 2,,R k。Output: 是否无损分解。方法:建立 n 列、k 行的矩阵 M,其中每列对应于 R 的一个属性,每行对应于 中的一个关系模式。S00810 数据库原理与设计方法东南大学自动控制系 第 15 页则, 不是无损分解。例 10-4 R(ABCDE) ,=R 1(AD) ,R 2(AB) ,R 3(BE ) ,R 4(CDE) ,R 5(AE)是 R 的一个分

24、解。在 R 上有下列 FD:A C、B C、C D、DEC、CE A 。试判断 是否为无损分解。S00810 数据库原理与设计方法东南大学自动控制系 第 16 页例 10-5 在例 10-3 中:10.6.关系模式的规范化1NF(Normal Form)2NF3NFS00810 数据库原理与设计方法东南大学自动控制系 第 17 页BCNF4NF5NFR(S#,C#,G.,TN,D) F=S#,C#G, C#TN, TNDR 分解为 R1(S# ,C#,G)和R2(C#,TN,D)R2 可分解为 R3(C# ,TN )和 R4(TN,D )算法 10.6-1 NF2 1NF横向或纵向展开。算法

25、10.6-2 1NF 2NF即消除非主属性对键的 PFD。设 R(K 1,K 2,A,B) ,K 1+K2 为键,AB 为非主属性。 F=K1A ,K 1K2B则将 R 分解为 R1(K 1,A)和 R2(K 1,K 2,B )S00810 数据库原理与设计方法东南大学自动控制系 第 18 页算法 10.6-3 2NF 3NF即消除非主属性对键的 TFD。设 R(K,A,B,C ) ,K 为键,ABC 为非主属性。F=KA,KB,BC则将 R 分解为 R1(B ,C)和 R2(K ,A,B)可以直接从 1NF 3NF例 10-6 R(ABCD)F=ABC ,BD,BCA键:AB 和 BC,则

26、ABC 为主属性,D 为非主属性,D 部分 FD 于键,分解为:R1(BD)和 R2(ABC)例 10-7 R(CTHRSG) ,C-课程,T-教师,H-时间,R-教室,S-学生,G-成绩。F=CT,HRC,HTR,CSG,HSR键:HS,HS 为主属性,CTRG 为非主属性。HSR(已知) ,HSH(平凡 FD)HSHR(合并规则) ,HRC(已知) ,HSC(传递律)CT(已知) ,HST(传递律)HSR(已知)HSS(平凡 FD)HSC(已求出)HSCS(合并规则)CSG(已知) ,HSG(传递律)处理 HSG ( TFD)得 R1(CSG )原 R 变为 R(CTHRS)处理 HST(TFD)得 R2(C T)原 R 变为 R(CHRS )处理 HSC ( TFD)得 R3(HRC)原 R 变为 R4(HRS)即 R 分解为:R1(CSG):学生的各门课程的成绩R2(CT ):每门课程的教师R3(HRC):每门课的上课时间和在每个时间的上课教室R4(HRS):学生在每个时间的上课教室。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报