第8章 数据库的安全和完整性约束

合集下载

数据库原理及应用(第2版)--课后习题参考答案

数据库原理及应用(第2版)--课后习题参考答案

9.在利用概念层数据模型描述数据时,一般要求模型要满足三个要求。下列描述中,不属于概念层 数据模型应满足的要求的是 A A.能够描述并发数据 B.能够真实地模拟现实世界 C.容易被业务人员理解 D.能够方便地在计算机上实现 10.数据模型三要素是指 B
3
·4·
A.数据结构、数据对象和数据共享 B.数据结构、数据操作和数据完整性约束 C.数据结构、数据操作和数据的安全控制 D.数据结构、数据操作和数据的可靠性 11.下列关于实体联系模型中联系的说法,错误的是 A.一个联系可以只与一个实体有关 B.一个联系可以与两个实体有关 C.一个联系可以与多个实体有关 D.一个联系也可以不与任何实体有关 D
·1·
第 1 章 数据概述
一.选择题 1.下列关于数据库管理系统的说法,错误的是 C A.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型 B.数据库管理系统对数据库文件的访问必须经过操作系统实现才能实现 C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件 D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名 2.下列关于用文件管理数据的说法,错误的是 D A.用文件管理数据,难以提供应用程序对数据的独立性 B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序 C.用文件存储数据的方式难以实现数据访问的安全控制 D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数 据的效率 3.下列说法中,不属于数据库管理系统特征的是 C A.提供了应用程序和数据的独立性 B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合 C.用户访问数据时,需要知道存储数据的文件的物理信息 D.能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢失 5.在数据库系统中,数据库管理系统和操作系统之间的关系是 A.相互调用 B.数据库管理系统调用操作系统 C.操作系统调用数据库管理系统 D.并发运行 6.数据库系统的物理独立性是指 D A.不会因为数据的变化而影响应用程序 B.不会因为数据存储结构的变化而影响应用程序 C.不会因为数据存储策略的变化而影响数据的存储结构 D.不会因为数据逻辑结构的变化而影响应用程序 7.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作 系统之间,属于 A A.系统软件 B.工具软件 C.应用软件 D.数据软件 8.数据库系统是由若干部分组成的。下列不属于数据库系统组成部分的是 A.数据库 B.操作系统 C.应用程序 D.数据库管理系统 B D

数据库的安全性与完整性【模板范本】

数据库的安全性与完整性【模板范本】

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.数据库安全问题的产生数据库的安全性是指在信息系统的不同层次保护数据库,防止未授权的数据访问,避免数据的泄漏、不合法的修改或对数据的破坏。

-数据库原理及应用第二版-第8章数据库设计

-数据库原理及应用第二版-第8章数据库设计
需求说明 概念结构 设计 概念结构 逻辑结构 物理结构
需求 分析
逻辑结构 设计
物理 设计
图 7- 2
8.1.3数据库设计的基本步骤
需求分析阶段 概念结构设计 结构设计阶段 逻辑结构设计 物理结构设计 功能设计 行为设计阶段 事务设计 程序设计 数据库实施阶段 数据库运行和维护
需求分析:收集信息并进行分析和整理,是后 续的各个阶段的基础。概念结构设计:对需求分析 的结果进行综合、归纳形成一个独立于具体的DBMS 的概念模型。逻辑结构设计:将概念结构设计的结 果转换为某个具体的DBMS所支持的数据模型,并对 其进行优化。物理数据库设计:为逻辑结构设计的 结果选取一个最适合应用环境的数据库物理结构。 数据库行为设计:要设计所包含的功能,功能间的 关联关系以及一些功能的完整性要求;数据库实 施:运用DBMS提供的数据语言以及数据库开发工 具,根据逻辑设计和物理设计的结果建立数据库, 编制应用程序,组织数据入库并进行试运行。数据 库运行和维护阶段:投入正式使用,在其使用过程 中不断对其进行调整、修改和完善。
常用的发现事实的方法有: 1、检查文档 2、面谈 3、观察业务的运转 4、研究 5、问卷调查
8.3 数据库结构设计
8.3.1概念结构设计
概念设计的特点和策略 1、概念模型的特点 有丰富的语义表达能力。 易于交流和理解。 易于更改。 易于向各种数据模型转换,易于导出与DBMS 有关的逻辑模型。
必须注意:关系上定义的索引数并不是越多越好, 系统为维护索引要付出代价,查找索引也要付出代价。 例如,若一个关系的更新频率很高,这个关系上定义的 索引数不能太多。因为更新一个关系时,必须对这个关 系上有关的索引做相应的修改。
聚簇存取方法 为了提供某个属性或属性组的查询速 度,把这个或这些属性(称为聚簇码)上具有 相同值的元祖集中存放在连续的物理块称为 聚簇。 一个数据库可建立多个聚簇,一个关系 只能加入一个聚簇。

