数据库系统概论总结——万字长文

举报
战士小小白 发表于 2022/09/25 10:31:32 2022/09/25
【摘要】 前言:博主是在校大二学生,目前正在学习数据库系统概论课程,笔记一直在更新完善,若有不妥的地方,请大家提出宝贵的意见,欢迎大家点赞收藏!!!(万分感谢,预计三月底完成所有笔记更新) 第一章 绪论1.1 数据库的系统概述1.1.1 数据库的4个基本概念一、数据(data)1)定义:是数据库中存储的基本对象,描述事物的符号记录2)种类:数字、文字、图形、图像、音频、视频等3)特点:数据与其语义是不...

前言:博主是在校大二学生,目前正在学习数据库系统概论课程,笔记一直在更新完善,若有不妥的地方,请大家提出宝贵的意见,欢迎大家点赞收藏!!!(万分感谢,预计三月底完成所有笔记更新) 

第一章 绪论

1.1 数据库的系统概述

1.1.1 数据库的4个基本概念

一、数据(data)
1)定义:是数据库中存储的基本对象,描述事物的符号记录
2)种类:数字、文字、图形、图像、音频、视频等
3)特点:数据与其语义是不可分的

二、数据库(DataBase,DB)
1)定义:数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合
2)基本特征:

  • 按一定的数据模型组织、描述和储存
  • 具有较小的冗余度
  • 较高的数据独立性
  • 易扩展性
  • 可为各种用户共享

三、数据库管理系统
1)定义:是位于用户与操作系统之间的一层数据管理软件。
2)用途:科学地组织和存储数据,高效地获取和维护数据
3)功能:

  • 数据定义功能

    提供数据定义语言(DDL):创建、修改、删除
    定义数据库中的数据对象的组成与结构

  • 数据组织、存储和管理

    分类组织、存储和管理各种数据
    确定组织数据的文件结构和存取方式
    实现数据之间的联系
    提供多种存取方法

  • 数据操纵功能

    提供数据操纵语言(DML)
    方便用户操纵数据
    实现对数据库的基本操作(如查询、插入、删除和修改等)

  • 数据库的事务管理和运行管理

    由数据库管理系统统一管理和控制数据库的建立、运用和维护
    保证事务的正确运行
    保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复

  • 数据库的建立和维护功能

    数据库初始数据的输入、转换功能
    数据库的转储、恢复功能
    数据库的重组织功能和性能监视 、分析功能等

  • 其他功能

    数据库管理系统与网络中其他软件系统的通信功能
    数据库系统之间或与文件系统的数据转换功能
    异构数据库之间的互访和互操作功能

四、数据库系统(DataBase System,DBS)

1)定义:由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统
2)构成:

  • 数据库
  • 数据库管理系统(及其开发工具)
  • 应用系统
  • 数据库管理员 

1.1.2  数据管理技术的产生和发展 

1.人工管理阶段
背景:

  • 应用背景——科学计算
  • 硬件背景——无直接存取存储设备
  • 软件背景——没有操作系统
  • 处理方式——批处理

特点:

  • 数据的管理者——用户(程序员)
  • 数据面向的对象——某一应用程序
  • 数据的共享程度——无共享,冗余度极大
  • 数据的独立性——不独立,完全依赖于程序
  • 数据的结构化——无结构
  • 数据控制能力——应用程序自己控制

2.文件系统阶段:
背景:

  • 应用背景——科学计算、数据管理
  • 硬件背景——磁盘、磁鼓
  • 软件背景——有文件系统
  • 处理方式——联机实时处理、批处理

特点:

  • 数据的管理者——文件系统
  • 数据面向的对象——某一应用
  • 数据的共享程度——共享性差,冗余度大
  • 数据的独立性——独立性差
  • 数据的结构化——记录内有结构、整体无结构
  • 数据控制能力——应用程序自己控制

