数据库安全性与完整性.ppt_第1页
数据库安全性与完整性.ppt_第2页
数据库安全性与完整性.ppt_第3页
数据库安全性与完整性.ppt_第4页
数据库安全性与完整性.ppt_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库系统基础教程 第7章数据库安全性与完整性 计算机普及带来数据保密企业运营需要防止数据被破坏巨额资金数据库管理需要保护数据 第7章数据库安全性与完整性 7 1安全性保护 7 1数据库安全性保护 7 1 1数据库安全性问题提出 1 计算机外部环境保护2 计算机内部系统保护 第7章数据库安全性与完整性 7 1安全性保护 7 1 2数据库安全性保护范围 关系数据库系统的软件平台是操作系统 DBMS需要建立在操作系统之上 操作系统统管数据系统的各种资源 同时某些DBMS还使用操作系统中的文件管理功能 安全的操作系统是安全的数据库重要前提 操作系统应能保证数据库中的数据必须经由DBMS方可访问 不容许用户超越DBMS直接通过操作系统进入数据库 即是说 数据库必须时刻处在DBMS的监控之下 即使通过操作系统要访问数据库 也必须在DBMS中办理注册手续 第7章数据库安全性与完整性 7 1安全性保护 7 1 3操作系统安全性保护 1 身份标识与鉴别用户身份标识与鉴别 IdentificationAndAuthentication 是系统提供的最外层安全保护措施 其方法是每个用户在系统中必须有一个标志自己身份的标识符 用以和其它用户相区别 当用户进入系统时 由系统将用户提供的身份标识与系统内部记录的合法用户标识进行核对 通过鉴别后方提供数据库的使用权 第7章数据库安全性与完整性 7 1安全性保护 7 1 4DBMS安全性保护 1 2 存取控制在存取控制技术中 DBMS所管理的全体实体分为主体和客体两类 主体 Subject 是系统中的活动实体 它包括DBMS所管理的实际用户 也包括代表用户的各种进程 客体 Object 是系统中的被动实体 是受主体操纵的 包括文件 基本表 索引和视图等 第7章数据库安全性与完整性 7 1安全性保护 7 1 4DBMS安全性保护 2 3 审计追踪在数据库安全中除了采取有效手段对主体访问客体作检查外 还采取辅助的跟踪 审计手段 随时记录主体对客体访问的轨迹 并做出分析供参考 同时在一旦发生非法访问后即能提供初始记录供进一步处理 这就是数据库安全保护中的审计 Audit 在DBS中 通常将用于安全目的的数据库日志称为审计追踪 audittrail 第7章数据库安全性与完整性 7 1安全性保护 7 1 4DBMS安全性保护 3 1 视图机制在数据库安全性问题中 一般用户使用数据库时 需要对其使用范围设定必要限制 即每个用户只能访问数据库中的一部分数据 这种必须的限制可以通过使用视图实现 具体来说 就是根据不同的用户定义不同的视图 通过视图机制将具体用户需要访问的数据加以确定 而将要保密的数据对无权存取这些数据的用户隐藏起来 使得用户只能在视图定义的范围内访问数据 不能随意访问视图定义外的数据 从而自动地对数据提供相应的安全保护 第7章数据库安全性与完整性 7 1安全性保护 7 1 5SQL安全性保护机制 1 2 授权机制在SQL中提供了自主访问控制权的功能 它包括了操作 数据域和用户等部分 操作SQL提供六种操作权限 SELECT权限 即数据对象查询权 INSERT权限 即数据对象插入权 DELETE权限 即数据对象删除权 第7章数据库安全性与完整性 7 1安全性保护 7 1 5SQL安全性保护机制 2 UPDATE权限 即数据对象修改权 REFRENCE权限 也就是定义新表时允许使用其它表的属性集作为其外键 USAGE权 也就是允许用户使用已定义的属性 第7章数据库安全性与完整性 7 1安全性保护 7 1 5SQL安全性保护机制 3 数据对象数据对象即是用户访问的数据对象的粒度 SQL包含三种数据对象 表 即是以基本表作为访问对象 视图 即是以视图为访问对象 属性 即是以基表中属性为访问对象 用户即是数据库中所登录的用户 第7章数据库安全性与完整性 7 1安全性保护 7 1 5SQL安全性保护机制 4 授权语句SQL提供了授权语句 其语句形式如下 GRANT ALL ON TO 用户 PUBLIC WITHGRANTOPTION 第7章数据库安全性与完整性 7 1安全性保护 7 1 5SQL安全性保护机制 5 回收语句用户A将某权限授予用户B 则用户A也可以在它认为必要时将权限从B中回收 收回权限的语句称为回收语句 其具体形式如下 REVOKE ALL ON FROM PUBLIC CASCADE RESTRICT 第7章数据库安全性与完整性 7 1安全性保护 7 1 5SQL安全性保护机制 6 3 角色机制在较大规模的DBS中 用户数量通常都非常之大 使用数据库的权限也不尽相同 为了便于管理 需要引入角色概念 第7章数据库安全性与完整性 7 1安全性保护 7 1 5SQL安全性保护机制 7 可以把使用数据库的权限用GRANT语句授予角色 在把角色授予用户 这样用户就拥有了使用数据库的权限 其一般语句格式如下 GRANTONTOGRANTTO角色之间可以存在一个角色链 也就是说可以将一个角色授予另一个角色 而后一个角色也拥有前一个角色的权限 其语句格式为 GRANTTO 第7章数据库安全性与完整性 7 1安全性保护 7 1 5SQL安全性保护机制 8 通常所讲到的数据库的完整性 Integrity 的基本含义是指数据库的正确性 有效性和相容性 其主要目的是防止错误的数据进入数据库 正确性 correctness 是指数据的合法性 例如数值型数据中只能含有数字而不能含有字母 有效性 valid 是指数据是否属于所定义域的有效范围 相容性 consistency 是指表示同一事实的两个数据应当一致 不一致即是不相容 第7章数据库安全性与完整性 7 2数据库完整性 7 2数据库完整性 7 2 1完整性基本概念 1 2 完整性约束条件 静态属性级约束 静态元组级约束 静态关系级约束 动态属性级约束 动态元组级约束 动态关系级约束 第7章数据库安全性与完整性 7 2数据库完整性 7 2 1完整性基本概念 2 第7章数据库安全性与完整性 7 2数据库完整性 7 2 1完整性基本概念 3 1 实体完整性规则当属性A是基本关系R的主属性时 属性A不能取空值 第7章数据库安全性与完整性 7 2数据库完整性 7 2 1完整性基本概念 4 2 参照完整性规则如果属性或属性组F是基本表R的外键 它与基本表S的主键Ks相对应 这里R和S不一定是两个不同的关系 则对于R中每个元组在F上的取值应当满足 或者取空值 即F的每个属性值均为空值 或者等于S中某个元组的主键值 第7章数据库安全性与完整性 7 2数据库完整性 7 2 1完整性基本概念 5 例7 8学生实体和课程实体可以用关系S和C表示 S S Sn Se Sa C C C Cn 其中 S Sn Sex Sa C Cn分别表示属性 学号 姓名 性别 年龄 课程号和课程名 而带下划线的属性表示主键 第7章数据库安全性与完整性 7 2数据库完整性 7 2 1完整性基本概念 6 这两个关系存在属性的引用 关系S引用关系C的主键 C 关系S中的 C 必须是确实存在的课程编号 即为关系C中该课程的记录 而关系S中的 C 属性必须参照关系C中的 C 属性取值 第7章数据库安全性与完整性 7 2数据库完整性 7 2 1完整性基本概念 7 此时 参照关系是C 依赖关系是S 第7章数据库安全性与完整性 7 2数据库完整性 7 2 1完整性基本概念 8 此时 依赖关系S中每个元组的C 只能取下面两类值 空值 表示尚未给该学生分配课程 非空值 此时该值应当是关系C中某个元组的课程号 它表示该学生不能分配到一个未开设的课程 即参照关系C中一定存在一个元组 其主键值等于依赖关系S中的外键值 第7章数据库安全性与完整性 7 2数据库完整性 7 2 1完整性基本概念 9 例7 9设有下面三个关系 S S Sn Se Sa C C C Cn SC S C G 其中 S和C是上例中的学生关系和课程关系 而SC是学生课程关系 属性 G 表示课程成绩 第7章数据库安全性与完整性 7 2数据库完整性 7 2 1完整性基本概念 10 在这3个关系间也存在着属性引用联系 SC引用S的主键 S 和C的主键 C 这样 SC中的S 必须是真正存在的学号 即S中应当有该学生的记录 SC中的 C 也必须是确实存在的课程号 即C中应当有该门课程的记录 这也就是说 关系SC中某些属性的取值需要参照关系S和关系C的属性方可进行 第7章数据库安全性与完整性 7 2数据库完整性 7 2 1完整性基本概念 11 此时 关系SC的 S 属性与关系S中主键 S 相对应 关系SC中 C 属性与关系C中的主键 C 相对应 因此 S 和 C 是关系SC的外键 这里SC是依赖关系 而S和C均是参照关系 第7章数据库安全性与完整性 7 2数据库完整性 7 2 1完整性基本概念 12 依赖关系SC中S 和C 可以取两类值 空值和已经存在的值 由于S 和C 都是关系SC的主属性 依照实体完整性规则 它们均不能取空值 所以依赖关系SC中的S 和C 属性实际上只能取相应参照关系S和C中已经存在的主键值 第7章数据库安全性与完整性 7 2数据库完整性 7 2 1完整性基本概念 13 3 用户完整性规则实体完整性规则和参照完整性规则适用于任何关系数据库库系统 即是关系数据库必需遵守的规则 任何一个RDBMS都必须支持 根据具体应用环境不同 不同的关系数据库往往还需要一些相应的特殊完整性约束条件 这就是用户定义的完整性约束规则 第7章数据库安全性与完整性 7 2数据库完整性 7 2 1完整性基本概念 14 1 完整性约束控制功能 定义功能 检查功能 处理功能 第7章数据库安全性与完整性 7 2数据库完整性 7 2 2完整性控制 1 2 参照完整性实现策略实体完整性规则在三类完整性约束规则中最为基本 但实现起来相对简单 即DBMS需要提供主键值不得为空的机制 参照完整性规则和用户自定义完整性规则涉及因素较多 呈现出相对复杂的情形 用户自定义完整性需要考虑不同的应用实际 不可能有统一的范式 而参照完整性处在抽象语义层面 可以一般研究其实现的各种基本策略 第7章数据库安全性与完整性 7 2数据库完整性 7 2 2完整性控制 2 1 依赖关系中外键空值问题在外键取空值问题上 存在两种情况 如果依赖关系的外键是其主键组成部分 由实体完整性规则 此时外键值不允许取空值 如果依赖关系的外键不是主键的组成部分 则可以根据具体的语义环境确定外键值是否允许空值 第7章数据库安全性与完整性 7 2数据库完整性 7 2 2完整性控制 3 2 参照关系中删除元组问题 级联删除 CascadesDelete 就是将依赖关系中所有外键值及参照关系中要删除元组主键值相同的元组一起删除 在例7 9中 删除参照关系S中S 03001的元组同时 将依赖关系SC中4个S 03001的元组一起删除 如果参照关系同时又是另一个关系的依赖关系 则这种删除关系操作会持续级联下去 第7章数据库安全性与完整性 7 2数据库完整性 7 2 2完整性控制 4 受限删除 RestrictedDelete 就是仅当依赖关系中没有任何元组的外键值与参照关系中要删除元组的主键值相同时 系统才执行删除操作 否则拒绝这个删除操作 例如对于上面的情况 由于依赖关系SC中有4个元组的S 都等于03001 系统将拒绝删除参照S关系中S 03001的元组 第7章数据库安全性与完整性 7 2数据库完整性 7 2 2完整性控制 5 置空值删除 NullifiesDelete 就是删除参照关系的元组时 将依赖关系中相应元组的外键值置空 上述例7 9中 在删除参照关系S中S 03001的元组时 将依赖关系SC中所有S 03001的元组的S 值置为空值 第7章数据库安全性与完整性 7 2数据库完整性 7 2 2完整性控制 6 3 依赖关系中插入元组问题 受限插入如果参照关系中不存在相应元组 其主键值与依赖关系插入元组的外键值相同时 系统就拒绝执行插入操作 递归插入如果参照关系存在元组 其主键值等于依赖关系插入元组的外键值 则先向参照关系插入相应元组 然后再向依赖关系插入元组 第7章数据库安全性与完整性 7 2数据库完整性 7 2 2完整性控制 7 4 元组中主键值修改问题 不容许修改主键 容许修改主键 第7章数据库安全性与完整性 7 2数据库完整性 7 2 2完整性控制 8 4 元组中主键值修改问题 不容许修改主键 容许修改主键 第7章数据库安全性与完整性 7 2数据库完整性 7 2 2完整性控制 9 1 基本表完整性约束 1 候选键与主键定义候选键定义格式为UNIQUE 主键定义格式为PRIMARYKEY 第7章数据库安全性与完整性 7 2数据库完整性 7 2 3SQL的完整性机制 1 其中 UNIQUE 中列名序列可以为空 而 PRIMARYKEY 中不能为空 一个关系表只能有一个PRIMARYKEY 但可以由多个UNIQUE 即使说 PRIMARYKEY定义了主键 不能为空 而UNIQUE定义了候选键 可以为空 第7章数据库安全性与完整性 7 2数据库完整性 7 2 3SQL的完整性机制 2 2 外键定义外键定义基本形式为FOREIGNKEY REFERENCES表名 ONDELETE ONUPDATE 第7章数据库安全性与完整性 7 2数据库完整性 7 2 3SQL的完整性机制 3 我们已经知道 作为外键的关系表称为依赖表 作为主键的关系表称为参照表 在上述定义中 FOREIGNKEY 中的 是依赖表的外键 第7章数据库安全性与完整性 7 2数据库完整性 7 2 3SQL的完整性机制 4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论