第8章 数据库的安全和完整性约束
- 格式:ppt
- 大小:325.00 KB
- 文档页数:27
4 数据库的安全性与完整性数据库在各种信息系统中得到广泛的应用,数据在信息系统中的价值越来越重要,数据库系统的安全与保护成为一个越来越值得重要关注的方面。
数据库系统中的数据由DBMS统一管理与控制,为了保证数据库中数据的安全、完整和正确有效,要求对数据库实施保护,使其免受某些因素对其中数据造成的破坏。
一般说来,对数据库的破坏来自以下4个方面:(1)非法用户非法用户是指那些未经授权而恶意访问、修改甚至破坏数据库的用户,包括那些超越权限来访问数据库的用户.一般说来,非法用户对数据库的危害是相当严重的。
(2)非法数据非法数据是指那些不符合规定或语义要求的数据,一般由用户的误操作引起。
(3)各种故障各种故障指的是各种硬件故障(如磁盘介质)、系统软件与应用软件的错误、用户的失误等。
(4)多用户的并发访问数据库是共享资源,允许多个用户并发访问(Concurrent Access),由此会出现多个用户同时存取同一个数据的情况。
如果对这种并发访问不加控制,各个用户就可能存取到不正确的数据,从而破坏数据库的一致性.针对以上4种对数据库破坏的可能情况,数据库管理系统(DBMS)核心已采取相应措施对数据库实施保护,具体如下:(1)利用权限机制,只允许有合法权限的用户存取所允许的数据,这就是本章4.1节“数据库安全性”应解决的问题。
(2)利用完整性约束,防止非法数据进入数据库,这是本章4。
2节“数据库完整性"应解决的问题。
(3)提供故障恢复(Recovery)能力,以保证各种故障发生后,能将数据库中的数据从错误状态恢复到一致状态,此即本章4。
3节“故障恢复技术”的内容.(4)提供并发控制(Concurrent Control)机制,控制多个用户对同一数据的并发操作,以保证多个用户并发访问的顺利进行,此即本章4.4节“并发控制”的内容。
4.1 数据库安全性4.1.1 数据库安全性问题的概述1.数据库安全问题的产生数据库的安全性是指在信息系统的不同层次保护数据库,防止未授权的数据访问,避免数据的泄漏、不合法的修改或对数据的破坏。
第一章1.DBMS的主要功能有那些?答:DBMS是数据库管理系统。
其主要功能有:(1)数据定义有DDL翻译处理程序(包括外模式、模式、存储模式处理程序)、保密定义处理程序(如授权定义处理程序)、完整性约束定义处理程序等。
这些程序接收相应的定义,进行语法、语义检查,把它们翻译为内部格式存储在数据字典中。
DDL翻译程序还根据模式定义负责建立数据库的框架(即形成一个空库),等待装入数据。
(2)数据组织,数据存储和数据管理有文件读写与维护程序、存取路径(如索引)管理程序、缓冲区管理程序(包括缓冲区读、写、淘汰模块),这些程序负责维护数据库的数据和存取路径,提供有效的存取方法。
(3)数据操纵有DML处理程序、终端查询语言解释程序、数据存取程序、数据更新程序等。
DML处理程序或终端查询语言解释程序对用户数据操纵请求进行语法、语义检查,有数据存取或更新程序完成对数据库的存取操作。
(4)数据库的事务管理和运行管理数据库在建立,运用和维护是由数据库管理系统统一管理,统一控制,以保证数据的安全性,完整性,多用户对数据的并发使用及发生故障后的系统恢复。
(5)数据库的建立和维护功能数据库初始数据的输入,转换功能;数据库的存储,恢复功能;数据库的重组织功能和性能监视,分析功能等。
(6)其他功能:DBMS与网络中其他软件系统的通信功能;一个DBMS也另一个DBMS 或文件系统的数据转换功能;异构数据库之间的互访和互操作功能等。
2.叙述数据模型的三个要素。
答:(1)数据结构:数据结构描述数据库的组成对象以及对象之间的联系。
也就是说,数据结构描述的内容有两类:一类是与对象的类型,内容,性质有关的;一类是与数据之间联系有关的对象。
数据结构是刻画一个数据模型性质最重要的方面。
因此在数据库系统中,人们通常按照其数据结构的类型来命名数据模型。
总之,数据结构是所描述的对象类型的集合,是对系统静态特性的描述。
(2)数据操作:对数据库中对象的实例允许执行的操作集合,主要指检索和更新(插入、删除、修改)两类操作。
电大数据库系统及应用,形考册第8章,习题与参考答案第8章习题与参考答案一.单项选择题1.在数据库设计中,将E-R图转换为关系数据模型是下述哪个阶段完成的工作(C)。
A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段2.在将E-R图转换为关系模型时,一般都将m:n联系转换成一个独立的关系模式。
下列关于这种联系产生的关系模式的主码的说法,正确的是(C)。
A.只需包含m端关系模式的主码即可B.只需包含n端关系模式的主码即可C.至少包含m端和n端关系模式的主码D.必须添加新的属性作为主码3. 在将局部E-R图合并为全局E-R图时,可能会产生一些冲突。
下列冲突中不属于合并E-R图冲突的是(B)。
A.结构冲突B.语法冲突C.属性冲突D.命名冲突4. 一个银行营业所可以有多个客户,一个客户也可以在多个营业所进行存取款业务,则客户和银行营业所之间的联系是(D)。
A.一对一B.一对多C.多对一D.多对多5.设实体A与实体B之间是一对多联系。
下列进行的逻辑结构设计方法中,最合理的是(A)。
A.实体A和实体B分别对应一个关系模式,且外码放在实体B的关系模式中B. 实体A和实体B分别对应一个关系模式,且外码放在实体A的关系模式中C.为实体A和实体B设计一个关系模式,该关系模式包含两个实体的全部属性D.分别为实体A、实体B和它们之间的联系设计一个关系模式,外码在联系对应的关系模式中6. 设有描述图书出版情况的关系模式:出版(书号,出版日期,印刷数量),设一本书可以被出版多次,每次出版都有一个印刷数量。
该关系模式的主码是(B)。
A.书号B.(书号,出版日期)C.(书号,印刷数量)D.(书号,出版日期,印刷数量)7. 在数据库设计中,进行用户子模式设计是下述哪个阶段要完成的工作(C)。
A.需求分析阶段B.概念结构设计阶段C.逻辑结构设计阶段D.物理结构设计阶段二.填空题1.数据库设计分为五个阶段,包括(需求分析)、概念设计、(逻辑设计)、(物理设计)、数据库实施和运行维护。
解释数据库安全性的基本原则如机密性完整性和可用性数据库安全性是现代信息系统中至关重要的一个方面。
它涉及到确保数据库中存储的数据得到保护,防止未经授权的访问、修改或破坏。
为了实现数据库的安全性,有一些基本原则需要遵循,包括机密性、完整性和可用性。
1. 机密性机密性是指确保数据库中的数据只能被授权的人员或实体访问。
为了保障机密性,可以采取以下措施:- 访问控制:通过使用用户名和密码、访问权限控制列表等方法,只允许授权的用户或角色访问数据库。
- 加密:采用加密技术对数据库中的敏感数据进行加密,使得即使数据被非法获取,也无法得到其中的实际内容。
- 审计和监控:实时监控数据库的访问情况,及时发现异常行为,以保护数据的机密性。
2. 完整性完整性是指确保数据库中的数据的准确性和一致性。
为了保护数据库的完整性,可以采取以下措施:- 数据校验:对输入的数据进行验证,包括数据类型、长度、格式等方面的检查,防止错误的数据被插入数据库。
- 关系约束:使用关系型数据库管理系统提供的约束机制,定义实体之间的关系和约束条件,确保数据的一致性和完整性。
- 备份和恢复:定期对数据库进行备份,以应对意外情况,如数据损坏、误删除等,保障数据的完整性。
3. 可用性可用性是指数据库能够在需要时可靠地提供服务。
为了保证数据库的可用性,可以采取以下措施:- 容灾备份:设置数据库的容灾备份策略,包括故障转移、冗余备份等,以确保在硬件故障或灾难发生时,数据能够持续可用。
- 性能优化:对数据库进行性能调优,包括合理的索引设计、查询优化等,以提升数据库的访问速度和响应能力。
- 故障监测和恢复:实施自动化的故障监测和快速恢复机制,及时检测和处理数据库故障,减少停机时间。
综上所述,数据库安全性的基本原则涵盖了机密性、完整性和可用性。
通过严格控制访问权限、加密敏感数据、校验数据完整性、备份和恢复等措施,可以有效保护数据库中的数据并确保其安全性。
只有在遵循这些基本原则的前提下,才能够建立一个安全可靠的数据库系统。
数据库原理及应用教案第一章:数据库概述1.1 数据库的基本概念理解数据库的定义理解数据和信息的关系理解数据模型的概念1.2 数据库系统的结构理解数据库系统的组成部分理解数据库管理系统的作用理解应用程序和数据库之间的交互过程1.3 数据库的发展历史了解数据库的起源和发展过程了解关系数据库和面向对象数据库的区别了解当前数据库技术的发展趋势第二章:关系数据库理论2.1 关系模型的基本概念理解关系表的定义和表示方法理解关系模型的特点和优势理解实体和属性的概念2.2 关系的操作理解选择、投影和连接操作的含义和应用掌握关系代数和SQL语言的使用方法理解关系的性质和操作的限制条件2.3 关系的完整性约束理解实体完整性和参照完整性的概念理解主键和外键的作用和定义掌握关系的完整性约束的实现方法第三章:数据库设计3.1 需求分析理解需求分析的目的和重要性掌握需求分析的方法和技术理解数据字典和数据流图的使用3.2 概念设计理解概念设计的概念和目的掌握实体-关系模型的表示方法理解概念设计到逻辑设计的转换方法3.3 逻辑设计理解逻辑设计的概念和目的掌握关系模型的设计方法理解关系数据库设计的原则和方法第四章:数据库管理4.1 数据库的创建和管理理解数据库的创建和管理过程掌握SQL语言创建和管理数据库的方法理解数据库的备份和恢复的概念和方法4.2 数据库的安全性和完整性理解数据库安全性的概念和重要性掌握数据库的权限管理和访问控制方法理解数据库完整性的概念和实现方法4.3 数据库性能优化理解数据库性能优化的概念和方法掌握查询优化和索引的使用方法理解数据库缓存和分区的概念和方法第五章:数据库应用系统开发5.1 数据库应用系统的设计和实现理解数据库应用系统的设计和实现过程掌握数据库应用系统的设计原则和方法理解应用程序和数据库之间的交互过程5.2 常用数据库开发工具了解常用的数据库开发工具的概念和功能掌握数据库开发工具的使用方法理解不同开发工具的优缺点和适用场景5.3 数据库应用系统的运行和维护理解数据库应用系统的运行和维护的重要性掌握数据库应用系统的运行和维护方法理解故障排除和性能监控的概念和方法第六章:SQL语言6.1 SQL语言基础理解SQL语言的作用和特点掌握SQL语言的基本语法和操作理解数据定义语言(DDL)和数据操作语言(DML)的概念6.2 SQL数据查询掌握SQL查询语句的编写和执行理解选择、投影和连接操作的SQL实现掌握子查询和联合查询的使用方法6.3 SQL数据定义和操纵掌握SQL语言创建表、视图和索引的方法掌握插入、更新和删除数据的SQL语句理解SQL语言的数据类型和约束定义第七章:数据库事务管理7.1 事务的基本概念理解事务的定义和特性掌握事务的ACID属性理解事务的作用和重要性7.2 事务管理理解事务的提交和回滚掌握事务控制语句的使用理解事务隔离级别的概念和作用7.3 事务日志和恢复理解事务日志的作用和结构掌握数据库的恢复机制理解崩溃后的数据库恢复过程第八章:数据库高级特性8.1 数据库触发器和存储过程理解触发器和存储过程的定义和作用掌握创建和调用触发器和存储过程的方法理解触发器和存储过程在数据完整性管理中的应用8.2 数据库视图和索引理解视图的概念和作用掌握创建和使用视图的方法理解索引的原理和作用掌握索引的创建和管理方法8.3 数据库分区理解分区的作用和原理掌握分区的创建和管理方法理解分区对数据库性能的影响第九章:数据库性能优化9.1 查询优化理解查询优化的目的和方法掌握查询优化技术理解查询优化器的工作原理9.2 数据库索引设计理解索引的作用和类型掌握索引的设计原则和方法理解索引维护和更新策略9.3 数据库缓存和并发控制理解数据库缓存的作用和原理掌握缓存优化策略理解并发控制的重要性掌握并发控制技术第十章:数据库应用案例分析10.1 数据库应用案例介绍分析实际数据库应用案例理解案例中数据库的设计和实现方法理解案例中数据库的应用场景和效果10.2 数据库应用案例分析分析案例中的数据库需求和设计分析案例中的数据库管理和维护方法分析案例中的数据库性能优化措施10.3 数据库应用案例实践基于案例进行数据库设计和实现实践案例中的数据库管理和维护方法实践案例中的数据库性能优化措施重点和难点解析重点环节1:关系模型的基本概念关系表的定义和表示方法关系模型的特点和优势实体和属性的概念重点环节2:关系的操作选择、投影和连接操作的含义和应用关系代数和SQL语言的使用方法关系的性质和操作的限制条件重点环节3:关系的完整性约束实体完整性和参照完整性的概念主键和外键的作用和定义关系的完整性约束的实现方法重点环节4:数据库的创建和管理数据库的创建和管理过程SQL语言创建和管理数据库的方法数据库的备份和恢复的概念和方法重点环节5:数据库的安全性和完整性数据库安全性的概念和重要性数据库的权限管理和访问控制方法数据库完整性的概念和实现方法重点环节6:数据库性能优化查询优化和索引的使用方法数据库缓存和分区的概念和方法数据库性能优化的概念和方法重点环节7:数据库事务管理事务的定义和特性事务的ACID属性事务的提交和回滚重点环节8:数据库高级特性触发器和存储过程的定义和作用视图和索引的原理和作用分区对数据库性能的影响重点环节9:数据库性能优化查询优化技术索引的设计原则和方法缓存优化策略重点环节10:数据库应用案例分析数据库应用案例的需求分析和设计数据库应用案例的管理和维护方法数据库应用案例的性能优化措施全文总结和概括:本文主要分析了数据库原理及应用教案中的重点环节,包括关系模型的基本概念、关系的操作、关系的完整性约束、数据库的创建和管理、数据库的安全性和完整性、数据库性能优化、数据库事务管理、数据库高级特性、数据库应用案例分析等。
数据库的安全性和完整性及其实现机制为了保证数据库数据的安全可靠性和正确有效,DBMS必须提供统一的数据保护功能。
数据保护也为数据控制,主要包括数据库的安全性、完整性、并发控制和恢复。
一、数据库的安全性数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
计算机系统都有这个问题,在数据库系统中大量数据集中存放,为许多用户共享,使安全问题更为突出。
在一般的计算机系统中,安全措施是一级一级设置的。
在DB存储这一级可采用密码技术,当物理存储设备失窃后,它起到保密作用。
在数据库系统这一级中提供两种控制:用户标识和鉴定,数据存取控制。
在ORACLE多用户数据库系统中,安全机制作下列工作:防止非授权的数据库存取;防止非授权的对模式对象的存取;控制磁盘使用;控制系统资源使用;审计用户动作。
数据库安全可分为二类:系统安全性和数据安全性。
系统安全性是指在系统级控制数据库的存取和使用的机制,包含:有效的用户名/口令的组合;一个用户是否授权可连接数据库;用户对象可用的磁盘空间的数量;用户的资源限制;数据库审计是否是有效的;用户可执行哪些系统操作。
数据安全性是指在对象级控制数据库的存取和使用的机制,包含:哪些用户可存取一指定的模式对象及在对象上允许作哪些操作类型。
在ORACLE服务器上提供了一种任意存取控制,是一种基于特权限制信息存取的方法。
用户要存取一对象必须有相应的特权授给该用户。
已授权的用户可任意地可将它授权给其它用户,由于这个原因,这种安全性类型叫做任意型。
ORACLE利用下列机制管理数据库安全性:数据库用户和模式;特权;角色;存储设置和空间份额;资源限制;审计。
1.数据库的存取控制ORACLE保护信息的方法采用任意存取控制来控制全部用户对命名对象的存取。
用户对对象的存取受特权控制。
一种特权是存取一命名对象的许可,为一种规定格式。
ORACLE使用多种不同的机制管理数据库安全性,其中有两种机制:模式和用户。
信息工程学院实验报告课程名称:《数据库原理》实验项目名称:数据库的完整性和安全性一、实 验 目 的:(1)掌握数据库约束的概念;(2)熟悉SQL SERVER 的完整性约束技术。
(3)了解SQL SERVER 的违反完整性处理措施。
(4)了解登录账户的管理理念与具体方法。
(5)了解数据库用户的管理的要则。
(6)了解用户权限管理的内涵与方法。
二、实 验 设 备 与 器 件 Win7 +Sql server 2008 三、实 验 内 容 与 步 骤(一)测试完整性运行附录中的SQL 语句,理解SQL 语句中包含的完整性定义。
然后执行下面的SQL 语句,看是否能正常运行,若无法执行,请说明原因。
1.对dept 表进行数据增删改,并检查完整性规则 Dept 已存在的完整性规则如下: dno CHAR(2)PRIMARY KEYdnameV ARCHAR(20) NOT NULL,UNIQUE(1)增加数据INSERT INTO dept V ALUES('D1','计科系');----正常插入INSERT INTO dept V ALUES('D2','电信系');----正常插入INSERT INTO dept V ALUES(NULL,'机械系'); ----违反dno 主键(NOT NULL )规则INSERT INTO dept V ALUES('D2','机械系'); ----违反dno 主键(UNIQUE )INSERT INTO dept V ALUES('D3',NULL); ----违反dname 的NOT NULL 规则INSERT INTO dept V ALUES('D3','计科系'); ----违反dname 的UNIQUE 规则INSERT INTO dept V ALUES('D3','机械系');----正常插入(2)删除数据DELETE FROM dept WHERE dno='D3';----正常删除(3)修改数据UPDA TE dept SET dname='计算机科学系' WHERE dno='D1';----正常修改UPDA TE dept SET dname='电信系' WHERE dno='D1'; ----违反dname的UNIQUE规则UPDA TE dept SET dname=NULL WHERE dno='D1'; 违反dname的UNIQUE规则2.对student表进行数据增删改,并检查完整性规则Student已存在完整性规则如下:sno CHAR(2) PRIMARY KEYsname V ARCHAR(20) NOT NULL,ssex CHAR(2) NOT NULL, CHECK(ssex in('男','女'))sage INT NOT NULL,dno CHAR(2) NOT NULL, FOREIGN KEY REFERENCES dept(dno)ON DELETE CASCADE ON UPDATE CASCADE(1)增加数据INSERT INTO student V ALUES('S1','张刚','男',20,'D1');----正常插入INSERT INTO student V ALUES('S2','李梅','女',21,'D2');----正常插入INSERT INTO student V ALUES('S2','吴敏','男',20,'D1'); ----正常插入INSERT INTO student V ALUES(NULL,'吴敏','男',20,'D1'); ----违反sno 的主键(NOT NULL)规则INSERT INTO student V ALUES('S3','吴敏','男',NULL,'D1'); 违反sage 的主键(NOT NULL)规则INSERT INTO student V ALUES('S3','吴敏','M',20,'D1'); 违反ssex 的CHECK规则INSERT INTO student V ALUES('S3','吴敏','男',20,'D3'); ----正常插入INSERT INTO student V ALUES('S3','吴敏','男',20,'D1');----正常插入(2)删除数据DELETE FROM student WHERE sno='S3'; ----正常删除(3)修改数据UPDA TE student SET sname='赵强',dno='D2' WHERE sno='S1'-----正常修改UPDA TE student SET ssex='F' WHERE sno='S1'; -----违反ssex的CHECK 规则UPDA TE student SET sno='S2' WHERE sno='S1'; -----违反sno的主键(UNIQUE)规则UPDA TE student SET dno='D3' WHERE sno='S1'; 违反dno 的外键规则UPDA TE dept SET dno='D3' WHERE dno='D1';----检查dno的外键ON UPDATE规则,观察运行后效果DELETE FROM dept WHERE dno='D2';----检查dno的外键ON DELETE规则,观察运行后效果(二)使用规则实现数据完整性(1)在查询分析器中,利用命令(CREATE RULE),创建一个关于年龄(sage)约束的规则,将“sage”列的值约束在0~200之间;然后将所创建的规则绑定到“sage”列(提示:用命令Sp_bindrule)。
《数据库系统概论》课后习题及参考答案D数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用、用多种不同的语言共享使用。
由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充。
三、数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。
数据库管理系统的模式结构和二级映象功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。
四、数据由 DBMS统一管理和控制数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。
为此, DBMS 必须提供统一的数据控制功能,包括数据的安全性保护,数据的完整性检查,并发控制和数据库恢复。
6.数据库管理系统的主要功能有哪些?①数据库定义功能;②数据存取功能;③数据库运行管理;④数据库的建立和维护功能。
7.试述数据模型的概念、数据模型的作用和数据模型的三个要素。
数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。
一般地讲,数据模型是严格定义的概念的集合。
这些概念精确地描述系统的静态特性、动态特性和完整性约束条件。
因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。
①数据结构:是所研究的对象类型的集合,是对系统的静态特性的描述。
②数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。
③数据的约束条件:是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
8.试述概念模型的作用。
概念模型实际上是现实世界到机器世界的一个中间层次。
概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。
《数据库原理与应用》(第三版)习题参考答案第1 章数据库概述1.试说明数据、数据库、数据库管理系统和数据库系统的概念。
答:数据是描述事物的符号记录。
数据库是长期存储在计算机中的有组织的、可共享的大量数据的集合。
数据库管理系统是一个专门用于实现对数据进行管理和维护的系统软件。
数据库系统是指在计算机中引入数据库后的系统,一般由数据库、数据库管理系统(及相关的实用工具)、应用程序、数据库管理员组成。
2.数据管理技术的发展主要经历了哪几个阶段?答:文件管理和数据库管理。
3.与文件管理相比,数据库管理有哪些优点?答:与文件系统管理数据相比,数据库系统管理数据带来了如下好处:将相互关联的数据集成在一起,较少的数据冗余,程序与数据相互独立,保证数据的安全可靠,最大限度地保证数据的正确性,数据可以共享并能保证数据的一致性。
4.在数据库管理方式中,应用程序是否需要关心数据的存储位置和存储结构?为什么?答:不需要。
因为数据库管理系统提供了逻辑独立性和物理独立性。
5.在数据库系统中,数据库的作用是什么?答:数据库是数据的汇集,它以一定的组织形式保存在存储介质上。
6.在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据文件吗?答:不能7.数据独立性指的是什么?它能带来哪些好处?答:数据独立性是指应用程序不会因数据的物理表示方式和访问技术的改变而改变,即应用程序不依赖于任何特定的物理表示方式和访问技术,它包含两个方面:逻辑独立性和物理独立性。
物理独立性是指当数据的存储位置或存储结构发生变化时,不影响应用程序的特性;逻辑独立性是指当表达现实世界的信息内容发生变化时,不影响应用程序的特性。
8.数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么?答:数据库系统一般包括数据库、数据库管理系统(及相应的实用工具)、应用程序和数据库管理员四个部分。
数据库是数据的汇集,它以一定的组织形式保存在存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序专指以数据库数据为基础的程序,数据库管理员负责整个数据库系统的正常运行。
第九章数据库安全性习题解答和解析1. 1.什么是数据库的安全性?答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
2. 2.数据库安全性和计算机系统的安全性有什么关系?答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。
只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。
系统安全保护措施是否有效是数据库系统的主要指标之一。
数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。
3.试述可信计算机系统评测标准的情况,试述TDI/TCSEC标准的基本内容。
答:各个国家在计算机安全技术方面都建立了一套可信标准。
目前各国引用或制定的一系列安全标准中,最重要的是美国国防部(DoD)正式颁布的《DoD可信计算机系统评估标准》(Trusted Computer System Evaluation Criteria,简称 TCSEC,又称桔皮书)。
(详细介绍参见《概论》9.1.2)。
TDI/TCSEC标准是将TCSEC扩展到数据库管理系统,即《可信计算机系统评估标准关于可信数据库系统的解释》(Trusted Database Interpretation 简称TDI, 又称紫皮书)。
在TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。
TDI与TCSEC一样,从安全策略、责任、保证和文档四个方面来描述安全性级别划分的指标。
每个方面又细分为若干项。
这些指标的具体内容,参见《概论》9.1.2。
4.试述TCSEC(TDI)将系统安全级别划分为4组7个等级的基本内容。
答:根据计算机系统对安全性各项指标的支持情况,TCSEC(TDI)将系统划分为四组(division)7个等级,依次是D、C(C1,C2)、B(B1,B2,B3)、A(A1),按系统可靠或可信程度逐渐增高。
这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。
数据库的安全性和完整性及其实现机制为了保证数据库数据的安全可靠性和正确有效,DBMS必须提供统一的数据保护功能。
数据保护也为数据控制,主要包括数据库的安全性、完整性、并发控制和恢复。
一、数据库的安全性数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
计算机系统都有这个问题,在数据库系统中大量数据集中存放,为许多用户共享,使安全问题更为突出。
在一般的计算机系统中,安全措施是一级一级设置的。
在DB存储这一级可采用密码技术,当物理存储设备失窃后,它起到保密作用。
在数据库系统这一级中提供两种控制:用户标识和鉴定,数据存取控制。
在ORACLE多用户数据库系统中,安全机制作下列工作:防止非授权的数据库存取;防止非授权的对模式对象的存取;控制磁盘使用;控制系统资源使用;审计用户动作。
数据库安全可分为二类:系统安全性和数据安全性。
系统安全性是指在系统级控制数据库的存取和使用的机制,包含:有效的用户名/口令的组合;一个用户是否授权可连接数据库;用户对象可用的磁盘空间的数量;用户的资源限制;数据库审计是否是有效的;用户可执行哪些系统操作。
数据安全性是指在对象级控制数据库的存取和使用的机制,包含:哪些用户可存取一指定的模式对象及在对象上允许作哪些操作类型。
在ORACLE服务器上提供了一种任意存取控制,是一种基于特权限制信息存取的方法。
用户要存取一对象必须有相应的特权授给该用户。
已授权的用户可任意地可将它授权给其它用户,由于这个原因,这种安全性类型叫做任意型。
ORACLE利用下列机制管理数据库安全性:数据库用户和模式;特权;角色;存储设置和空间份额;资源限制;审计。
1.数据库的存取控制ORACLE保护信息的方法采用任意存取控制来控制全部用户对命名对象的存取。
用户对对象的存取受特权控制。
一种特权是存取一命名对象的许可,为一种规定格式。
ORACLE使用多种不同的机制管理数据库安全性,其中有两种机制:模式和用户。
第一部分基础理论第1章数据库概述1.试说明数据、数据库、数据库管理系统和数据库系统的概念。
数据:描述事务的符号记录数据库:存储数据的仓库数据库管理系统:用于管理和维护数据的系统软件数据库系统:计算机中引入数据库后的系统,包括数据库,数据库管理系统,应用程序,数据库管理员2.数据管理技术的发展主要经历了哪几个阶段?两个阶段,文件管理和数据库管理3.数据独立性指的是什么?应用程序不因数据的物理表示方式和访问技术改变而改变,分为逻辑独立性和物理独立性。
物理独立性是指当数据的存储结构或存储位置发生变化时,不影响应用程序的特性;逻辑独立性是指当表达现实世界的信息内容发生变化时,不影响应用程序的特性。
4.数据库系统由哪几部分组成?由数据库、数据库管理系统、应用程序、数据库管理员组成。
第2章数据模型与数据库系统的结构1.说明实体一联系模型中的实体、属性和联系的概念。
实体是具有公共性质的并可相互区分的现实世界对象的集合。
属性是实体所具有的特征或性质。
联系是实体之间的关联关系。
2.数据库系统包含哪三级模式?试分别说明每一级模式的作用。
外模式、模式和内模式。
外模式:是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同用户对数据的需求,保证数据安全。
模式:是数据库中全体数据的逻辑结构和特征的描述,它满足所有用户对数据的需求。
内模式:是对整个数据库的底层表示,它描述了数据的存储结构。
3.数据库管理系统提供的两级映像的作用是什么?它带来了哪些功能?两级映像是外模式/模式映像和模式/内模式映像。
外模式/模式映像保证了当模式发生变化时可以保证外模式不变,从而使用户的应用程序不需要修改,保证了程序与数据的逻辑独立性。
模式/内模式映像保证了当内模式发生变化,比如存储位置或存储文件名改变,可以保持模式不变,保证了程序与数据的物理独立性。
两级印象保证了应用程序的稳定性。
第3章关系数据库1.试述关系模型的三个组成部分。
数据结构、关系操作集合、关系完整性约束2.解释下列术语的含义:(1)主码当一个关系有多个候选码时,选择一个作为主码(2)候选码当一个属性或属性集的值能够唯一标识一个关系的元组,而又不包含多余的元素,则称该属性或属性集为候选码。