《数据库系统概论》完整答案

《数据库系统概论》完整答案

第一章1.DBMS的主要功能有那些?答:DBMS是数据库管理系统。

其主要功能有:(1)数据定义有DDL翻译处理程序(包括外模式、模式、存储模式处理程序)、保密定义处理程序(如授权定义处理程序)、完整性约束定义处理程序等。

这些程序接收相应的定义,进行语法、语义检查,把它们翻译为内部格式存储在数据字典中。

DDL翻译程序还根据模式定义负责建立数据库的框架(即形成一个空库),等待装入数据。

(2)数据组织,数据存储和数据管理有文件读写与维护程序、存取路径(如索引)管理程序、缓冲区管理程序(包括缓冲区读、写、淘汰模块),这些程序负责维护数据库的数据和存取路径,提供有效的存取方法。

(3)数据操纵有DML处理程序、终端查询语言解释程序、数据存取程序、数据更新程序等。

DML处理程序或终端查询语言解释程序对用户数据操纵请求进行语法、语义检查,有数据存取或更新程序完成对数据库的存取操作。

(4)数据库的事务管理和运行管理数据库在建立,运用和维护是由数据库管理系统统一管理,统一控制,以保证数据的安全性,完整性,多用户对数据的并发使用及发生故障后的系统恢复。

(5)数据库的建立和维护功能数据库初始数据的输入,转换功能;数据库的存储,恢复功能;数据库的重组织功能和性能监视,分析功能等。

(6)其他功能:DBMS与网络中其他软件系统的通信功能;一个DBMS也另一个DBMS 或文件系统的数据转换功能;异构数据库之间的互访和互操作功能等。

2.叙述数据模型的三个要素。

答:(1)数据结构:数据结构描述数据库的组成对象以及对象之间的联系。

也就是说,数据结构描述的内容有两类:一类是与对象的类型,内容,性质有关的;一类是与数据之间联系有关的对象。

数据结构是刻画一个数据模型性质最重要的方面。

因此在数据库系统中,人们通常按照其数据结构的类型来命名数据模型。

总之,数据结构是所描述的对象类型的集合,是对系统静态特性的描述。

(2)数据操作:对数据库中对象的实例允许执行的操作集合,主要指检索和更新(插入、删除、修改)两类操作。

数据库安全性和完整性

数据库安全性和完整性
安全性措施可以保护数据库免受未经授权的访问和恶意攻击,从而确保数据的保密性。
完整性措施可以确保数据的准确性和一致性,防止数据被错误地修改或损坏。
安全性措施和完整性措施相互补充,共同维护数据库的整体可靠性。
01
02
03
04
数据库安全性和完整性之间的联系
数据库安全性和完整性之间的区别
01
安全性主要关注数据的保密性,即防止未授权访问和泄露。
数据完整性包括实体完整性、域完整性和参照完整性等不同类型,分别对应不同的约束条件和规则。
数据库完整性的定义
提高数据可靠性
通过维护数据库完整性,可以减少数据不一致和冲突的情况,提高数据的可靠性和可信度。
保障业务正常运行
数据库中存储着大量关键业务数据,数据库完整性的保持对于保障业务的正常运行至关重要。
数据修复
一旦发现数据完整性问题,及时进行修复。根据问题的性质,可能需要回滚事务、更新数据或删除无效数据等操作。
检查完整性约束
定期检查数据库表中的约束条件是否得到满足,如主键约束、外键约束等。
数据库完整性的检查和修复
03
数据库安全性和完整性之间的关系
数据库安全性和完整性是相互关联的,它们共同确保数据库中数据的可靠性和保密性。
数据资产保护
保障数据库的安全性和完整性是确保业务连续性的关键,一旦数据库遭到破坏或泄露,可能导致业务中断或遭受重大损失。
业务连续性
访问控制
数据加密
备份与恢复
安全审计
如何保障数据库的安全性和完整性
对敏感数据进行加密存储,即使数据被非法获取也无法轻易解密。
定期进行数据库备份,并制定详细的备份和恢复计划,以便在数据出现问题时能够及时恢复。