3.数据库系统阶段:
背景:

  • 应用背景——大规模数据管理
  • 硬件背景——大容量磁盘、磁盘阵列
  • 软件背景——有数据库管理系统
  • 处理方式——联机实时处理、分布处理、批处理

特点:

  • 数据的管理者——数据库管理系统
  • 数据面向的对象——现实世界(一个部门、企业、跨国组织等)
  • 数据的共享程度——共享性高,冗余度小
  • 数据的独立性——具有高度的物理独立性和一定的逻辑独立性
  • 数据的结构化——整体结构化,用数据模型描述
  • 数据控制能力——由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力

1.1.3  数据库系统的特点

  • 数据结构化

    数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别

  • 数据的共享性高、冗余度低且易扩充

    数据共享可以大大减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相容性与不一致性

  • 数据独立性高

    物理独立性是指用户的应用程序与数据库中数据的物理存储是相互独立的
    逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的

  • 数据由数据库管理系统统一管理和控制

    1)数据的安全性保护
    2)数据的完整性检查
    3)并发控制
    4)数据库恢复

1.2  数据模型 

 数据模型(data model):是对现实世界数据特征的抽象,是数据库系统的核心和基础

1.2.1  两类数据类型

一、概念模型(也称信息模型)
作用:第一次抽象,用于数据库设计
二、逻辑模型和物理模型 :第二次抽象
1)逻辑模型:主要包括层次模型、网状模型、关系模型、面向对象模型和对象关系数据模型、半结构化数据模型等
2)物理模型:是对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方法,或在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的

1.2.2 概念模型 

作用:
1.用于信息世界的建模
2.现实世界到信息世界的第一层抽象
3.是数据库设计人员进行数据库设计的有力工具
4.是数据库设计人员和用户之间进行交流的语言

一、信息世界的基本概念
1)实体:客观存在并可相互区别的事物
2)属性:实体所具有的某一特性
3)码:唯一标识实体的属性集称为码
4)实体型:用实体名及其属性名集合来抽象和刻画同类实体
5)实体集合:同一类型实体的集合
6)联系:实体之间的联系通常是指不同实体集之间的联系
二、概念模型的一种表示方法:实体-联系方法
该方法用E-R图来描述现实世界的概念模型,E-R方法也成为E-R模型。
注意:只画直接联系 供应商和厂家之间并不是之间联系,他们之间的联系是建立在零件的基础之上的,如果没有零件,他们不存在任何关系。


1.2.3 数据模型的组成要素

数据模型通常由数据结构、数据操作和数据完整性约束条件三部分组成
一、数据结构:数据结构描述数据库的组成对象以及对象之间的联系,是对系统静态特性的描述
二、数据操作:数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则
三、数据的完整性约束条件:一组完整的规则的集合,用以限定复合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容

1.2.4 常用的数据模型

  • 层次模型
  • 网状模型
  • 关系模型
  • 面向对象数据模型
  • 对象关系数据模型
  • 半结构化数据模型 

1.2.5 层次模型 

一、层次模型的数据结构
基本条件:

  • 有且只有一个结点没有双亲结点,这个结点称为根节点
  • 根以外的其他结点有且只有一个双亲你结点 

 特点:任何一个给定的记录值只能按其层次路径查看,没有一个子女记录值能够脱离双亲记录值而单独存在

二、层次模型数据库的操纵与完整性约束 

操纵:查询、插入、删除、更新

三、层次模型的优缺点 

优点:

  • 数据结构比较简单清晰
  • 查询效率高
  • 提供了良好的完整性支持 

缺点:

  • 现实世界中很多联系是非层次性的,如结点之间具有多对多联系,不适合用层次模型
  • 如果一个结点具有多个双亲结点等,不适合层次模型
  • 查询子女结点必须通过双亲结点
  • 由于结构严密,层次命令趋于程序化 

1.2.6 网状模型 

 一、网状模型的数据结构
条件:

  • 允许一个以上的结点无双亲
  • 一个结点可以有多个双亲

