数据库系统概论(第五版)——数据库原理
数据库系统概论(第五版)——数据库原理
0 前⾔
数据库是⼤数据领域⾮常重要的⼀个部分,并且随着数据量不断增⼤和数据结构更加复杂,数据库技术将变得⽇益重要。笔者本科时修过数据库原理的课程,但当时仅从应⽤的⾓度去看,甚⾄都不能算有⾓度,只能说学了⼀点sql语句,甚是浅显,说⼀⽆所知都不过分。⽬前笔者处在研究⽣阶段,研究⽅向为⼤数据与数据挖掘,经过学习和探索,笔者认为数据库是本领域最重要的三项技术之⼀,其他两项分别为数据挖掘算法和云计算技术,有机会也会进⾏探讨与分享。本系列内容将是我在重读王珊、萨师煊编著,⾼等教育出版社出版的《数据库系统概论(第5版)》的过程中
和数据库技术的应⽤四个⽅⾯进⾏梳理。
的笔记和思考,笔者将从数据库原理、数据库设计、关系数据库原理和数据库技术的应⽤
数据库原理
1.1 数据库概述
数据库是数据管理的有效技术,是计算机科学的重要分⽀。
1. 数据库的四个基本概念:数据、数据库、数据库管理系统和数据库系统。 数据是数据库中存储的⼏本对象。描述事物的符号记录称为数据。
1. 数据库的四个基本概念:
数据的含义称为数据的语义。数据库是存放数据的仓库。数据库是长期存储在计算机内、有组织的、可共享的⼤量数据的集合。数据库数据具有永久存储、有组织和可共享三个基本特点。数据库管理系统(DBMS)是位于⽤户与操作系统之间的⼀层数据管理软件。DBMS的主要功能有数据定义、数据组织存储管理、数据操纵、数据库的事务管理和运⾏管理、数据库的建⽴和维护、其他(通信、数据转换)等。数据库系统(DBS)是由数据库、数据库管理系统、应⽤程序和数据库管理员组成的存储、管理、处理和维护数据的系统。
2. 数据管理技术的三个阶段: ⼈⼯管理阶段——>⽂件系统阶段——(避免数据冗余,解决多⽤户、多应⽤共享数据问题)——>数据库系统阶2. 数据管理技术的三个阶段:
段。
3. 数据库系统的特点: ①数据结构化。②数据的共享性⾼、冗余度低且易扩充。避免数据之间的不相同性和不⼀致性。(不⼀致性是指同⼀数3. 数据库系统的特点:
据不同副本的值不⼀样)③数据独⽴性⾼。物理独⽴性是指⽤户的应⽤程序与数据库中数据的物理存储是相互独⽴的。逻辑独⽴性是指⽤户的应⽤程序与数据库的逻辑结构是相互独⽴的。④数据由数据库管理系统统⼀管理和控制。DBMS提供的数据控制功能包括数据的安全性保护、数据的完整性检查、并发控制和数据库恢复。
4. 数据模型:数据模型是⼀种模型,它是对现实世界数据特征的抽象。两⼤类:
两⼤类:第⼀类是概念模型,第⼆类是逻辑模型和物理模型。⽤户的观4. 数据模型:
组成要素:数据结构,数据操作,数据的完整性约束条点—>计算机系统的观点。现实世界—>信息世界(第⼀类)—>机器世界(第⼆类)。组成要素:
数据操作是指对数据库中对象实例允许执⾏的操作的集合,主要件。数据结构
数据结构描述数据库的组成对象以及对象之间的联系,是系统的静态特性。数据操作
数据的完整性约束条件是⼀组完整性规则,对数据及其联系的制约和依存规则,以有查询和更新(增删改)两⼤类,是对系统动态特性的描述。数据的完整性约束条件
保证数据的正确、有效和相容。
4.1 概念模型
(1)信息世界的概念:实体(⼈,事,物),属性,码(唯⼀标识实体的属性集,学号),实体型(实体名与属性名集合抽象表⽰的同类实(1)信息世界的概念:
体,如学⽣(学号,姓名,性别)),实体集(同⼀类实体的集合,如全体学⽣),联系(实体各属性间,实体与实体间,⼀对⼀,⼀对多,多对多)。
(2)表⽰⽅法:
E-R模型。
(2)表⽰⽅法:实体-联系⽅法。该⽅法⽤E-R图,E-R⽅法也称为E-R模型
4.2 逻辑模型
格式化模
常见的有层次模型,⽹状模型,关系模型,⾯向对象数据模型,对象关系数据模型,半结构化数据模型。层次模型和⽹状模型统称为格式化模型,使⽤和实现时要涉及物理层的复杂结构,因⽽被关系模
型取代,随着⾯向对象⽅法的影响,许多关系数据库⼚商为了⽀持⾯向对象模型,将关系模型扩展为对象关系模型。由于Web上信息来源为半结构化和⾮结构化数据源,产⽣了以XML为代表的半结构化数据模型和⾮结构化数据模型。
数据项或字段,数据结构的单位是基本层次联系
基本层次联系。基本层次联系指两个记录及他们之间的记录表⽰,实体的属性对应记录的数据项或字段
格式化模型中实体⽤记录
⼀对多(包括⼀对⼀)的联系。⼀-双亲节点,多-⼦⼥节点。
4.2.1 层次模型
层次数据库采⽤层次模型,代表有IMS(Information Management System),IBM,1968。
(1)数据结构:数据库中满⾜两个条件的基本层次联系的集合为层次模型:1)有且只有⼀个节点没有双亲节点,即根节点;2)根节点以外的(1)数据结构:
其他节点有且只有⼀个双亲节点。
字段,字段描述实体的属性
属性。同⼀记录类型中各字段不能同
实体,包含若⼲个字段
联系。记录类型描述实体
记录类型,连线表⽰记录类型之间的联系
节点表⽰记录类型
码字段,唯⼀表⽰⼀个记录值。
名,每个记录类型可以定义⼀个排序字段,称为码字段
(2)数据操纵与完整性约束:插⼊时,⽆双亲节点就不能插⼊它的⼦⼥节点。删除时,删除双亲节点值相应的⼦⼥节点值也将被同时删除。(2)数据操纵与完整性约束:
(3)优缺点:优点——简单清晰,查询效率⾼,性能优于关系数据库,不低于⽹状数据库,提供良好的完整性⽀持。缺点——⽆法表⽰现实世(3)优缺点:
界中⾮层次性的联系(多对),对插⼊删除操作的限制多,应⽤程序编写⽐较复杂,查询⼦⼥节点必须通过双亲节点,结构严密层次命令趋于程序化。
4.2.2 ⽹状模型
为了处理现实世界中的⾮层次关系,⽹状数据库采⽤⽹状模型,典型代表是DBTG系统,数据系统语⾔研究会,20世纪70年代。
(1)数据结构:
(1)数据结构:数据库中满⾜两个条件的基本层次联系集合称为⽹状模型:1)允许⼀个以上的节点⽆双亲;2)⼀个节点可以有多于⼀个的双亲。
(2)数据操纵与完整性约束:对记录码的约束,码唯⼀表⽰记录的数据项集合;双亲记录和⼦⼥记录之间是⼀对多的联系;插⼊删除约束。(2)数据操纵与完整性约束:
(3)优缺点:
(3)优缺点:优点——更直接的描述现实世界,多对多的关联;良好的性能,存取效率较⾼。缺点——结构复杂,不利于⽤户掌握;DDL、DML复杂,⽤户不易掌握与使⽤;⽤户必须了解系统结构的细节,以便在访问数据是选择存取路径,这加重了应⽤程序的编写负担。
4.2.3 关系模型
关系数据库系统采⽤关系模型作为数据组织⽅式。IBM研究员E.F.Codd⾸次提出了数据库系统的关系模型,1970,1981获图灵奖。
属性。表中唯
元组,表中的⼀列是⼀个属性
(1)数据结构:
(1)数据结构:关系模型由⼀组关系组成,关系的数据结构是⼀张规范化的⼆维表。表中的⼀⾏是⼀个元组
分量。关系的每个分量必须是⼀个不可分的数据项,即不允
域,元组中的⼀个属性值称为⼀个分量
⼀确定⼀个元组的的属性是码
码,属性值的范围称为域
许表中有表。
实体完整性,参照完整性和⽤户定义的完(2)数据操纵与完整性约束:
(2)数据操纵与完整性约束:数据操纵包括增删改查,需满⾜关系的完整性约束条件,包括三类,实体完整性,参照完整性和⽤户定义的完集合操作,关系模型把存取路径对⽤户隐蔽,提⾼了数据的独⽴性。
整性。关系模型中的数据操作是集合操作
整性
(3)优缺点:优点——建⽴在严格的数学概念的基础上,实体和实体之间的联系均为关系,数据结构简单,清晰,易懂,易⽤,存取路径对⽤(3)优缺点:
户透明,数据独⽴性⾼,安全保密性好,简化了程序员的⼯作。缺点——查询效率不如格式化模型,需要对⽤户的查询请求进⾏数学上的优化,开发数据库管理系统的难度较⼤。
5. 数据库系统的结构:从数据库应⽤开发⼈员⾓度看,数据库系统通常采⽤三级模式结构(数据库系统内部的系统结构)。从数据库最终⽤户5. 数据库系统的结构:
的⾓度看,数据库系统的结构分为单⽤户结构,主从式结构,分布式结构,客户-服务器,浏览器-应⽤服务器/数据库服务器多层结构等(数据库系统外部的体系结构)。
5.1 数据库系统模式的概念
(1)型和值:型是指对某⼀类数据的结构和属性的说明,值是型的⼀个具体赋值。
(1)型和值:
实例。(2)模式和实例:
逻辑结构和特征的描述,仅仅描述型,不涉及具体的值,模式的⼀个具体的值称为⼀个实例(2)模式和实例:模式是对数据库中全体数据的逻辑结构和特征
模式相对稳定,实例相对变动。模式反映数据的结构和联系,实例反映数据库某⼀时刻的状态。
5.2 数据库系统的三级模式结构
数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式
外模式、模式和内模式三级结构。
所有⽤户的公共数据视图,是数据库系统模式结构的中间层
中间层。(1)模式:也称逻辑模式
(1)模式:
逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有⽤户的公共数据视图
模式数据定义语⼀个数据库只有⼀个模式。数据库模式以某⼀种数据模型为基础,将所有⽤户的需求结合成⼀个逻辑整体。数据库管理系统提供模式数据定义语⾔(模式DDL)来严格定义模式。
⾔(模式DDL)
数据库⽤户的数据视图,是与某⼀应⽤有关的数⼦模式或⽤户模式,是数据⽤户看到和使⽤的逻辑结构和特征的描述,是数据库⽤户的数据视图
(2)外模式:也称⼦模式或⽤户模式
(2)外模式:
据的逻辑表⽰。外模式通常是模式的⼦集,⼀个数据库可以有多个外模式。对于模式中同⼀数据,不
同⽤户在外模式中结构、类型、长度、保密级
数据库安全性的⼀个有别等都可以不同。⼀个外模式可以被⼀个⽤户的多个应⽤系统使⽤,但⼀个应⽤程序只能使⽤⼀个外模式。外模式是保证数据库安全性
外模式数据定义语⾔(外模式DDL)来严格定义外模式。
⼒措施。数据库管理系统提供外模式数据定义语⾔(外模式DDL)
数据物理结构和存储⽅式的描述,是数据在数据库内部的组织⽅式。例如,记存储模式,⼀个数据库只有⼀个内模式,是数据物理结构和存储⽅式
(3)内模式:也称存储模式
(3)内模式:
录的存储⽅式是堆存储,还是升降序存储,还是聚簇存储,索引按照什么⽅式组织,是B+树还是hash索引,数据是否压缩,是否加密等。
5.3 数据库的⼆级映像功能与数据独⽴性
外模式/模式映像和模式/内模式映为了能够在系统内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供两层映像:外模式/模式映像和模式/内模式映像。
(1)外模式/模式映像:全局逻辑结构到局部逻辑结构的映像。同⼀个模式对应任意多个外模式,对每⼀个外模式,数据库系统都有⼀个外模(1)外模式/模式映像:全局逻辑结构到局部逻辑结构
式/模式映像,映像定义在外模式的描述中。模式改变时(增加新的关系、属性、改变属性和数据类型等),由数据库管理员
数据库管理员对各个外模式/模式大自然的精彩片段
数据与程序的逻辑独⽴性。
的映像作相应改变,可以使外模式保持不变。应⽤程序依据数据的外模式编写,从⽽应⽤程序不必修改,保证了数据与程序的逻辑独⽴性
模式描述中,存储结构改
全局逻辑结构与存储结构之间的对应关系。映像定义包含在模式
(2)模式/内模式映像:
(2)模式/内模式映像:该映像是唯⼀的,它定义了数据全局逻辑结构与存储结构
数据与程序的物理独⽴性。
变时,数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从⽽应⽤程序也不必改变,保证了数据与程序的物理独⽴性
数据库模式即全局逻辑结构是数据库的中⼼与关键
内模式依赖于模式,但独⽴于数据的⽤户视图(外模式),也
中⼼与关键,它独⽴于数据库的其他层次。内模式依赖于模式
国外大学排名外模式⾯向具体的应⽤程序,定义在逻辑模式之上,但独⽴于存储模式和存储设备,应具有可扩充性。上海高考时间2022具体时间表
独⽴于具体的存储设备。外模式⾯向具体的应⽤程序
数据的定义和描述可以从应⽤程序中分离出去,数据的存取 由数据库管理系统管理,简化了应⽤程序的编制,数据与程序之间的独⽴性使得数据的定义和描述
数据与程序之间的独⽴性
减少了应⽤程序的维护与修改。
6. 数据库系统的组成
数据库系统⼀般由数据库、数据库管理系统(及其应⽤开发⼯具)、应⽤程序和数据库管理员构成。
(1)硬件平台及数据库:数据量很⼤,数据库管理系统丰富的功能使其⾃⾝规模很⼤,因此需要1)有⾜够⼤的内存;2)⾜够⼤的磁盘或磁盘阵(1)硬件平台及数据库:
列等设备存放数据库;3)有较⾼的通道能⼒,以提⾼数据传送率。
(2)软件:
(2)软件:数据库系统的软件主要包括数据库管理系统、⽀持数据库管理系统运⾏的操作系统、具有与数据库接⼝的⾼级语⾔及其编译系统、以数据库管理系统为核⼼的应⽤开发⼯具、为特定应⽤环境开发的数据库应⽤系统。
(3)⼈员:开发、管理和使⽤数据库系统的⼈员主要包括数据库管理员、系统分析员和数据库设计⼈员、应⽤程序员和最终⽤户。不同的⼈
⼈(3)⼈员:
数据抽象级别,具有不同的数据视图
数据视图。
员涉及不同的数据抽象级别
数据库管理员监督和管理数据库的两类共享资源,包括数据库和数据库管理系统软件,决定数据库中的信息内容和结构,决定数据库的存储结构数据库管理员
系统分析员负责应⽤系统的需和存取策略,定义数据的安全性要求和完整性约束条件,监控数据库的使⽤和运⾏,数据库的改进和重组、重构。系统分析员
数据库设计⼈员负责数据库中数据的确定及数据库各级模式的设
求分析和规范说明,确定系统的硬件软件配置,参与数据库系统的概要设计。数据库设计⼈员
⽤户(指最终⽤户)通过应⽤系统的⽤户接⼝使⽤数据库,常⽤的接应⽤程序员负责设计和编写应⽤系统的程序模块,并进⾏调试和安装。⽤户(指最终⽤户)
计。应⽤程序员
⼝⽅式有浏览器、菜单驱动、表格操作、图形显⽰、报表书写等。最终⽤户分为偶然⽤户、简单⽤户和复杂⽤户。
1.2 数据库安全性
数据库的特点之⼀是由数据库管理系统提供统⼀的数据保护功能
安全性和
数据保护功能来保证数据的安全可靠和正确有效。数据库的数据保护主要包括数据的安全性和完整性。本章主要介绍数据库的安全性。
完整性
1. 数据库安全性概述
数据泄露、更改或破坏。
不合法使⽤所造成的数据泄露、更改或破坏
数据的安全性是指保护数据库以防⽌不合法使⽤
数据的安全性
视图等(1)数据库的不安全因素:⾮授权⽤户对数据库的恶意存取和破坏(⿊客),DBMS提供的安全措施包括⽤户⾝份鉴别、存取控制和视图(1)数据库的不安全因素:⾮授权⽤户对数据库的恶意存取和破坏
数据库中重要或敏感的数据被泄漏,DBMS提供的主要技术有强制存取控制、数据加密存储和加密传输等,对安全性要求较⾼的部门提技术;数据库中重要或敏感的数据被泄漏
安全环境的脆弱
供审计
审计功能,分析审计⽇志可以对潜在啊的威胁提前采取措施加以防范,对⾮授权⽤户的⼊侵⾏为及信息破坏情况进⾏跟踪;安全环境的脆弱性,数据库的安全性与计算及系统的安全性紧密相关,包括硬件、操作系统、⽹络系统等的安全性,因此发展建⽴了⼀套可信计算机系统的概念和标准,即安全标准
安全标准,⽤以规范和指导安全⽣产。
和CC(通⽤准
TCSEC(1985,美国国防部DoD)和CC
(2)安全标准:
(2)安全标准:计算机以及信息安全技术⽅⾯有⼀系列的安全标准,最有影响的当推TCSEC
则,1999被ISO采⽤国际标准,2001被我国采⽤为国家标准)。
TCSEC:
TCSEC/TDI,即紫⽪书,将TCSEC扩展到数据库管理系统。
TCSEC:⼜称桔⽪书,1991,美国国家计算机安全中⼼(NCSC)颁布TCSEC/TDI
安全策略、责任、保证和⽂档。根据计算机系统对各项指标的⽀持情况,TCSEC/TDI将系统划分
从四个⽅⾯描述安全性级别划分的指标,即安全策略、责任、保证和⽂档
最低级别。具备基本功能,
D级:最低级别。
4组7个等级,依次是D、C(C1,C2)、B(B1,B2,B3)、A(A1),按系统的可信程度逐渐增⾼。D级:
为4组7个等级
⾃主安全保护。实现⽤户与数据的分离,进⾏⾃主存取控
C1级:⾃主安全保护
DOS是操作系统安全标准为D级的典型例⼦。 C1级:
⼏乎⽆专门的安全性保护机制。DOS
受控的存取保护。个⼈⾝份注册,实施审计和资源隔离。例如
C2级:安全产品的最低档,提供受控的存取保护
制(DAC),保护或限制⽤户权限的传播。C2级:
强制存取控制(MAC)和审计。该级别的产品标记安全保护。对系统数据加以标记,对标记的主体和客体进⾏强制存取控制
Win2000和Oracle7。B1级:
B1级:标记安全保护。财政学就业前景
B3级:安全域。
安全域。该级的TCB(Trusted B2级:结构化保护。
结构化保护。对系统内的所有主体和客体实施DAC和MAC。B3级:
被认为是真正意义上的安全产品。B2级:
验证设计。提供B3级保护的同时给出系统的
A1级:验证设计。
Computing Base)必须满⾜访问监控器的要求,审计跟踪能⼒更强,提供系统恢复过程。A1级:
形式化设计说明和验证。
安全保证要求。安全功能要求⽤以规范产品和系统的安全
安全功能要求和安全保证要求
CC:
CC:信息技术安全性的结构,即把对信息产品的安全要求分为安全功能要求
⾏为,安全保证要求解决如何正确有效地实施这些功能。有7级评估保证级
2. 数据库安全性控制
⽤户⾝份鉴别、多层存取控制、审计、视图和数据加密。
数据库的安全性控制主要包括⽤户⾝份鉴别、多层存取控制、审计、视图和数据加密
2.1 ⽤户⾝份鉴别:是DBMS提供的最外层安全保护措施,⽤户标识(⽤户名和标识号)——系统核对——权限使⽤。常见的⽤户⾝份鉴别⽅法2.1 ⽤户⾝份鉴别:
⽣物特征鉴别(⽣物特征唯⼀且稳定,指纹、虹膜
动态⼝令鉴别(短信密码和动态令牌)、⽣物特征鉴别
静态⼝令鉴别(即密码,存储和传输时加密)、动态⼝令鉴别
有静态⼝令鉴别
和掌纹)和智能卡鉴别(不可复制,硬件加密功能,存在安全隐患,个⼈⾝份识别码PIN和智能卡相结合)。
),令所有未授权的⼈员⽆法接近数据。存取
访问数据库的权限(⽤户对某⼀数据对象的操作权⼒)
2.2 存取控制:
2.2 存取控制:确保只授权给有资格的⽤户访问数据库的权限(
编译后存储在数据字典
定义⽤户权限,这些定义经过编译
存储在数据字典中,被称作合法权限检查。DBMS需提供适当的语⾔来定义⽤户权限
控制机制主要包括定义⽤户权限
定义⽤户权限和合法权限检查
查数据字典,根据安全规则安全规则或授权规则。⽤户发出存取数据库的操作请求
请求(包括操作类型、操作对象和操作⽤户等信息)后,DBMS查
检查,超出权限则拒绝。C2级提供⾃主存取控制(DAC),B1级提供强制存取控制(MAC)。
进⾏合法权限检查
(1)⾃主存取控制⽅法:
⽤户可将其权限转授其他⽤户。⼤型DBMS都⽀(1)⾃主存取控制⽅法:同⼀⽤户对不同对象权限不同,不同⽤户对同⼀对象权限也不同。⽤户可将其权限转授其他⽤户。
操作类型两个要素组成。定义存取权限(授
数据库对象和操作类型
定义存取权限(授
REVOKE语句来实现。⽤户权限由数据库对象
三河全域静止管理持⾃主存取控制,SQL标准通过GRANT语句
GRANT语句和REVOKE语句
数据本⾝,关系数据库系统中,存权)
权)是定义⽤户可以在哪些数据库对象上进⾏哪些类型的操作。⾮关系系统中,存取控制的数据库对象仅限于数据本⾝
数据本⾝(基本表中的数据、属性列上的数据)和数据库模式
数据库模式(数据库、基本表、视图和索引等)。关系数据库系统中的取控制的数据对象包括数据本⾝
操作类型包括对数据本⾝的增删改查和对数据库模式的创建和更新。
REVOKE语句收回已经授予⽤户的权限。GRANT 权限 ON 对象类型 对象GRANT语句向⽤户授予权限,REVOKE语句
GRANT 权限 ON 对象类型 对象授予与收回:SQL中GRANT语句
权限的
权限的授予与收回:
发出者可以是数据库管理员、数据库对象创建
;意为对指定操作对象的指定操作权限授予指定的⽤户。发出者
名 TO ⽤户 WITH GRANT OPTION
WITH GRANT OPTION;
接受者可以是⼀个或多个具体的⽤户,也可以是public全体⽤户。如果指定了WITH GRANT OPTION⼦句,则获者和已经拥有该权限的⽤户。接受者
REVOKE 权限 ON 对象类型 对象名 FROM ⽤户 CASCADE(或
得该权限的⽤户还可以把该权限授予其他⽤户,否则不可。REVOKE 权限 ON 对象类型 对象名 FROM ⽤户 CASCADE(或RESTRICT);意为收回指定⽤户对指定操作的指定的权限。CASCADE为级联,即对该⽤户授予其他⽤户的该项权限⼀并收回。⽤户可以“⾃RESTRICT);
⾃主存取控制。
主”地决定将数据的存取权限授予何⼈、决定是否也将“授权”的权限授予别⼈,因此称这样的存取控制是⾃主存取控制
CONNECT权限、RESOURCE权限和DBA权
CREATE USER ⽤户名 权限;,三种权限是CONNECT权限、RESOURCE权限和DBA权      创建数据库模式的权限:
创建数据库模式的权限:创建⽤户语句 CREATE USER ⽤户名 权限;
限。CONNECT是默认权限,⽤户只能登录数据库;RESOURCE权限允许⽤户创建基本表和视图,不能创建模式和⽤户;拥有DBA权限的⽤户
是系统中的超级⽤户,可以创建新的⽤户、模式、基本表和视图等,拥有对所有数据库对象的存取权限,还可授予⼀般⽤户。
简化授权的过程。创建⾓⾊的SQL语句 CREATE
权限的集合。存在的意义是简化授权的过程
CREATE      数据库⾓⾊:
数据库⾓⾊:是被命名的⼀组与数据库操作相关的权限,是权限的集合
ROLE ⾓⾊名;⽤GRANT语句给⾓⾊授权和将⾓⾊授予⽤户(若授权时使⽤WITH ADMIN OPTION则获得权限的⾓⾊或⽤户可以把该权限授ROLE ⾓⾊名;
予其他⾓⾊),⽤REVOKE语句收回授权⾓⾊的权限。
许可证。对于任意⼀个对象,只有具有合法许可证的⽤
⽤户被授予⼀个级别的许可证
(2)强制存取控制⽅法:数据库对象被标以⼀定的密级
密级,每个⽤户
(2)强制存取控制⽅法:数据库对象
数据本⾝都进⾏安全控制)在强制存取控制中,数据库管理系统所管理的全部实体被分为主
存取权限及数据本⾝
户才可以存取。(实质上是对数据的存取权限
客体两⼤类。主体包括数据库中的实际⽤户和⽤户进程,客体包括⽂件、基本表、索引、视图等。DBMS给主体和客体的每个实例指派⼀
体和客体
许可证级别,客体的敏感度标记称为密
密敏感度标记,分为绝密(TS)、机密(S)、可信(C)、公开(P)等级别。主体的敏感度标记称为许可证级别
个敏感度标记
级。强制存取控制机制通过对⽐主体的敏感度标记和客体的敏感度标记,最终确定主体是否能够存取客体。
存取规则:1)许可证级别>=密级时,主体可读取客体;2)许可证级别<=密级时,主体可写客体。(规则2的解释:⽤户可以为写⼊的数据      存取规则:
对象赋予⾼于⾃⼰的许可证级别的密级,不可低于,⼀旦写⼊,该⽤户⾃⼰不能读取,否则可以把数据恶意降为低密级,从⽽造成泄漏)
(3)DAC+MAC安全检查:SQL语法分析&语义检查——>DAC检查——>MAC检查——>继续语义检查
(3)DAC+MAC安全检查:
3. 视图机制
⽀持存取谓词的⽤户权限定义,实现对部分数据的存取权限。例如,某⽤户只能检索某个视图是⽤来对⽤户的权限进⾏限制的机制,间接地实现⽀持存取谓词
WHERE Sdept=‘CS’;GRANT 系学⽣的信息(对部分权限部分数据的限制)。CREATE VIEW 视图名 AS SELECT* FROM Student WHERE Sdept=‘CS’
SELECT ON 视图名 TO ⽤户名;ALL PRIVILEGES 表⽰所有权限。
属性层⾯的保护机制,更灵活的数据保护。
4. 审计
操作⾃动记录下来放⼊审计⽇志
审计⽇志中。审计员利⽤C2以上安全级别必不可少的⼀项指标。审计功能把⽤户对数据库的所有操作⾃动记录
审计功能是DBMS达到C2
审计⽇志监控数据库中的各种⾏为,重现导致数据库现有状况的⼀系列事件,出⾮法存取数据的⼈、时间和内容等,对潜在的威胁提前采取措施加以防范。;
耗费时间和空间?DBMS允许数据库管理员根据具体应⽤对安全性的要求灵活地打开或关闭审计功能。
(1)审计事件:
服务器事件、系统权限、语句事件和模式对象事件。服务器事件包括数据库服务器的启动、停⽌、配置⽂件的重(1)审计事件:包括四类,服务器事件、系统权限、语句事件和模式对象事件
新加载。系统权限对系统拥有的结构或模式对象进⾏操作的审计。语句事件是对SQL语⾔,如DDL(Data Definition Language)、
DML(Data Manipulation Language,数据操纵语⾔,对数据的增删改查)、DQL(Data Query Language)及DCL(Data Control Language)语句的审计。模式对象事件对特定模式对象上进⾏的SELECT或DML操作的审计,模式对象包括表、视图、存储过程、函数等。
审计⽇志管理(防
审计分析和报表功能、审计⽇志管理
审计规则(DB初始化时设定)、审计分析和报表功能
(2)审计功能:审计查阅⽅式
(2)审计功能:审计查阅⽅式(基本的、可选的、有限的等)、审计规则
查询审⽌审计员误删,先转储后删除,转储的审计记录⽂件提供完整性和保密性保护,只允许审计员查阅,不允许任何⽤户修改)、DBMS提供查询审计设置及审计记录信息的专门时图
计设置及审计记录信息的专门时图。
系统级审计。⽤户级审计是指由任何⽤户设
⽤户设
⽤户级审计和系统级审计
(3)设置和取消审计功能的语句:AUDIT语句和NOAUDIT语句。审计分为⽤户级审计
(3)设置和取消审计功能的语句:AUDIT语句和NOAUDIT语句
数据库管理员设置,⽤以检置的,针对⽤户⾃⼰创建的数据库表或视图的审计,记录所有⽤户对这些表或视图的访问及操作。系统级审计只能由数据库管理员
AUDIT 操作 ON 表或视图;NOAUDIT 操作 ON 表或视图;审计设置与审计测登录要求、授权和收回操作及其他数据库级权限下的操作。AUDIT 操作 ON 表或视图;NOAUDIT 操作 ON 表或视图;
事后检查,可以约束⽤户可能的恶意操作。
SYS_AUDITTRAIL中查看审计信息。审计机制相当于事后检查
数据字典中,在系统表SYS_AUDITTRAIL
⽇志⼀般都存储在数据字典
5. 数据加密
密⽂(不可直接识别),不知道解密算法
原始数据(明⽂)——>密⽂(不可直接识别)
存储和传输中失密的有效⼿段,基本思想是将原始数据(明⽂)
数据加密时防⽌数据库数据在存储和传输
存储加密和传输加密。
的⼈⽆法获知数据内容。数据加密主要包括存储加密和传输加密
内核级加密保护⽅式,对⽤户透明,是数据在写到磁盘上时对数据的加透明和⾮透明两种存储加密⽅式。透明存储加密是内核级
2022国庆节图片
(1)存储加密:包括透明和⾮透明
(1)存储加密:
加密函数实现的。
密,应⽤程序不需要修改,只需要创建表语句中说明加密的字段,性能好,安全完备性⾼。⾮透明的存储加密时通过多个加密函数
路由选择信
报头和报⽂组成,报头是路由选择信(2)传输加密:为保证数据库⽤户与服务器之间的安全数据交换,DBMS提供传输加密功能。传输信息由报头和报⽂
(2)传输加密:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。