电大数据库系统及应用,形考册第8章,习题与参考答案

电大数据库系统及应用,形考册第8章,习题与参考答案

电大数据库系统及应用,形考册第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使用多种不同的机制管理数据库安全性,其中有两种机制:模式和用户。

第8章--数据完整性和安全性

第8章--数据完整性和安全性
最新课件 4
8.1.2 数据完整性 根据数据完整性措施所作用的数据库对象和范
围不同,可以将数据完整性分为以下几种: 1、实体完整性 又称为行完整性。它把表中的每行都看作一个
实体,要求所有行都具有惟一标识。在SQL Server中,可以通过建立PRIMARY KEY约束、 UNIQUE约束等措施来实施实体完整性。例如, 对“客户信息表”,客户编号就可以作为主键, 每个客户的编号能够惟一地确定该客户对应的 记录信息,那么在输入数据时,则不能有相同 客户编号的记录存在,通过对客户编号这一字 段建立主键约束,可实现“客户信息表”的实 体完整性。
最新课件 13
8.3 触发器及其创建
1、触发器的功能 触发器是一种特殊类型的存储过程,与表紧密相连。
当用户修改表中的数据时,触发器将自动执行,使用 触发器可以实现多个表间数据的一致性。一般可以使 用触发器完成如下功能: (1)级联修改数据库中相关的表。如在产品信息数 据库中有两个表:客户表cust_table 和订单表 order_table。订单表order_table中包含订单信息和 有业务往来的客户信息。如果出于某一需要删除了客 户表cust_table中的某一客户信息,那么在订单表 order_table中所有与该客户有关的记录都应该做相应 的调整。
VALUES (‘1001’, ‘JCP Inc.’, 500000, ‘张言’, ‘53412573’)
GO
最新课件 20
用户在创建触发器以后的使用过程中, 可能会发现使用触发器虽然可以保证数 据引用的完整性,但却会影响系统性能; 有时要将触发器升级为新版本,这都需 要删除触发器,可以在图8.2所示的“定义 触发器的界面”中选定相应的触发器名 称后,单击“删除”按钮,也可以用TSQL语句删除。删除触发器的语句为:

数据库的完整性和安全性实验报告

数据库的完整性和安全性实验报告

信息工程学院实验报告课程名称:《数据库原理》实验项目名称:数据库的完整性和安全性一、实 验 目 的:(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.试述概念模型的作用。

概念模型实际上是现实世界到机器世界的一个中间层次。

概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。

数据库原理与应用(第3版)答案

数据库原理与应用(第3版)答案

《数据库原理与应用》(第三版)习题参考答案第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),按系统可靠或可信程度逐渐增高。

这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社第8章

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新)  机械工业出版社第8章