二、网状模型的数据操纵与完整性约束
一般来说没有层次模型那样严格的约束条件

三、网状模型的优缺点:
优点:

  • 能够更为直接的描述现实世界,如一个结点可以有多个双亲,结点之间可以有多种联系
  • 育有良好的性能,存取效率高

缺点:

  • 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于醉种用户掌握
  • 网状模型的DDL、DML复杂,并且要嵌入某一种高级语言(如COBOL、C)中,用户不容易掌握、不容易使用
  • 由于记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此用户必须了解系统结构的细节,加重了编写应用程序的负担 

1.2.7 关系模型 

 一、关系模型的数据结构
关系:表
元组:表中的一行即为一个元组
属性:表中的一列即为一个属性
码:也称码键,通过码可以唯一确定一个元组(比如仅通过一个学号就可以找到一个具体的学生)
域:域是一组具有相同数据类型的值的集合
分量:元组中的一个属性值
关系模型:对关系的描述

条件:关系的每一个分量必须是一个不可分的数据项 

二、关系模型的数据操纵与完整性约束
分类:

  • 实体完整性
  • 参照完整性
  • 用户定义的完整性 

三、关系模型的优缺点
优点:

  • 关系模型与格式化模型不同,它是建立在严格的数学概念的基础上的
  • 关系模型的概念单一,数据结构简单,清晰,用户易懂易用
  • 存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作

缺点:

  • 存取路径对用户是隐蔽的,查询效率往往不如格式化数据模型 

1.3 数据库系统的结构 

1.3.1 数据库系统模式的概念 

1)型:对某一类数据的结构和属性的说明
2)值:型的一个具体赋值。
3)模式:数据库中全体数据的逻辑结构和特征的描述,它仅仅设计型的描述,不涉及具体的值。4)实例:模式的一个具体值,反应数据库某一时刻的状态,同一个模式可以有很多实例,实例随                  数据库中的数据的更新而变动

1.3.2 数据库系统的三级模式结构 

一、模式:模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,一个数据库只有一个模式
二、外模式:外模式也称子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据逻辑表示
三、内模式:内模式也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。

1.3.3 数据库的二级映像功能与数据独立性

一、外模式/模式映像
外模式描述的是数据的局部结构,保证了数据的逻辑独立性
二、模式/内模式映像
定义了数据全局逻辑结构与存储结构之间的对应关系 ,保证了数据的物理独立性
三、数据的存取由DBMS管理的好处:
1)用户不必考虑存取路径等细节
2)简化了应用程序的编制
3)大大减少了应用程序的维护和修改

1.4  数据库系统的组成

一、硬件平台及数据库

  1. 要有足够大的内存,存放操作系统、数据库管理系统的核心模块、数据缓冲区和应用程序
  2. 有足够大的磁盘或磁盘阵列等设备存放数据库,有足够大的磁带(或光盘)作数据备份
  3. 要求系统又较高的通道能力,以提高数据传送率

二、软件

  1. 数据库管理系统。数据库管理系统是为数据库的建立、使用和维护配置的系统软件
  2. 支持数据库管理系统运行的操作系统
  3. 具有与数据库结构的高级语言及其编译系统,便于开发应用程序
  4. 以数据库管理系统为核心的应用开发工具
  5. 为特定应用环境开发的数据库应用系统

三、人员

  • 数据库管理员(DBA)
  • 系统分析员和数据库设计人员
  • 应用程序员
  • 用户

第二章 关系数据库 

2.1 关系数据结构及形式化定义 

2.1.1 关系 

1)域:一组具有相同数据类型的值的集合/范围(整数、实数)
2)笛卡尔积:给定一组域D1, D2,…,Dn,允许其中某些域是相同的。不一定有实际意义

  • 所有域的所有取值的一个组合
  • 不能重复
  • 基数:一个域允许的不同取值个数 

3)关系:笛卡尔积的子集(去掉笛卡尔积当中无效的、关系具有实际意义
4)元组:关系中的每个元素是关系中的元组
5)分量:笛卡尔积元素(劣,d2,…,dn)中的每一个值4叫作一个分量
6)基数:若0 (i=1, 2,…,n)为有限集,其基数为m

关系的类型:

  1. 基本关系(基本表或基表)
  2. 查询表
  3. 视图表 

基本关系的性质:

  1. 列是同质的(每一列中的分量是同一类型的数据,来自同一个域)
  2. 不同列可以出自同一个域
  3. 列的顺序无所谓
  4. 行的顺序无所谓
  5. 任意两个元组的候选码不能取相同的值
  6. 分量必须取原子值(每一个分量都必须是不可分的数据项)

n个关系具有n个属性,但不一定有n个域(域最多n个),不同的属性可以来自同一个域 

2.1.2 关系模式

关系模式是型(结构),关系是值

关系模式对关系的描述:
1)元组集合的结构(属性构成、域、映射)
2)元组语义以及完整性约束条件
3)属性间的数据依赖关系集合

关系的描述称为关系模式:R(U,D,DOM,F)
R为关系名 U为组成该关系的属性名集合,D为U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合

注意:域名及属性向域的映像常常直接说明为属性的类型、长度
关系是关系模式在某一时刻的状态或内容

关系模式的特点:静态的、(相对)稳定的
关系的特点:动态的、随时间不断变化的 

2.1.3 关系数据库 

定义:在一个给定的应用领域中,所有关系的集合构成
型:关系数据库模式,是对关系数据库的描述
值:关系模式在某一时刻对应的关系的集合,通常称为关系数据库

2.1.4 关系模型的存储结构 

  1. 有的关系数据库管理系统中一个表对应一个操作系统 文件,将物理数据组织交给操作系统完成
  2. 有的关系数据库管理系统从操作系统那里申请若干个大的文件,自己划分文件空间,组织表、索引等存储 结构,并进行存储管理

2.2.1 基本的关系操作 

一、常用的关系操作

  • 查询操作: 选择、投影(选出若干列)、连接、除、并、差、 笛卡尔积。选择、投影、并、差、笛卡尔基是5种基本操作
  • 数据更新:插入、删除、修改

二、关系操作的特点 
集合操作方式:操作的对象和结果都是集合, 一次一集合的方式

2.2.2 关系数据库语言的分类 

一、关系代数语言 
用对关系的运算来表达査询要求

二、关系演算语言:用谓词来表达査询要求

  • 元组关系演算语言
  • 谓词变元的基本对象是元组变量
  • 代表:APLHA, QUEL

五、 具有关系代数和关系演算双重特点的语言
代表:SQL (Structured Query Language)

2.3 关系的完整性 

1)实体完整性
2)参照完整性
3)用户定义的完整性

2.3.1 实体完整性 

1)实体完整性规则是针对基本关系而言的。
2)现实世界中的实体是可区分的,即它们具有某种唯一性标识。
3)关系模型中以主码作为唯一性标识。
4)主码中的属性即主属性不能取空值。

2.3.2 参照完整性 

1)关系间的引用
在关系模型中实体及实体间的联系都是用关系来描述的,自然存在着关系与关系间的引用 
2)外码
F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是R的外码
3)参照完整性原则

若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系RS不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值

2.3.3 用户定义的完整性

  • 针对某一具体关系数据库的约束条件,反应某一具体应用所涉及的数据必须满足的予以要求
  • 关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不需由应用程序承担这一功能

2.4 关系代数 

2.4.1 传统的集合运算

并、差、交、笛卡尔积  

笛卡尔积:这里是广义的笛卡尔积,以元组集合作为运算数
作用:对集合进行合并运算,是原来份力的信息合并,存在重复的信息,存在语义上重复,可能存在无意义的元组

2.4.2 专门的关系运算 

 选择、投影、连接、除运算