8.27 为什么要进行数据库转储,比较各种数据转储方法? 答: 所谓转储即DBA定期地将整个数据库复制到磁带或另一个磁盘上保存 起来的过程。这些备用的数据文本称为后备副本或后援副本。当数据 库遭到破坏后可以将后备副本重新装入,但重装后备副本只能将数据 库恢复到转储时的状态,要想恢复到故障发生时的状态,必须重新运 行自转储以后的所有更新事务。 转储可分为静态转储和动态转储。静态转储是在系统中无运行事务时 进行的转储操作。显然,静态转储得到的一定是一个数据一致性的副 本,转储简单,但转储必须等待正运行的用户事务结束才能进行,会降 低数据库的可用性。动态转储是指转储期间允许对数据库进行存取或 修改。必须把转储期间各事务对数据库的修改活动登记下来,建立日 志文件,后援副本加上日志文件就能把数据库恢复到某一时刻的正确 状态。 转储还可以分为海量转储和增量转储两种方式。海量转储是指每次转 储全部数据库。增量转储则指每次只转储上一次转储后更新过的数据。 从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来会更 方便些。但如果数据库很大,事务处理又十分频繁,则增量转储方式 更实用更有效。
8.13答: 基本的封锁类型有两种:排它锁(简称X锁)和共享锁(简 称S锁)。 排它锁也称为独Байду номын сангаас或写锁。一旦事务T对数据对象A加上排 它锁,则只允许T读取和修改A,其他任何事务既不能读取 和修改A,也不能再对A加任何类型的锁,直到T释放A上的 锁为止。 共享锁又称读锁。如果事务T对数据对象A加上共享锁,其 他事务只能再对A加S锁,不能加X锁,知道事务T释放A上 的S锁为止。 8.14答: 封锁机制作为并发控制的重要手段,利用封锁的特性和封锁 协议,它在并发操作保证事务的隔离性,用正确的方式调度 并发操作,是一个用户事务的执行不受其他事务的干扰,从 而避免造成数据的不一致性。

数据库的安全性和完整性及其实现机制

数据库的安全性和完整性及其实现机制

数据库的安全性和完整性及其实现机制为了保证数据库数据的安全可靠性和正确有效,DBMS必须提供统一的数据保护功能。

数据保护也为数据控制,主要包括数据库的安全性、完整性、并发控制和恢复。

一、数据库的安全性数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。

计算机系统都有这个问题,在数据库系统中大量数据集中存放,为许多用户共享,使安全问题更为突出。

在一般的计算机系统中,安全措施是一级一级设置的。

在DB存储这一级可采用密码技术,当物理存储设备失窃后,它起到保密作用。

在数据库系统这一级中提供两种控制:用户标识和鉴定,数据存取控制。

在ORACLE多用户数据库系统中,安全机制作下列工作:防止非授权的数据库存取;防止非授权的对模式对象的存取;控制磁盘使用;控制系统资源使用;审计用户动作。

数据库安全可分为二类:系统安全性和数据安全性。

系统安全性是指在系统级控制数据库的存取和使用的机制,包含:有效的用户名/口令的组合;一个用户是否授权可连接数据库;用户对象可用的磁盘空间的数量;用户的资源限制;数据库审计是否是有效的;用户可执行哪些系统操作。

数据安全性是指在对象级控制数据库的存取和使用的机制,包含:哪些用户可存取一指定的模式对象及在对象上允许作哪些操作类型。

在ORACLE服务器上提供了一种任意存取控制,是一种基于特权限制信息存取的方法。

用户要存取一对象必须有相应的特权授给该用户。

已授权的用户可任意地可将它授权给其它用户,由于这个原因,这种安全性类型叫做任意型。

ORACLE利用下列机制管理数据库安全性:数据库用户和模式;特权;角色;存储设置和空间份额;资源限制;审计。

1.数据库的存取控制ORACLE保护信息的方法采用任意存取控制来控制全部用户对命名对象的存取。

用户对对象的存取受特权控制。

一种特权是存取一命名对象的许可,为一种规定格式。

ORACLE使用多种不同的机制管理数据库安全性,其中有两种机制:模式和用户。

数据库习题答案--何玉洁

数据库习题答案--何玉洁

第一部分基础理论第1章数据库概述1.试说明数据、数据库、数据库管理系统和数据库系统的概念。

数据:描述事务的符号记录数据库:存储数据的仓库数据库管理系统:用于管理和维护数据的系统软件数据库系统:计算机中引入数据库后的系统,包括数据库,数据库管理系统,应用程序,数据库管理员2.数据管理技术的发展主要经历了哪几个阶段?两个阶段,文件管理和数据库管理3.数据独立性指的是什么?应用程序不因数据的物理表示方式和访问技术改变而改变,分为逻辑独立性和物理独立性。

物理独立性是指当数据的存储结构或存储位置发生变化时,不影响应用程序的特性;逻辑独立性是指当表达现实世界的信息内容发生变化时,不影响应用程序的特性。

4.数据库系统由哪几部分组成?由数据库、数据库管理系统、应用程序、数据库管理员组成。

第2章数据模型与数据库系统的结构1.说明实体一联系模型中的实体、属性和联系的概念。