投影:投影操作时从列的角度进行的运算,投影之后不仅取消了原关系的某些列,而且还可能取消某些元组,因为取消了某些属性列后,就可能出现重复行,如果包含候选码,行就不会减少

连接:从两个关系的笛卡尔积中选取属性间满足一定条件的元组
等值连接:值可以比较就能形成等值连接,不管值的意义(例如拿年龄和工资来比较)
自然连接:是一种特殊的等值连接,建立在等值连接基础上
一般的连接操作是从行的角度进行运算,但自然连接还需要取消重复列,所以是同时从行和列进行运算的 

第三章 关系数据库标准语言SQL 

3.1 SQL概述 

SQL:结构化查询语言,是关系数据库的标准语言

3.1.1 SQL的产生与发展 

目前还没有一个数据库系统能够支持SQL标准的所有概念和特性 

3.1.2 SQL的特点 

  1. 集DDL、DML、DCL功能于一体
  2. 高度非过程化
  3. 面向集合操作
  4. 以同一种语法结构提供多种使用方式
  5. 语言简洁、易学易用

3.1.3 SQL的基本概念 

 1)基本表

  • 本身独立存在的表
  • SQL中一个关系就对应一个基本表
  • 一个(或多个)基本表对应一个存储文件
  • 一个表可以带若干索引

2)存储文件

  • 物理结构组成了关系数据库的内模式
  • 物理结构对用户是隐蔽的 

3)视图

  • 从一个或几个基本表导出的表
  • 数据库中只存放视图的定义而不存在视图对应的数据
  • 视图是一个虚表
  • 用户可以在视图上再定义视图

3.2 学生-课程数据库 

 学生-课程模式S-T:
学生表Student(Sno,Sname,Ssex,Sage,Sdept)
课程表 Course(Cno,Cname,Cpno,Ccredit)
学生选课表SC(Sno,Cno,Grade)

Student
学号
Sno
姓名
Sname
性别
Ssex
年龄
Sage
所在系
Sdept
201215121 李勇 20 CS
201215122 刘晨 19 CS
201215123 王敏 18 MA
201215124 张立 19 IS
Course
课程号
Cno
课程名
Cname
先行课
Cpno
学分
Ccredit
1 数据库 5 4
2 数学
2
3 信息系统 1 4
4 操作系统 6 3
5 数据结构 7 4
6 数据处理
2
7 PASCAL语言 6 4
SC表
学号
Sno
课程号
Cno
成绩
Grade
201215121 1 92
201215121 2 85
201215121 3 88
201215122 2 90
201215122 3 80

3.3 数据定义 

SQL的数据定义功能:

  • 模式定义
  • 表定义
  • 视图和索引的定义 

3.3.1 模式的定义与删除 

1)定义模式
2)删除模式 

3.3.2 基本表的定义、删除与修改  

3.3.3 索引的建立与删除  

3.3.4 数据字典 

3.4 数据查询 

SELECT:指定要现实的属性列 
FROM:指定查询对象
WHERE:指定查询条件
GROUP BY:对查询结果按指定列的值分组,该属性列值相等的元组为一个组
HAVING:只有满足指定条件的组才予以输出
ORDER BY:对查询结果表按指定列值的升序或降序排序

3.4.1 单表查询  

3.4.2 连接查询 

3.4.3 嵌套查询

3.4.4 集合查询

3.4.5 基于派生表的查询

3.4.6 Select语句的一般形式 

3.5 数据更新 

3.6 空值的处理 

3.7 视图 

 第四章 数据库安全性

4.1 数据库安全性概述

4.1.1 数据库的不安全因素 

1)非授权用户对数据库的而已存取和破坏

  • 一些黑客和犯罪分子在用户存取数据库时猎取用户名和用户口令,然乎假冒合法用户偷取、修改甚至破坏用户数据
  • 数据库管理系统提供的安全措施主要包括用户身份鉴别、存取控制和视图等技术

2)数据库中重要或敏感的数据被泄露 

  • 黑客和敌对分子千方百计盗取数据库中的重要数据,一些机密信息被暴露
  • 数据库管理系统提供的主要技术有强制存取控制、数据加密存储和加密传输等
  • 审计日志分析

3)安全环境的脆弱性

  • 数据库的安全性与计算机系统的安全性紧密联系(计算机硬件、操作系统、网络系统等的安全性)
  • 建立一套可信计算机系统的概念和标准 

4.1.2 安全标准简介

TCSEC/TDI安全级别划分
安全级别 定义
A1 验证设计
B3 安全域
B2 结构化保护
B1 标记安全保护
C2 受控的存取保护
C1 自主安全保护
D 最小保护


CC评估保证级(EAL)划分
评估保证级 定义 TCSEC安全级别
EAL1 功能测试
EAL2 结构测试 C1
EAL3 系统地测试和检查 C2
EAL4 系统地设计、测试和复查 B1
EAL5 半形式化设计和测试 B2
EAL6 半形式化验证地设计和测试 B3
EAL7 形式化验证地设计和测试 A1



4.2 数据库安全性控制 

1)非法使用数据库的情况

  • 编写合法程序绕过数据库管理系统及其授权机制
  • 直接或编写应用程序执行非授权操作
  • 通过多次合法查询数据库从中推导出一些保密数据 
  • 计算机系统中,安全措施是一级一级层层设置

 2)存取控制流程

  • 首先,数据库管理系统对提出SQL访问请求的数据库用户进行身份鉴别,防止不可信用户使用系统。
  • 然后,在SQL处理层进行自主存取控制和强制存取控制,进一步可以进行推理控制。
  • 还可以对用户访问行为和系统关键操作进行审计,对异常用户行为进行简单入侵检测。

3)数据库安全性控制的常用方法 

  • 用户标识和鉴定
  • 存取控制
  • 视图
  • 审计
  • 数据加密

4.2.1 用户身份鉴别

  • 系统提供的最外层安全保护措施
  • 用户标识:由用户名和用户标识号组成(用户标识号在系统整个生命周期内唯一)

用户身份鉴别的方法:
1)静态口令鉴别
 静态口令一般由用户自己设定,这些口令是静态不变的
2)动态口令鉴别
口令是动态变化的,每次鉴别时均需使用动态产生的新口令登录数据库管理系统,即采用一次一密的方法
3)生物特征鉴别
通过生物特征进行认证的技术,生物特征如指纹、虹膜和掌纹等
4)智能卡识别
智能卡是一种不可复制的硬件,内置集成电路的芯片,具有硬件加密功能

4.2.2 存取控制

1)存取控制机制组成

  • 定义用户权限,并将用户权限登记到数据字典中
    1、用户对某一数据对象的操作权力称为权限
    2、DBMS提供适当的语言来定义用户权限,存放在数据字典中,称做安全规划或授权规则
  • 合法权限检查
    1、用户发出存取数据库操作请求
    2、DBMS查找数据字典,进行合法权限检查

2)用户权限定义和合法权检查机制一起组成了数据库管理系统的存取控制子系统

3)常用存取控制方法

  • 自主存取控制(DAC)
    1、C2级
    2、用户对不同的数据对象有不同的存取权限
    3、不同的用户对同一对象也有不同的权限
    4、用户还可将其拥有的存取权限转授给其他用户
  • 强制存取控制(MAC)
    1、B1级
    2、每一个数据对象被标以一定的密级
    3、每一个用户也被授予某一个级别的许可证
    4、对于任意一个对象,只有具有合法许可证的用户才可以存取

4.2.3 自主存取控制方法

  • 通过 SQL 的GRANT 语句和REVOKE 语句实现
  • 用户权限组成
    数据对象
    操作类型
  • 定义用户存取权限:定义用户可以在哪些数据库
    对象上进行哪些类型的操作
  • 定义存取权限称为授权
  • 关系数据库系统中存取控制对象