实体是具有公共性质的并可相互区分的现实世界对象的集合。

属性是实体所具有的特征或性质。

联系是实体之间的关联关系。

2.数据库系统包含哪三级模式?试分别说明每一级模式的作用。

外模式、模式和内模式。

外模式:是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同用户对数据的需求,保证数据安全。

模式:是数据库中全体数据的逻辑结构和特征的描述,它满足所有用户对数据的需求。

内模式:是对整个数据库的底层表示,它描述了数据的存储结构。

3.数据库管理系统提供的两级映像的作用是什么?它带来了哪些功能?两级映像是外模式/模式映像和模式/内模式映像。

外模式/模式映像保证了当模式发生变化时可以保证外模式不变,从而使用户的应用程序不需要修改,保证了程序与数据的逻辑独立性。

模式/内模式映像保证了当内模式发生变化,比如存储位置或存储文件名改变,可以保持模式不变,保证了程序与数据的物理独立性。

两级印象保证了应用程序的稳定性。

第3章关系数据库1.试述关系模型的三个组成部分。

数据结构、关系操作集合、关系完整性约束2.解释下列术语的含义:(1)主码当一个关系有多个候选码时,选择一个作为主码(2)候选码当一个属性或属性集的值能够唯一标识一个关系的元组,而又不包含多余的元素,则称该属性或属性集为候选码。

教案财务管理数据库设计专

教案财务管理数据库设计专

教案:财务管理数据库设计专第一章:数据库基础1.1 数据库概念介绍数据库的基本概念,理解数据、信息、数据管理与数据库的关系。

解释什么是数据库管理系统(DBMS),并介绍其重要性。

1.2 数据库系统结构学习数据库系统的三级模式结构:模式、内模式、外模式。

理解映射关系,并探讨其作用。

1.3 数据模型介绍实体-联系模型(E-R模型)、关系模型等。

学习如何使用E-R模型设计数据库。

第二章:财务管理数据库需求分析2.1 需求分析概述理解需求分析的目的和重要性。

学习需求分析的基本方法和步骤。

2.2 财务管理数据库需求分析分析财务管理业务需求,确定数据库应支持的功能。

使用需求分析工具,如数据流图(DFD)和数据字典。

2.3 确定实体和关系根据需求分析结果,确定数据库中的实体和关系。

使用E-R图表示实体和关系。

第三章:财务管理数据库概念设计3.1 概念设计概述理解概念设计的目的和重要性。

学习概念设计的基本方法和步骤。

3.2 转换需求分析为概念模型将需求分析得到的信息转换为概念模型。

使用E-R模型表示概念模型。

3.3 财务管理数据库概念模型根据需求分析结果,设计财务管理数据库的概念模型。

使用E-R图表示概念模型。

第四章:财务管理数据库逻辑设计4.1 逻辑设计概述理解逻辑设计的目的和重要性。

学习逻辑设计的基本方法和步骤。

4.2 转换概念模型为逻辑模型将概念模型转换为逻辑模型。

使用关系模型表示逻辑模型。

4.3 财务管理数据库逻辑模型根据概念模型,设计财务管理数据库的逻辑模型。

使用关系图表示逻辑模型。

第五章:财务管理数据库物理设计5.1 物理设计概述理解物理设计的目的和重要性。

学习物理设计的基本方法和步骤。

5.2 确定数据库存储结构根据逻辑模型,确定数据库的存储结构。

学习文件组织方法和存储策略。

5.3 财务管理数据库物理模型根据逻辑模型,设计财务管理数据库的物理模型。

使用存储结构表示物理模型。

第六章:财务管理数据库规范化6.1 规范化理论介绍关系数据库规范化理论的基本概念。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