An

4.2.4 授权:授予与回收  

4.2.5 数据库角色

 数据库角色:被命名的一组与数据库操作相关的权限

  • 角色是权限的集合
  • 可以为一组具有相同权限的用户创建一个角色
  • 简化授权的过程

4.2.6 强制存取控制方法

  • 强制存取控制(MAC)
    1、保证更高程度的安全性
    2、用户不能直接感知或进行控制
    3、适用于对数据有严格而固定密集分类的部门(军事部门、政府部门)
  • 在强制存取控制中,数据库管理系统所管理的全部实体被分为主体和客体两大类
  • 主体是系统中的活动实体
    1、数据库管理系统所管理的实际用户
    2、代表用户的各进程
  • 客体是系统中的被动实体,受主体操纵(文件、基本表、索引、视图
  • 敏感度标记(Label)
    1、
    对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)
    2、敏感度标记分成若干级别(绝密、机密、可信、公开)

  • 主体的敏感度标记称为许可证级别(Clearance Level)
  • 客体的敏感度标记称为密级(Classification Level)
  • 强制存取控制规则
    1.
    仅当主体的许可证级别大于或等于客体的密级时,
    该主体才能读取相应的客体
    2.
    仅当主体的许可证级别小于或等于客体的密级时,
    该主体才能写相应的客体
  • 强制存取控制(MAC)是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据。
  • 实现强制存取控制时要首先实现自主存取控制
    1.
    原因:较高安全性级别提供的安全保护要包含较低级别的所
    有保护​​​​​
  • 自主存取控制与强制存取控制共同构成数据库管理系统的安全机制

4.3 视图机制
1.把要保密的数据对无权存取这些数据的用户隐藏起来,对数据提供一定程度的安全保护
2.间接地实现支持存取谓词的用户权限定义

4.4 审计
什么是审计 
1.启用一个专用的审计日志(Audit Log)
      
将用户对数据库的所有操作记录在上面
2.审计员利用审计日志
  
监控数据库中的各种行为,找出非法存取数据的人、时间和内容
3.C2以上安全级别的DBMS必须具有审计功能

审计功能的可选性
1.审计很费时间和空间
2.DBA可以根据应用对安全性的要求,灵活地打开或关闭审计功能
3.审计功能主要用于安全性要求较高的部门
An Introd

4.5 数据加密

 1.数据加密
   防止数据库中数据在存储和传输中失密的有效手段
2.加密的基本思想
   根据一定的算法将原始数据—明文(Plain text)变换
  为不可直接识别的格式—密文(Cipher text)
3.加密方法
   存储加密
   传输加密
4.存储加密
   1)透明存储加密
      内核级加密保护方式,对用户完全透明
      将数据在写到磁盘时对数据进行加密,授权用户读取数 时再对其进行解密
       数据库的应用程序不需要做任何修改,只需在创建表语
     句中说明需加密的字段即可
     内核级加密方法: 性能较好,安全完备性较高
 2)非透明存储加密
     通过多个加密函数实现
5.传输加密
链路加密
 在链路层进行加密
 传输信息由报头和报文两部分组成
 报文和报头均加密
 端到端加密
 在发送端加密,接收端解密
 只加密报文不加密报头
 所需密码设备数量相对较少,容易被非法监听者发现并
从中获取敏感信息  

4.6 其他安全性保护 

1.推理控制
处理强制存取控制未解决的问题
 避免用户利用能够访问的数据推知更高密级的数据
 常用方法
基于函数依赖的推理控制
基于敏感关联的推理控制
2.隐蔽信道
 处理强制存取控制未解决的问题
An Introduction to Database System其他安全性保护(续)
3.数据隐私保护
 描述个人控制其不愿他人知道或他人不便知道的个人
数据的能力
 范围很广:数据收集、数据存储、数据处理和数据发
布等各个阶段
















【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。