范例.引用完整性规则的实现 范例. 三张表为例, 以Sailors,Boats,Reserves三张表为例,写出实现引 三张表为例 用完整性约束的规则. 用完整性约束的规则. 有哪些操作会影响到三张表间的引用完整性? 有哪些操作会影响到三张表间的引用完整性?
Reserves表的 表的Insert操作 表的 操作 Sailors表的 表的Delete操作 表的 操作 Boats表的 表的Delete操作 表的 操作 Reserves表的 表的Update操作 表的 操作 Sailors表的Update操作 表的 Boats表的Update操作 表的 是否对所有属性的Update操作 是否对所有属性的 操作 都影响引用完整性? 都影响引用完整性?
2. 动态约束(dynamic constraints) 动态约束( ) 不是对数据库状态的约束, 不是对数据库状态的约束,而是数据库从一个状态 转到另一个状态时要遵守的约束. 转到另一个状态时要遵守的约束.
8.3.2 完整性约束的说明
约束的显式说明方法: 约束的显式说明方法: 1.用过程说明约束 用过程说明约束 让应用程序完成约束的说明和检验. 让应用程序完成约束的说明和检验. 缺点:检验分散在应用程序中,增加程序员的负担, 缺点:检验分散在应用程序中,增加程序员的负担, 约束改变会导致程序要修改. 约束改变会导致程序要修改. 优点:容易实现,目前应用较多. 优点:容易实现,目前应用较多.
第8章 数据库的安全和完整性约束
数据库的破坏一般来自: 数据库的破坏一般来自: 1.系统故障 系统故障; 1.系统故障; 2.并发所引起的数据不一致; 2.并发所引起的数据不一致; 并发所引起的数据不一致
数据库的安全保护( 3.人为的破坏; 3.人为的破坏; 人为的破坏 数据库的安全保护(security protection)
4.数据的语义错误或对DB的错误操作引起的并发所引 4.数据的语义错误或对DB的错误操作引起的并发所引 数据的语义错误或对DB 起的ห้องสมุดไป่ตู้据库不一致; 起的数据库不一致; 数据完整性约束
8.1 数据库的安全保护
主要讨论计算机系统在保证数据库安全方面的技 术措施. 术措施. DBMS建立在 之上,OS应能保证数据库中的数 建立在OS之上 建立在 之上, 应能保证数据库中的数 据必须经由DBMS访问,而不允许用户越过 访问, 据必须经由 访问 而不允许用户越过DBMS, , 直接通过OS访问 访问. 直接通过 访问.
问题:主动数据库系统和关系数据库系统, 问题:主动数据库系统和关系数据库系统,面向对 象数据库系统的区别和联系? 象数据库系统的区别和联系? 主动数据库只是数据库系统的一种功能! 主动数据库只是数据库系统的一种功能!
假 设有下列三个关系: 设有下列三个关系: master) Sailors(sid, sname, rating, birth, master) /*分别为水手的编号 名字,级别, 出生日期, 分别为水手的编号, /* 分别为水手的编号 , 名字 , 级别 , 出生日期 , 师 父的编号,每个水手的师父也是水手*/ 父的编号,每个水手的师父也是水手*/ Boats(bid, bname, color) /*分别为船的编号 , 名字,颜色 /* 分别为船的编号, 名字 , 分别为船的编号 */ Reserves(sid, bid, day) /*分别为订船水手编号 分别为订船水手编号, /*分别为订船水手编号,所订船 编号,日期*/ 编号,日期*/
When (not (exists(Select * From Sailors Where sid = N.sid) and (exists(Select * From Boats Where bid = N.bid)) ) Rollback; Condition Action
规则5 规则5
Create trigger sailors_sid_update Before Update of sid on Sailors Referencing Old as O For Each Row When (exists(Select * From Reserves Where sid = O.sid)) Rollback; 创建触发器, Sailors表的 表的Update操作进行监控,如 操作进行监控, 创建触发器,对Sailor 表的 操作进行监控 Reserves表中有元组引用修改前的sid值作为外键 表中有元组引用修改前的sid 果Reserves表中有元组引用修改前的sid值作为外键,回卷 此修改操作. 此修改操作.
When (exists(Select * From Reserves Where sid = O.sid)) Delete From Reserves Condition Where sid = O.sid; Action
规则4 规则4
创建触发器, 表的Update操作进行监控, 创建触发器,对Reserves表的Update操作进行监控,如 表的Update操作进行监控 果修改元组sid和bid属性值在 果修改元组sid和bid属性值在Sailors和Boats表中不存在, 和 表中不存在 sid 属性值在 回卷修改该记录的操作. 回卷修改该记录的操作. Create trigger referential_integrity_check Before Update of sid,bid on Reserves Referencing NEW as N Event For Each Row
8.1.2 访问控制
访问控制(access control)是对用户访问数据库各种 访问控制 是对用户访问数据库各种 资源的权力的控制 的控制. 资源的权力的控制. 基表,视图, 基表,视图,各种目录以及实用程序等 创建,撤销,查询, 创建,撤销,查询,增,删,改等 在同一DBMS下,可能建立多个数据库,访问控 下 可能建立多个数据库, 在同一 制在数据库之间是相互独立的. 制在数据库之间是相互独立的.
8.1.1 视图的定义和查询修改
(1) 定义视图,可以限制各个用户的访问范围; 定义视图,可以限制各个用户的访问范围; (2) 有些 有些DBMS没有视图功能,但是系统可以根据 没有视图功能, 没有视图功能 用户的访问限制条件,自动的修改查询条件, 用户的访问限制条件,自动的修改查询条件,使其只 能在给定访问范围内查询. 能在给定访问范围内查询.
When (not (exists(Select * From Sailors Where sid = N.sid) and (exists(Select * From Boats Where bid = N.bid)) ) Rollback; Condition Action
规则2 规则2
创建触发器, 表的Delete操作进行监控,如果 操作进行监控, 创建触发器,对Boats表的 表的 操作进行监控 删除元组的主键是Reserves表中的外键,回卷删除该记录的 删除元组的主键是 表中的外键 操作. 操作. Create trigger boats_delete Before Delete on Boats Event Referencing OLD as O For Each Row
在数据库中,许多用户的权限相同,如分别授权, 在数据库中,许多用户的权限相同,如分别授权, 十分繁琐,可以为他们定义一个角色. 十分繁琐,可以为他们定义一个角色. 对角色授权, 对角色授权,某用户承担某种角色就拥有该角色 的权限,一个用户可以拥有多个角色和其他权限. 的权限,一个用户可以拥有多个角色和其他权限. 角色不是用户,不能用做登陆! 角色不是用户,不能用做登陆!
2.用断言 用断言(assertions)说明约束 用断言 说明约束 DBMS提供断言说明语言,用此语言可以写出数据 提供断言说明语言, 提供断言说明语言 库完整性断言,由系统编译成约束库(constraint base) . 库完整性断言,由系统编译成约束库 DBMS的完整性控制子系统,对每个更新事务,用 的完整性控制子系统,对每个更新事务, 的完整性控制子系统 相关断言进行检查,如果发现违反约束, 相关断言进行检查,如果发现违反约束,就回卷该事 务. 例如: 储蓄帐:余额≥ 例如:Assert 余额约束 on 储蓄帐:余额≥0
When (exists(Select * From Reserves Where bid = O.bid)) Rollback; Condition Action
规则3 规则3
创建触发器, 表的Delete操作进行监控,如果 操作进行监控, 创建触发器,对Sailors表的 表的 操作进行监控 删除元组的主键是Reserves表中的外键,则将Reserves表中 删除元组的主键是 表中的外键 则将 表中 的相关记录删除. 的相关记录删除. Create trigger sailors_delete After Delete on Sailors Event Referencing OLD as O For Each Row
优点:集中控制,用户不编程,维护方便; 优点:集中控制,用户不编程,维护方便; 缺点:实现复杂,开销大,处理单一. 缺点:实现复杂,开销大,处理单一. 3.用触发子 用触发子(triggers)表示约束 用触发子 表示约束 触发子是一种软件机制,形如: 触发子是一种软件机制,形如: whenever <条件 then <动作 条件> 动作> 条件 动作 Event(激活触发器 激活触发器) 激活触发器 Condition(检验触发器的条件是否满足 检验触发器的条件是否满足) 检验触发器的条件是否满足 Actions(触发器运行后的动作 触发器运行后的动作) 触发器运行后的动作
传统的数据库系统只能按照用户或应用程序的要求, 传统的数据库系统只能按照用户或应用程序的要求, 对数据库进行操作, 对数据库进行操作,而不能根据发生的事件或数据库 的状态主动进行相应的处理,这样的数据库系统是被 的状态主动进行相应的处理, 动的. 动的. 主动数据库系统就是具有主动数据库功能的数据库 系统. 系统.
相关文档
最新文档