版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章数据库开发与设计学习数据库的结构设计过程学习数据库的逻辑结构设计学习数据库的物理结构设计了解什么是数据库的设计学习数据库的需求分析过程学习目标结合达梦(DM)数据库学习数据库开发5.1数据库设计5.1.1数据库设计概述1什么是数据库设计数据库设计主要是数据库的逻辑设计,即:将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计是需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。在数据库领域内常常把使用数据库的各类系统统称为数据库应用系统5.1数据库设计5.1.1数据库设计概述1数据库设计重要性数据库设计对于应用程序的性能、数据完整性、安全性以及可扩展性至关重要。一个良好的数据库设计能够:提高数据检索和操作的速度。确保数据的一致性和完整性。简化数据库的维护和管理。使数据库能够适应未来的变化和扩展。5.1数据库设计5.1.2需求分析1需求分析概述数据库需求分析是数据库设计过程中的关键步骤,主要涉及对用户在数据方面的需求进行深入分析和确认。这一过程的目的是确保数据库的设计能够满足用户的实际需求,并为后续的开发工作提供明确的指导。5.1数据库设计5.1.2需求分析1需求分析任务需求分析的任务是要准确了解与分析用户需求(包括数据与处理),这个阶段是最困难、最耗费时间的一步。通过详细调查现实世界需要处理的各项任务以及各任务的工作概况进而明确用户的各种功能需求,并且在明确需求的过程中必须充分考虑将来的能的功能扩充和变动。5.1数据库设计5.1.2需求分析1需求分析任务-重点需求分析任务的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。信息要求用户需要从数据库中获得的信息内容与性质在数据库中需要存储哪些数据处理要求对处理功能的要求对处理的响应时间要求5.1数据库设计5.1.2需求分析1需求分析-难点用户缺少计算机知识无法一下子准确的表达自己的需求,同时他们提出的需求往往在不断地变化分析人员确实用户的专业知识,对用户的真正需求不太能第一时间理解,甚至误解用户的需求5.1数据库设计5.1.2需求分析1需求分析方法需求分析方法包括调查组织机构情况、调查各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界,在进行需求分析调查时我们通常采用以下调查方法:跟班作业、通过亲身参加业务工作了解业务活动的情况开调查会、通过与用户座谈来了解业务活动的情况及用户需求5.1数据库设计5.1.2需求分析1需求分析和表达方法分析和表达用户需求的方法主要包括自顶向下和自底向上两类方法。自顶向下:通常称为结构化分析方法(StructuredAnalysis,简称SA方法)从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并把没一层用数据流图和数字字典描述。自底向上:自底向上是从具体的、低层次的数据需求开始,通过逐步归纳和综合,形成较高层次的需求和设计的过程。5.1数据库设计5.1.2需求分析1数据字典数据字典是各类数据描述的集合数据字典是关于数据库中数据的描述,即元数据,而不是数据本身。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分(至少应该包含每个字段的数据类型和在每个表内的主外键)。5.1数据库设计5.1.2需求分析1数据字典内容数据项:数据项是数据的最小组成单位(字段)数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系}数据结构:若干个数据项可以组成一个数据结构(表、视图)数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}数据流:数据流是数据结构在系统内传输的路径数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}5.1数据库设计5.1.2需求分析1数据字典内容数据存储:数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流,组成:{数据结构},数据量,存取方式}处理过程:处理过程通常指的是数据如何在系统中流动、处理和变换的详细描述。处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明}5.1数据库设计5.1.3概念结构设计1数据库概念结构设计是数据库设计的重要环节旨在通过高层次的抽象来描述数据及其关系,通过把实体-联系方法应用到语义数据库模型中的一种语义模型化技术,用于建立系统信息模型进而以满足特定业务需求。通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。概念模型用于信息世界的建模。概念模型不依赖于某一个DBMS支持的数据模型。概念模型可以转换为计算机上某一DBMS支持的特定数据模型。5.1数据库设计5.1.3概念结构设计1概念设计目的抽象和表达显示世界中的数据:通过识别和定义实体、属性和关系,构建一个抽象模型,准确反映现实世界中的数据结构和业务规则。确保数据一致性和完整性:通过定义数据实体及其关系,确保数据在逻辑层次上的一致性和完整性。为后续设计奠定基础:概念结构设计是逻辑设计和物理设计的基础,为后续的数据库实现提供指导。5.1数据库设计5.1.3概念结构设计1概念模型特点具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识。简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言。5.1数据库设计5.1.3概念结构设计1概念模型设计内容-概念模型概念数据模型通常是用实体-联系模型,也称为E-R图,具体由以下几部分组成实体:用矩形表示,矩形框内写明实体名。属性码:用椭圆形表示,并用无向边将其与相应的实体连接起来参考示例:5.1数据库设计5.1.3概念结构设计1概念模型设计内容-概念模型联系本身:联系本身用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)。联系属性:联系本身也是一种实体类型也可以有属性,如果一个联系具有属性则这些属性也要用无向边与该联系连接起来。参考示例:5.1数据库设计5.1.3概念结构设计1概念模型创建步骤-第零步初始化工程这个阶段的任务是从目的描述和范围描述开始,确定建模目标,开发建模计划,组织建模队伍,收集源材料,制定约束和规范。收集源材料是这阶段的重点,通过调查和观察结果,业务流程,原有系统的输入输出,各种报表,收集原始数据,形成了基本数据资料表。5.1数据库设计5.1.3概念结构设计1概念模型创建步骤-第一步定义实体实体集成员都有一个共同的特征和属性集,可以从收集的源材料——基本数据资料表中直接或间接标识出大部分实体。根据源材料名字表中表示物的术语以及具有“代码”结尾的术语,如客户代码、代理商代码、产品代码等将其名词部分代表的实体标识出来,从而初步找出潜在的实体,形成初步实体表。5.1数据库设计5.1.3概念结构设计1概念模型创建步骤-第二步定义联系n元联系必须定义为n个二元联系,根据实际的业务需求和规则,使用实体联系矩阵来标识实体间的二元关系,然后根据实际情况确定出连接关系的势、关系名和说明,确定关系类型,是标识关系、非标识关系(强制的或可选的)还是非确定关系、分类关系。如果子实体的每个实例都需要通过和父实体的关系来标识,则为标识关系,否则为非标识关系。非标识关系中,如果每个子实体的实例都与而且只与一个父实体关联,则为强制的,否则为非强制的。如果父实体与子实体代表的是同一现实对象,那么它们为分类关系。5.1数据库设计5.1.3概念结构设计1概念模型创建步骤-第三步定义码通过引入交叉实体除去上一阶段产生的非确定关系,然后从非交叉实体和独立实体开始标识侯选码属性,以便唯一识别每个实体的实例,再从侯选码中确定主码。为了确定主码和关系的有效性,通过非空规则和非多值规则来保证,即一个实体实例的一个属性不能是空值,也不能在同一个时刻有一个以上的值,找出误认的确定关系,将实体进一步分解。5.1数据库设计5.1.3概念结构设计1概念模型创建步骤-第四步定义属性从源数据表中抽取说明性的名词开发出属性表,确定属性的所有者。定义非主码属性,检查属性的非空及非多值规则。此外,还要检查完全依赖函数规则和非传递依赖规则,保证一个非主码属性必须依赖于主码、整个主码、仅仅是主码。以此得到了至少符合关系理论第三范式的改进的IDEF1X模型的全属性视图。5.1数据库设计5.1.3概念结构设计1概念模型创建步骤-第五步定义其他对象和规则从源数据表中抽取说明性的名词开发出属性表,确定属性的所有者。定义非主码属性,检查属性的非空及非多值规则。此外,还要检查完全依赖函数规则和非传递依赖规则,保证一个非主码属性必须依赖于主码、整个主码、仅仅是主码。以此得到了至少符合关系理论第三范式的改进的IDEF1X模型的全属性视图。5.1数据库设计5.1.3概念结构设计1概念模型创建步骤-第四步定义属性定义属性的数据类型、长度、精度、非空、缺省值、约束规则等。定义触发器、存储过程、视图、角色、同义词、序列等对象信息。5.1数据库设计5.1.3概念结构设计1总结概念结构设计是数据库设计的基础,通过识别和定义实体、属性和关系,构建抽象数据模型,为后续的逻辑设计和物理设计提供指导。通过需求分析、识别实体和关系、绘制ER图和定义约束条件,可以确保数据库设计的准确性和完整性,满足业务需求。5.1数据库设计5.1.4逻辑结构设计1数据库逻辑结构设计是数据库设计过程中的关键步骤之一。它是在概念结构设计的基础上,将概念模型转化为逻辑数据模型,以适应特定数据库管理系统(DBMS)的要求。这一阶段的设计确保数据结构高效、完整,并符合业务需求。5.1数据库设计5.1.4逻辑结构设计1模型优化标准对于模型优化通常是将关系分解为3NF的标准。表内的每一个值都只能被表达一次表内的每一行都应该被唯一的标识(有唯一键)表内不应该存储依赖于其他键的非键信息优化流程5.1数据库设计5.1.4逻辑结构设计1模型转换-原则实体型转换为一个关系模式实体的属性就是关系的属性,实体的码就是关系的码。m:n联系转换为一个关系模式与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。1:n联系转换为一个独立的关系模式如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。5.1数据库设计5.1.4逻辑结构设计1模型转换-原则1:1联系转换关系模式1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。三个或三个以上多元联系转换关系模式与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。同一实体集的实体间联系同一实体集内实体间联系也称为自联系,也能按照上述的1:1、1:n和m:n三种情况分别处理5.1数据库设计5.1.4逻辑结构设计1模型优化
为了进一步提高数据库应用系统的性能,通常以规范化理论为指导,还应该适当地修改、调整数据模型的结构,这就是数据模型的优化,具体的优化方法以下几种确定数据以来消除冗余的联系确定各关系模式分别属于第几范式确定是否要对它们进行合并或分解5.1数据库设计5.1.5物理结构设计1数据库物理结构设计是数据库设计的最后阶段,旨在将逻辑结构设计转化为具体的物理实现。这个阶段涉及数据库在存储设备上的具体布局和存储机制,旨在优化数据库的性能、存储效率和数据安全性。物理结构设计主要为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。5.1数据库设计5.1.5物理结构设计1物理结构设计目的优化性能
通过适当的存储分布和索引设计,提高数据库的读写性能提高存储效率合理安排数据文件和存储空间,确保高效利用存储资源确保数据安全通过备份和恢复机制,防止数据丢失和损坏5.1数据库设计5.1.6数据库实施1数据库的实施和维护主要运用DBMS提供的数据库语言(如SQL)及宿主语言,根据逻辑设计和物理设计的结果完成。数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。包括:数据库的转储和恢复、数据库的安全性、完整性控制、数据库性能的监督、分析和改进、数据库的重组织和重构造。5.1数据库设计5.1.6数据库实施1数据库实施步骤建立数据库编制与调试应用程序组织数据入库进行程序试运行5.2数据库开发5.2.1嵌入式SQL编程2嵌入式SQL编程是将SQL语句嵌入到宿主编程语言中的技术,通过直接在代码中编写和执行SQL语句,实现对数据库的高效操作。在达梦数据库中嵌入的SQL语句并不能被高级编程语言编译的程序所识别,因此必须对这些SQL语句进行预处理翻译为主语言语句再由编译程序编译成可执行文件。5.2数据库开发5.2.1嵌入式SQL编程2编程实例#include<stdio.h>#include<string.h>EXECSQLBEGINDECLARESECTION;charLOGINNAME[20]="SYSDBA";charUSERPWD[20]="SYSDBA";charAPPSRV[20]="LOCALHOST";EXECSQLENDDECLARESECTION;longSQLCODE;voidmain(){EXECSQLLOGIN:LOGINNAMEPASSWORD:USERPWDSERVER:APPSRV;if(SQLCODE!=0){printf("用户%s登录失败\n\n",LOGINNAME);return;}elseprintf("用户%s登录成功\n\n",LOGINNAME);EXECSQLLOGOUT;printf("用户%s断开成功\n\n",LOGINNAME);}5.2数据库开发5.2.2过程化SQL2过程化SQL是一种扩展SQL的编程技术,使得SQL可以处理复杂的业务逻辑和流程控制。同时过程化SQL增强了SQL的功能,使其能够处理更复杂的业务逻辑和流程控制达梦数据库也支持创建过程化SQL(DMPL/SQL),创建好后无需存储创建完就能直接执行,执行结束后直接释放相应资源。5.2数据库开发5.2.2过程化SQL2示例DECLARENUMINT:=50;BEGINFORRSIN1..100000LOOPINSERTINTOTEST2VALUES(NUM*RAND(),ROUND(RS*RAND()),RS,RS+NUM);ENDLOOP;COMMIT;END;5.2数据库开发5.2.3存储过程和函数2存储过程和函数都是数据库中的编程单元,它们允许开发人员在数据库中定义和执行一系列SQL语句。DM(达梦系统)允许用户使用达梦PL/SQL语言创建过程或函数,这些过程或函数像普通的过程或函数一样,有输入、输出参数和返回值,它们与表和视图等数据库对象一样被存储在数据库中,供用户随时调用。5.2数据库开发5.2.3存储过程和函数2达梦数据库特点提供更高的生产率便于维护提供更好的性能安全性高5.2数据库开发5.2.4ODBC编程2ODBC是一个独立于数据库系统的API,它定义了一组函数和标准的SQL语法,通过它,应用程序可以与任何支持ODBC的数据库进行交互。达梦数据库也支持ODBC编程,DMODBC3.0遵照MicrosoftODBC3.0规范设计与开发,实现了ODBC应用程序与DM数据库的互连接口。用户可以直接调DMODBC3.0接口函数访问DM,也可以使用可视化编程工具如C++Builder、PowerBuilder等利用DMODBC3.0访问DM数据库。5.2数据库开发5.2.5JDBC编程2JDBC(JavaDatabaseConnectivity)是Java应用程序与数据库的接口规范,旨在让各数据库开发商为Java程序员提供标准的数据库应用程序编程接口(API)。DMJDBC数据库驱动程序是一个能够支持基本SQL功能的通用应用程序编程接口驱动遵照JDBC标准规范设计与开发,支持一般的SQL数据库访问。通过JDBC驱动程序,用户可以在应用程序中实现对DM数据库的连接与访问。5.3数据库设计与开发实践5.3.1实践1:DM8数据库存储过程管理4在模式RESOURCES下创建了一个名为proc_1的存储过程。CREATEORREPLACEPROCEDURERESOURCES.PROC_1(AINOUTINT)ASBINT:=10;BEGINA:=A+B;PRINTA;EXCEPTIONWHENOTHERSTHENNULL;END;//结果5.3数据库设计与开发实践5.3.2实践2:DM8数据库索引创建4为了提高系统的查询效率,DM系统提供了索引。但也需要注意,索引会降低那些影响索引列值的命令的执行效率,如INSERT、UPDATE、DELETE的性能,因为DM不但要维护基表数据还要维护索引数据。假设具有DBA权限的用户在PURCHASING表中,以VENDORID为索引列建立索引S1,以ACCOUNTNO,NAME为索引列建立唯一索引S2。CREATEINDEXS1ONPURCHASING.VENDOR(VENDORID);CREATEUNIQUEINDEXS2ONPURCHASING.VENDOR(ACCOUNTNO,NAME);//结果5.3数据库设计与开发实践5.3.3实践3:DM8数据库视图创建4对VENDOR表创建一个视图,名为VENDOR_EXCELLENT,保存信誉等级为1的供应商,列名有:VENDORID,ACCOUNTNO,NAME,ACTIVEFLAG。CREATEVIEWPURCHASING.VENDOR_EXCELLENTASSELECTVENDORID,ACCOUNTNO,NAME,ACTIVEFLAG,CREDITFROMPURCHASING.VENDORWHERECREDIT=1;//结果5.3数据库设计与开发实践5.3.4实践4:DM8数据库触发器创建4触发器(TRIGGER)定义为当某些与数据库有关的事件发生时,数据库应该采取的操作。这些事件包括全局对象、数据库下某个模式、模式下某个基表上的INSERT、DELETE和UPDATE操作。对PERSON模式上的PERSON表建立一个触发器,该触发器的功能是当对表PERSON进行更新操作并且更新的列包括NAME或PHONE时该触发器被激发。SETSCHEMAPERSON;CREATEORREPLACETRIGGERTRG_UPDAFTERUPDATEOFNAME,PHONEONPERSON.PERSONBEGINPRINT'UPDATEOPERATIONONCOLUMNSNAMEORPHONEOFPERSON';END;SETSCHEMASYSDBA;//结果第4章关系数据库标准语言小结数据库开发与设计是一项综合性工程,旨在构建稳定、高效、安全的数据库系统,以满足用户的数据需求和应用要求。它涉及需求分析、概念设计、逻辑建模和物理实施等多个关键环节,需要精心规划并遵循一定的原则。在开发过程中,需要注重数据的一致性和完整性,同时考虑性能和扩展性。设计合理的数据库结构,能够提升数据处理效率,保障数据安全,为业务应用提供强有力的支撑。最终,通过数据库开发与设计,能够构建出符合业务需求的数据库系统,为企业的发展提供有力保障。第4章关系数据库标准语言思考与练习1、请针对一个购书平台该平台包含用户、供应商、平台职员、订单等元素进行分析得到该平台的一个数据流图。2、请结合你的思考进而设计该购书平台的用户实体所具有的各种属性。3、基于该购书平台的各元素设计该平台核心的实体4、基于设计好的各实体建立彼此之间的关系形成最终的E-R图第6章数据库管理与应用学习目标理解数据库运行维护理解数据库管理与应用实践理解数据库管理系统数据库管理系统1基本功能数据库管理的工作包括数据库建立、存储,修改和存取数据库数据、数据库的调优、数据库的安全管控、报错问题的分析和汇总和处理、数据库数据的日常备份等等。为了保证数据库系统的正常运行和服务质量。系统分层结构系统分层结构数据库产品很多,支持的数据模型、使用的数据库语言、数据的存储结构也各不相同,但在体系结构上都具有相同的特征,都采用“三级模式和两级映像”,如下图所示。缓存区管理1数据缓冲区是DM服务器在将数据页写入磁盘之前以及从磁盘上读取数据页之后,数据页所存储的地方。这是DM服务器至关重要的内存区域之一,将其设定得太小,会导致缓冲页命中率低,磁盘IO频繁;将其设定得太大,又会导致操作系统内存本身不够用。物理组织DM数据库使用了磁盘上大量的物理存储结构来保存和管理用户数据。典型的物理存储结构包括:用于进行功能设置的配置文件;用于记录文件分布的控制文件;用于保存用户实际数据的数据文件、重做日志文件、归档日志文件、备份文件;用来进行问题跟踪的跟踪日志文件等,如下图所示。学习目标理解数据库运行维护理解数据库管理与应用实践理解数据库管理系统数据库运行维护1查询的执行,也就是查询处理的过程,即数据库管理系统根据用户指定的SQL语句中的语义,执行语义所限定的操作。关系数据库查询处理包括查询分析、查询检查、查询优化、查询执行4个步骤。接下来介绍查询关系数据操作中选择操作和连接操作的实现原理。对于选择操作,其典型实现方法包括全表扫描和索引扫描。全表扫描是对查询的基本表进行顺序扫描,逐一检查每个元组是否满足选择条件,把满足条件的元组作为结果输出。这种方式适合小表。索引扫描适合于选择条件属性上有索引,通过索引先找到满足条件的元组主码或元组指针,再通过元组指针在查询基本表中直接取得元组作为结果。数据库运行维护1数据库是共享资源,通常有许多个事务同时在运行。事务是指访问并可能更新数据库中各种数据项的一个程序执行单元,一个事务可以是一条SQL语句,一组SQL语句或整个程序。事务具有4个特性,即:原子性(A):一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。一致性(C):事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。隔离性(I):一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。持久性(D):指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。数据库是共享资源,通常有许多个事务同时在运行。事务是指访问并可能更新数据库中各种数据项的一个程序执行单元,一个事务可以是一条SQL语句,一组SQL语句或整个程序。关系完整性1数据库故障可分为四类,包括事务内部故障、系统故障、介质故障、计算机病毒。事务内部的故障可分为预期的和非预期的。预期的事务内部故障是指可以通过事务程序本身发现的事务内部故障;非预期的事务内部故障是不能由事务程序处理的,如运算溢出故障,并发事务死锁故障、违反了某些完整性限制而导致的故障等;系统故障是指数据库在运行过程中,由于硬件故障、数据库软件及操作系统的漏洞、突然停电灯情况,导致系统停止运转,正在运行的事务以非正常方式终止,需要系统重新启动。这类故障不破坏数据库,但是影响正在运行的所有事务;介质故障也称为硬故障,主要指数据库在运行过程中,由于磁头碰撞、磁盘损坏、强磁干扰、天灾人祸等情况,使得数据库中的数据部分或全部丢失的一类故障。关系完整性1用户定义的完整性针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不需由应用程序承担这一功能。例:课程(课程号,课程名,学分),“课程号”属性必须取唯一值,非主属性“课程名”也不能取空值,“学分”属性只能取值{1,2,3,4}。学习目标理解数据库运行维护理解数据库管理与应用实践理解数据库管理系统数据库管理与应用实践1在
DM中,一个用户可以创建多个模式,一个模式中的对象(表、视图等)可以被多个用户使用。模式不是严格分离的,一个用户可以访问他所连接的数据库中有权限访问的任意模式中的对象。DM模式主要包含表、视图、索引、触发器、存储过程/函数、序列、全文索引、包、同义词、类、外部链接等。在引用模式对象的时候,一般要在模式对象名前面加上模式名。模式对象之外的其他对象统一称为非模式对象,非模式对象主要包括用户、角色权限和表空间。实践1:DM8数据库的用户管理实验数据库管理与应用实践1DM提供了很多客户端工具方便用户操作数据库,这些工具都在tool目录下。如前面章节使用到的DM管理工具。还有例如服务查看器、控制台工具、性能监控工具、数据迁移工具等。服务查看器可以查看达梦相关的服务,并且进行启停操作。控制台工具可以看见所实例的参数配置,并可以进行修改维护。性能监视工具可查看达梦数据库的性能情况,并进行调优。迁移工具则是用来不能数据源之间的数据迁移。实践1:DM8数据库的用户管理实验数据库管理与应用实践1实践1:DM8数据库的用户管理实验数据库管理与应用实践1实践1:DM8数据库的用户管理实验数据库管理与应用实践1(1)alterdatabasemount;修改数据库状态为mount挂载状态(2)alterdatabasearchivelog;将数据库改为归档模式(3)alterdatabaseopen;修改数据库状态为open正常打开(4)backupdatabasefullbackupset‘/dm8/backup/fullbak3;全库备份。存放目录为/dm8/backup/。去查看该目录可以看到刚刚备份的文件实践2:DM8数据库的备份与恢复数据库管理与应用实践1将full改成increment为增量备份,即backupdatabaseincrementbackupset‘/dm8/back/increment1’备份可以完全备份,可以增量备份,可以表空间备份,也可以日志备份。一般情况下是根据实际情况每隔一段时间进行库完全备份,每天进行增量备份,以保证数据库的安全。在有完善备份的基础上,介质故障恢复,就是进行数据库还原恢复操作。即根据库备份集中记录的文件信息重新创建数据库文件,并将数据页重新拷贝到目标数据库。例如达梦数据库V8,包含3个步骤:还原(RESTORE)、恢复(RECOVER)、数据库更新(UPDATEDB_MAGIC)。1)RESTORERESTORE命令从备份集中进行对象的还原(配置文件和数据文件等),备份集可以是脱机库级备份集,也可以是联机库级备份集。实践2:DM8数据库的备份与恢复数据库管理与应用实践1系统采用了单独的日志文件来存储REDO日志,即联机日志文件。DM至少有两个日志文件,日志文件是循环利用的。日志文件由日志表空间管理。DM支持增加日志文件和扩展日志文件大小。例1增加大小为80M的日志文件dameng_003.logCopyALTERDATABASEADDLOGFILE'dameng_003.log'size80;例2将日志文件dameng_003.log大小更改为100MCopyALTERDATABASERESIZELOGFILE'dameng_003.log'to100;在MOUNT状态下,支持对日志文件的重命名操作。例3将日志文件dameng_003.log重命名为dameng_004.logCopyALTERDATABASERENAMELOGFILE'dameng_003.log'to'dameng_004.log';实践2:DM8数据库的备份与恢复第6章数据库管理与应用小结本章主要介绍了数据库管理系统的基本功能;系统分层结构;缓存区管理;数据库1运行结构;关系完整性;同时在实例中学习数据库管理和应用实践:DM8数据库的用户管理实验、DM8数据库的备份与恢复。第6章数据库管理与应用思考与练习1.思考题(1)数据库管理系统包括哪些功能,请举例说明?(2)什么是并发控制,请举例说明?(3)数据库运行维护包括哪些方面?2.讨论题(1)什么是数据库恢复?请举例说明。3.实训题完成实践(1)实践(2)第7章数据库的安全掌握数据库安全性控制技术理解和应用安全管理制度了解数据库安全的未来发展理解数据库安全性的基本概念掌握数据库安全标准和评价方法学习目标7.1数据库安全性概述7.1.1安全定义与事故类型
11.数据库安全性的定义数据库安全性是指保护数据库,防止非法使用,以避免数据的泄密,更改或破坏。数据库的最大特点是数据是共享的,而数据共享必然带来安全性问题,因为数据库系统中的数据共享并非无条件的共享。7.1数据库安全性概述7.1.1数据类型12.数据库的事故类型
(1)非授权用户对数据库的恶意存取和破坏
黑客或者破坏者编写合法程序绕过DBMS及其授权机制,获取用户名和密码,假冒合法用户偷取、修改甚至破坏用户数据。达梦数据库管理系统提供的安全措施主要包括用户身份鉴别、存取控制和视图等技术。
(2)数据库中重要数据被泄露黑客和破坏分子通过直接或编写应用程序执行非授权操作盗窃数据库中的重要数据,从数据库中获取保密数据。达梦数据库管理系统提供的主要技术有强制存取控制、数据加密存储和加密传输等。同时提供审计功能,通过分析审计日志,对潜在的危险提前预防。
(3)安全环境的存在不安全性安全性问题不只是数据库系统独有,所有计算机系统,包括计算机硬件、操作系统、网络系统都存在不安全性。因此数据库的安全性与计算机系统的安全性紧密联系。因此需要在计算机安全技术方面建立一套可信计算机系统的安全标准,这样才能规范和指导以及测定数据库管理系统的安全性能指标,满足不同用户需求。达梦数据库管理系统也满足国家标准要求。7.1数据库安全性概述7.1.2
数据库安全标准与评价21.国际安全标准(1)TCSEC(桔皮书):是一套用于评估计算机系统安全性的标准。(2)CC标准:通用标准,用于评估信息技术安全性。(3)TCSEC/TDI(紫皮书):评估信任数据库解释器的标准。2.国内安全标准(1)信息安全技术数据库管理系统安全评估准则(2)信息安全技术数据库管理系统安全技术要求7.1数据库安全性概述7.1.2
数据库安全标准与评价2编号标准号标准中文名称发布日期实施日期标准状态1GB/T20009-2019信息安全技术数据库管理系统安全评估准则2019/8/302020/3/1现行2GB/T20273-2019信息安全技术数据库管理系统安全技术要求2019/8/302020/3/1现行3GB/T32633-2016分布式关系数据库服务接口规范2016/4/252016/11/1现行4GB/T30994-2014关系数据库管理系统检测规范2014/9/32015/2/1现行5GB/T28821-2012关系数据管理系统技术要求2012/11/52013/2/1现行6GB/T12991.1-2008信息技术数据库语言SQL第1部分:框架2008/12/12008/7/16现行7.2数据库安全性控制7.2.1身份认证1用户身份鉴定是数据库管理系统提供的最外层安全保护措施。每个用户在系统中拥有一个用户标识(由用户名和用户标识号两部分组成)。常用的用户身份鉴定方法包括:1.口令鉴别(1)静态口令鉴别静态口令一般由用户自己设定,鉴别时按要求输入正确的口令,系统将允许用户使用数据库管理系统。例如:电话、生日等。(2)动态口令鉴定每次鉴别时均使用动态产生的新口令登录数据库管理系统,即采用一次一密的方法。例如:短信密码、动态令牌等(3)DM数据库管理系统口令鉴别策略用户口令最长为48字节,创建用户语句中的PASSWORDPOLICY子句用来指定该用户的口令策略。7.2数据库安全性控制7.2.1身份认证12.用户身份验证模式DM提供多种用户身份验证模式来保护对数据库访问的安全,包括数据库身份验证、基于操作系统的身份验证、LDAP身份验证、SSL双因子身份验证、KERBEROS身份验证和UKEY身份验证。3.生物特征鉴别采用图像处理和模式识别等技术实现基于生物特征的认证,例如:指纹、虹膜等4.智能卡鉴别登录数据库管理系统时用户将智能卡插入专用的读卡器进行身份验证。7.2数据库安全性控制7.2.2访问控制2存取控制机制包括定义用户权限和合法权限检查两部分:(1)定义用户权限(用户对某一数据对象的操作权力),将用户权限登记到数据字典中(2)合法权限检查,用户发出存取数据库的操作请求后,数据库管理系统就和查找数据字典,进行合法权限检查,对超出权限的操作,系统拒绝执行此操作。7.2数据库安全性控制7.2.3自主授权3
自主访问控制(DiscretionaryAccessControl,DAC)是由数据库对象的拥有者自主决定是否将自己拥有的对象的部分或全部访问权限授予其他用户。在自主访问控制下,用户可以按照自己的意愿,有选择地与其他用户共享他拥有的数据库对象。
1.权限管理
DM数据库对用户的权限管理有着严密的规定,如果没有权限,用户将无法完成任何操作。用户权限分为两类:数据库权限和对象权限。数据库权限主要是指针对数据库对象的创建、删除、修改的权限,对数据库备份等权限。数据库权限是与数据库安全相关的非常重要的权限,其权限范围比对象权限更加广泛,因而一般被授予数据库管理员或者一些具有管理功能的角色。
2.权限的分配与回收
可以通过GRANT语句将权限(包括数据库权限、对象权限以及角色权限)分配给用户和角色,之后也可以使用REVOKE语句将授出的权限进行回收。7.2数据库安全性控制7.2.4角色管理4
角色是一组权限的组合,使用角色的目的是使权限管理更加方便。假设有10个用户,这些用户为了访问数据库,至少拥有CREATETABLE、CREATEVIEW等权限。如果将这些权限分别授予这些用户,那么需要进行的授权次数是比较多的。但是如果把这些权限事先放在一起,然后作为一个整体授予这些用户,那么每个用户只需一次授权,授权的次数将大大减少,而且用户数越多,需要指定的权限越多,这种授权方式的优越性就越明显。这些事先组合在一起的一组权限就是角色,角色中的权限既可以是数据库权限,也可以是对象权限,还可以是别的角色。7.2数据库安全性控制7.2.4角色管理4
1.角色的创建与删除
(1)DM预定义角色
在DM数据库中有两类角色,一类是DM预设定的角色,一类是用户自定义的角色。DM提供了一系列的预定义角色以帮助用户进行数据库权限的管理。预定义角色在数据库被创建之后即存在,并且已经包含了一些权限,数据库管理员可以将这些角色直接授予用户。
(2)创建角色语句
在DM系统中,可以对用户直接授权,也可以通过角色来授权。在实际的权限分配方案中,通常是用角色。先为数据库定义一系列的角色,然后将权限分配给这些角色。基于这些角色的用户间接地获得权限。7.2数据库安全性控制7.2.4角色管理4
2.角色权限的分配与回收
(1)角色权限的分配通常角色包含权限或其他角色,通过使用GRANT语句将一个角色授予用户或另一角色可以使得用户和角色继承该角色所具有的权限。
(2)角色权限的回收可以使用REVOKE语句回收用户或其它角色从指定角色继承过来的权限。7.3视图机制
在数据库系统中,可以为不同的用户定义不同的视图,把数据对象限制在一定的范围内。通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动对数据提供一定程度的安全保护。
1.视图的作用
(1)数据隔离
为不同的用户提供不同的数据视图,从而限制数据对象的可见范围。
(2)安全保护
通过视图隐藏敏感或保密的数据,使无权存取的用户无法直接看到这些数据,达到安全保护的效果。
2.视图机制与存取谓词:
视图机制可以间接地支持基于存取谓词的用户权限定义。存取谓词定义了基于某些条件的数据访问权限。通过为满足特定条件的数据创建视图,可以实现对特定子集的数据的访问控制。7.4审计跟踪7.4.1审计开关1在DM系统中,专门为审计设置了开关,要使用审计功能首先要打开审计开关。审计开关由过程VOIDSP_SET_ENABLE_AUDIT(paramint);控制,过程执行完后会立即生效,param有三种取值:0:关闭审计1:打开普通审计2:打开普通审计和实时审计缺省值为0。7.4审计跟踪7.4.2审计的设置与取消2
数据库审计员指定被审计对象的活动称为审计设置,只有具有AUDITDATABASE权限的审计员才能进行审计设置。DM提供审计设置系统过程来实现这种设置,被审计的对象可以是某类操作,也可以是某些用户在数据库中的全部行踪。只有预先设置的操作和用户才能被DM系统自动进行审计。DM允许在三个级别上进行审计设置,如下表所示。审计级别说明系统级系统的启动与关闭,此级别的审计无法也无需由用户进行设置,只要审计开关打开就会自动生成对应审计记录语句级导致影响特定类型数据库对象的特殊SQL或语句组的审计。如AUDITTABLE将审计CREATETABLE、ALTERTABLE和DROPTABLE等语句对象级审计作用在特殊对象上的语句。如test表上的INSERT语句7.4审计跟踪7.4.3语句序列审计3DM还提供了语句序列审计功能,作为语句级审计和对象级审计的补充。语句序列审计需要审计员预先建立一个审计规则,包含N条SQL语句(SQL1,SQL2……),如果某个会话依次执行了这些SQL语句,就会触发审计。7.4审计跟踪7.4.4关于审计设置的一些说明4只要审计功能被启用,系统级的审计记录就会产生。在进行数据库审计时,审计员之间没有区别,可以审计所有数据库对象,也可取消其他审计员的审计。语句级审计不是针对特定的对象,而是针对用户进行的。对象级审计针对指定的用户与指定的对象进行审计。在设置审计时,审计选项不区分包含关系,都可以设置。在设置审计时,审计时机不区分包含关系,都可以进行设置。如果用户执行的一条语句与设置的若干审计项都匹配,只会在审计文件中生成一条审计记录。7.4审计跟踪7.4.5审计文件管理5
DM审计信息存储在审计文件中。审计文件存放在数据库的SYSTEM_PATH指定的路径,即数据库所在路径。审计文件命名格式为“AUDIT_GUID_创建时间.log”,其中“GUID”为DM给定的一个唯一值
审计文件的大小可以通过DM的INI参数AUDIT_MAX_FILE_SIZE指定。当单个审计文件超过指定大小时,系统会自动切换审计文件,自动创建新的审计文件,审计记录将写入新的审计文件中。AUDIT_MAX_FILE_SIZE为动态系统级参数,缺省值为100M,DBA用户可通过系统过程SP_SET_PARA_VALUE对其进行动态修改,有效值范围为1~4096M。7.4审计跟踪7.4.6审计实时侵害检测6
当执行“SP_SET_ENABLE_AUDIT(2);”时,开启审计实时侵害检测功能。实时侵害检测系统用于实时分析当前用户的操作,并查找与该操作相匹配的实时审计分析规则,如果规则存在,则判断该用户的行为是否是侵害行为,确定侵害等级,并根据侵害等级采取相应的响应措施。7.4审计跟踪7.4.7审计分析7
DM提供了图形界面的审计分析工具Analyzer,实现对审计记录的分析功能,能够根据所制定的分析规则,对审计记录进行分析,判断系统中是否存在对系统安全构成危险的活动。只有审计用户才能使用审计分析工具Analyzer。审计用户登录审计分析工具后,通过Analyzer可以创建和删除审计规则,并可以指定对某些审计文件应用某些规则。并将审计结果以表格的方式展现出来。7.5数据加密7.5.1透明加密1
在透明加密中,密钥生成、密钥管理和加解密过程由数据库管理系统自动完成,用户不可见。透明加密的目的主要是保证存储在数据文件中的敏感数据的安全,并不能保护合法用户的个人私密数据。系统内置了常用的DES,AES,RC4等类型的加密算法,以此来保护数据的安全性。7.5数据加密7.5.2半透明加密2
创建用户时可以指定存储加密密钥,这个密钥就是为了进行半透明加密时使用的。如果在创建用户时并没有指定存储加密密钥,系统也会自动为用户生成一个默认的加密密钥。如果在创建表或修改表时指定对表列进行半透明加密,DM会使用用户的存储加密密钥对数据进行加密。7.5数据加密7.5.3非透明加密3
DM对非透明加密的支持是通过对用户提供加解密接口实现的。用户在使用非透明加密时,需要提供密钥并调用加解密接口。采用非透明加密可以保证个人私密数据不被包括DBA在内的其他人获取。非透明加密通过用户调用存储加密函数来进行,DM提供了一系列的存储加密函数,还提供了一个数据加密包DBMS_OBFUSCATION_TOOLKIT。7.6其他安全保护1.推理控制推理控制机制用于防止用户利用其已经访问的数据来推断出更高密级的数据。即用户利用其被允许的多次查询的结果,结合相关领域背景知识以及数据之间的约束,推导出其不能访问的数据。2.隐蔽通道隐蔽通道是指利用未受到强制存取控制的SQL执行后的反馈信息进行间接信息传递的手段。高安全等级用户按事先约定方式主动向低安全等级用户传输信息,使得信息流从高安全等级向低安全等级流动,从而导致高安全等级敏感信息泄露。3.数据隐私控制不愿被他人知道或他人不便知道的个人数据的能力。7.7数据库安全技术实践7.7.1实践1:DM8数据库用户、权限与角色管理管理1
DM对非透明加密的支持是通过对用户提供加解密接口实现的。用户在使用非透明加密时,需要提供密钥并调用加解密接口。采用非透明加密可以保证个人私密数据不被包括DBA在内的其他人获取。非透明加密通过用户调用存储加密函数来进行,DM提供了一系列的存储加密函数,还提供了一个数据加密包DBMS_OBFUSCATION_TOOLKIT。7.7数据库安全技术实践7.7.1实践1:DM8数据库用户、权限与角色管理管理11.创建和删除角色
在DM系统中,可以对用户直接授权,也可以通过角色来授权。在实际的权限分配方案中,通常是用角色。先为数据库定义一系列的角色,然后将权限分配给这些角色。基于这些角色的用户间接地获得权限。
例7-17创建角色BOOKSHOP_ROLE1,赋予ADDRESS表的SELECT权限。7.7数据库安全技术实践7.7.1实践1:DM8数据库用户、权限与角色管理管理1例7-18
假定存在角色BOOKSHOP_ROLE1、用户BOOKSHOP_USER1,现将角色权限授予BOOKSHOP_USER1,然后回收角色权限,并删除角色7.7数据库安全技术实践7.7.1实践1:DM8数据库用户、权限与角色管理管理12.角色授权(1)数据库权限将指定的数据库权限授予用户/角色。例7-19系统管理员SYSDBA把建表和建视图的权限授给用户BOOKSHOP_USER1,并允许转授7.7数据库安全技术实践7.7.1实践1:DM8数据库用户、权限与角色管理管理1(2)对象权限将指定对象的权限授予用户。例7-20表的创建者SYSDBA把所创建的ADDRESS表的全部权限授给用户BOOKSHOP_USER1
7.7数据库安全技术实践7.7.1实践1:DM8数据库用户、权限与角色管理管理1(3)角色权限一般用户角色包含权限或其它角色。用户或其它角色可以继承该角色的权限。例7-21假设存在角色BOOKSHOP_ROLE1,角色BOOKSHOP_ROLE2,用户BOOKSHOP_USER1。1)让用户BOOKSHOP_USER1继承角色BOOKSHOP_ROLE1的权限;2)让角色BOOKSHOP_ROLE2继承角色BOOKSHOP_ROLE1的权限:7.7数据库安全技术实践7.7.1实践1:DM8数据库用户、权限与角色管理管理13.回收权限(1)数据库权限回收用户或者角色的数据库权限。例7-22假设系统管理员SYSDBA把建表、建视图的权限授给了用户BOOKSHOP_USER1。现在,系统管理员SYSDBA把用户BOOKSHOP_USER1的建表权限收回。7.7数据库安全技术实践7.7.1实践1:DM8数据库用户、权限与角色管理管理1(2)对象权限回收用户或者角色的数据库权限。例7-23视图V_PRODUCT的创建者SYSDBA从用户BOOKSHOP_USER2处回收其对视图V_PRODUCT的所有权限。7.7数据库安全技术实践7.7.1实践1:DM8数据库用户、权限与角色管理管理1(2)角色权限用来回收用户或其它角色从指定角色继承过来的权限。例7-24假定数据库中存在角色BOOKSHOP_ROLE1,角色BOOKSHOP_ROLE2,用户BOOKSHOP_USER1。
7.7数据库安全技术实践7.7.2实践2:DM8存储加密21.透明加密在透明加密中,密钥生成、密钥管理和加解密过程由数据库管理系统自动完成,用户不可见。透明加密的目的主要是保证存储在数据文件中的敏感数据的安全,并不能保护合法用户的个人私密数据。执行select*fromV$CIPHERS这个查询会从动态视图V$CIPHERS中检索所有列的数据,提供关于数据库中正在使用的加密算法和密钥的信息。7.7数据库安全技术实践7.7.2实践2:DM8存储加密22.半透明加密创建用户时可以指定存储加密密钥,这个密钥就是为了进行半透明加密时使用的。如果在创建用户时并没有指定存储加密密钥,系统也会自动为用户生成一个默认的加密密钥。
7.7数据库安全技术实践7.7.2实践2:DM8存储加密2在这个例子中,通过创建表的SQL语句,在PERSON模式下创建了四个表,分别是TEST_ENCRYPT6、TEST_ENCRYPT7、TEST_ENCRYPT8和TEST_ENCRYPT9。这些表中的某些列使用了加密功能,通过指定不同的加密方式和选项,如MANUAL、WITHDES_ECB、HASHWITHMD5SALT等,来定义数据的加密方式和处理规则。这些修改后的表结构将在PERSON模式下进行管理和使用。7.7数据库安全技术实践7.7.2实践2:DM8存储加密23.非透明加密DM对非透明加密的支持是通过对用户提供加解密接口实现的。用户在使用非透明加密时,需要提供密钥并调用加解密接口。采用非透明加密可以保证个人私密数据不被包括DBA在内的其他人获取。非透明加密通过用户调用存储加密函数来进行,DM提供了一系列的存储加密函数。(1)CFALGORITHMSENCRYPT对数据进行加密7.7数据库安全技术实践7.7.2实践2:DM8存储加密2(2)CFALGORITHMSENCRYPT对数据进行解密在这个例子中,通过SQL语句从PERSON模式下的enc_002表中选择c1列的数据,并使用CFALGORITHMSDECRYPT函数对这些数据进行·解密。解密所需的参数为(c1,514,'仅供测试使用')。7.7数据库安全技术实践7.7.2实践2:DM8存储加密2在这个实例中,通过SQL语句在PERSON模式下创建了一个名为enc_002的表,该表包含一个VARCHAR类型的列c1。随后,使用INSERTINTO语句向该表中插入了一条数据,该数据经过CFALGORITHMSENCRYPT函数加密后作为c1列的值被插入,函数参数为('tt',514,'仅供测试使用')
7.7数据库安全技术实践7.7.3实践3:DM8日志管理31.重做日志(REDO删除后数据库无法启动)重做日志(即REDO日志)指在DM数据库中添加、删除、修改对象,或者改变数据,DM都会按照特定的格式,将这些操作执行的结果写入到当前的重做日志文件中。重做日志文件以log为扩展名。每个DM数据库实例必须至少有2个重做日志文件,默认两个日志文件为DAMENG01.log、DAMENG02.log,这两个文件循环使用。(1)添加重做日志文件在服务器打开状态下,可以添加新的重做日志文件。添加的数据文件大小最小为4096*页大小,如页大小为8K,则可添加的文件最小值为4096*8k=32M。如添加重做大小为128M的重做日志文件DAMENG03.log。7.7数据库安全技术实践7.7.3实践3:DM8日志管理3这个例子中使用ALTERDATABASE语句向数据库添加了一个名为'd:\DAMENG03.log'的日志文件,并指定了日志文件的大小为128MB。7.7数据库安全技术实践7.7.3实践3:DM8日志管理3(2)扩展重做日志文件在服务器打开状态下,可以扩展已有的重做日志文件的大小。如扩展重做日志文件DAMENG03.log到256M。数据库重做日志文件调整大小操作。7.7数据库安全技术实践7.7.3实践3:DM8日志管理32.添加REDO日志文件达梦数据库的REDO日志文件是有最小大小限制的,最小大小为4096*页大小,当前数据库的页大小可以通过如下语句查看:在这个查询中,使用了v$dm_ini视图来检索数据库中名为'GLOBAL_PAGE_SIZE'的参数及其对应的值。7.7数据库安全技术实践7.7.3实践3:DM8日志管理31)测试添加小于128M的REDO日志文件这个例子中使用ALTERDATABASE语句向数据库添加了一个名为'd:\DAMENG04.log'的日志文件,并指定了日志文件的大小为100MB
7.7数据库安全技术实践7.7.3实践3:DM8日志管理32)修改现有REDO日志文件大小达梦8数据库目前只能对日志文件进行向上(扩大)RESIZE操作,不能进行向下(缩容)RESIZE操作,可以通过alterdatabaseresizeto语句实现,我们现在将上面添加的日志文件由128MB扩大到150MB,再尝试缩容到128MB,过程如下:7.7数据库安全技术实践7.7.4实践4:DM8审计的设置与查阅4数据库审计员指定被审计对象的活动称为审计设置,只有具有AUDITDATABASE权限的审计员才能进行审计设置。DM提供审计设置系统过程来实现这种设置,被审计的对象可以是某类操作,也可以是某些用户在数据库中的全部行踪。只有预先设置的操作和用户才能被DM系统自动进行审计。审计设置存放于DM字典表SYSAUDIT中,进行一次审计设置就在SYSAUDIT中增加一条对应的记录,取消审计则删除SYSAUDIT中相应的记录。7.7数据库安全技术实践7.7.4实践4:DM8审计的设置与查阅41.语句级审计语句级审计的动作是全局的,不对应具体的数据库对象。例7-25审计表的创建、修改和删除。在这个实例中,通过调用名为SP_AUDIT_STMT的存储过程,对数据库中所有表的操作进行了审计。具体来说,通过传递参数'TABLE'、'NULL'和'ALL',分别表示对表级操作、所有用户以及所有操作进行审计。7.7数据库安全技术实践7.7.4实践4:DM8审计的设置与查阅41.语句级审计语句级审计的动作是全局的,不对应具体的数据库对象。例7-26对SYSDBA创建用户成功进行审计。在这个实例中,通过调用名为SP_AUDIT_STMT的存储过程,对数据库中以SYSDBA身份执行的成功的用户级操作进行了审计。具体来说,通过传递参数'USER'、'SYSDBA'和'SUCCESSFUL',分别表示对用户级操作、SYSDBA用户以及成功的操作进行审计。7.7数据库安全技术实践7.7.4实践4:DM8审计的设置与查阅42.对象级审计对象级审计发生在具体的对象上,需要指定模式名以及对象名。例7-27对SYSDBA对表PERSON.ADDRESS进行的添加和修改的成功操作进行审计在这个例子中,通过两次调用名为SP_AUDIT_OBJECT的存储过程,分别对数据库中PERSON模式下的ADDRESS表进行了对象级审计。第一次调用审计了成功的INSERT操作,第二次调用审计了成功的UPDATE操作。具体地,每次调用传递了参数‘INSERT’和‘UPDATE’作为操作类型,‘SYSDBA’作为执行操作的用户,‘PERSON’作为模式名,‘ADDRESS’作为表名,以及‘SUCCESSFUL’作为审计时机,表示对成功的操作进行审计。7.7数据库安全技术实践7.7.4实践4:DM8审计的设置与查阅42.对象级审计对象级审计发生在具体的对象上,需要指定模式名以及对象名。例7-28对SYSDBA对表PERSON.ADDRESS的ADDRESS1列进行的修改成功的操作进行审计。在这个实例中,通过调用名为SP_AUDIT_OBJECT的存储过程,对数据库中PERSON模式下的ADDRESS表的ADDRESS1列进行了对象级审计。具体地,调用了一次存储过程,传递了参数'UPDATE'作为操作类型,'SYSDBA'作为执行操作的用户,'PERSON'作为模式名,'ADDRESS'作为表名,'ADDRESS1'作为列名,以及'SUCCESSFUL'作为审计时机,表示对成功的操作进行审计。7.7数据库安全技术实践7.7.4实践4:DM8审计的设置与查阅43.审计信息查询当使用DM提供的审计机制进行了审计设置后,这些审计设置信息都记录在数据字典表SYSAUDITOR.SYSAUDIT中,结构如下表所示。审计类型用户可以查看此数据字典表查询审计设置信息。例7-28对SYSDBA对表PERSON.ADDRESS的ADDRESS1列进行的修改成功的操作进行审计。序号列数据类型说明1LEVELSMALLINT审计级别2UIDINTEGER用户ID3TVPIDINTEGER表/视图/触发器/存储过程函数ID4COLIDSMALLINT列ID5TYPESMALLINT审计类型6WHENEVERSMALLINT审计情只要DM系统处于审计活动状态,系统按审计设置进行审计活动,并将审计信息写入审计文件。审计记录内容包括操作者的用户名、所在站点、所进行的操作、操作的对象、操作时间、当前审计条件等。
第4章关系数据库标准语言小结数据库的安全性是为了防止恶意访问和破坏数据库而设计的。随着数据库应用的不断深入,数据的安全保密越来越重要,因此需要建立一整套完整的安全性机制。目前,实现数据库系统安全性的标准和技术有很多,包括了国际和国内标准,技术上主要包括用户身份认证、访问控制、视图和审计技术、数据加密等。本章主要概述了这些标准和技术。第4章关系数据库标准语言思考与练习1.什么是数据库的安全性?有哪些事故类型?2.简述数据库安全标准。3.简述数据库安全性控制常用的方法。4.请简述数据库中的自主存取控制方法和强制存取控制方法。5.什么是数据库的设计跟踪。在DM中有哪些方法进行审计。6.在DM中有哪些数据加密方式?第八章国产数据库的迁移与适配技术
数据迁移与适配的工作方法与流程达梦数据库迁移方法
人大金仓数据库迁移方法信创数据迁移与适配概述基础知识与技能概述学习目标8.1信创数据迁移与适配概述8.1.1数据库迁移与适配的概念1数据库迁移适配是指,将现有非国产商业数据库或开源数据库(如MySQL、ORACLE、SQLServer、PostgreSQL等)整体迁移至国产信创数据库中(如达梦、人大金仓、神舟通用、万里开源等),并通过国产中间件完成与上层应用系统的兼容性适配,保证其功能、性能、可靠性、稳定性等各项指标与迁移前一致。8.1信创数据迁移与适配概述8.1.2迁移与适配的重要性22.提升兼容性在不同信创CPU的技术路线上,安装不同的操作系统、数据库、中间件,软件在其上能够安装运行,这是要满足兼容性。1.提高性能和可移植性当应用场景的业务规模扩大或者现有系统的负载增加时,原有的数据库和应用可能无法满足需求。数据库和应用迁移可以帮助将数据和应用程序迁移到更强大和可靠的系统中,从而提高性能和可移植性。3.提高数据可用性和灾备能力数据库和应用迁移可以将数据备份和冗余存储在不同的地理位置,提高了数据的可用性和灾备能力。在面对自然灾害、硬件故障或系统崩溃等意外情况时,企业可以快速恢复数据,并保证业务的持续运行。4.促进业务持续发展数据库和应用迁移为企业提供了更大的灵活性和可扩展性,使其能够更快地实施新的业务策略和创新。通过将数据和应用迁移到现代化的平台上,企业可以更好地支持数字化转型和业务变革,增强竞争优势。8.2基础知识与技能概述8.2.1数据库的知识与能力储备1(1)熟悉国产化和非国产化主流硬件和操作系统,掌握网络、存储等基础理论知识语法。(2)掌握数据库基础知识,包括SQL语言、模式、范式、事务、锁等。(3)了解数据库常规运维技能,包括部署、备份、高可用、监控、迁移、排障、巡检等。(4)了解数据库性能调优技能,包括慢查询分析、索引优化、参数调优等。8.2基础知识与技能概述8.2.2数据整理2数据整理是将原系统数据整理为系统转换程序能够识别的数据。数据整理大致分为两个阶段:第一阶段就是将不同类型来源数据采集备份到统一的数据库中;第二阶段就是将原始数据进行整理,按照不同的要求分类进入不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026银行证券行业现状解析及新兴产品市场前景预判报告
- 2026矿山机械行业政策环境变化与市场机遇及企业战略转型报告
- 2026医疗人工智能伦理问题研究与行业规范发展建议报告
- 2026第三方检测认证机构市场格局与并购机会分析
- 2026散装建筑材料行业市场现状绿色转型及投资机会评估报告
- 2026散装冷冻食品物流体系优化及市场评估报告
- 2026银行业市场深度研究及发展前景与投资策略研究报告
- 2026散装建材行业政策环境与渠道建设分析报告
- 2026 GCP考试的试题及答案详情
- 2026散装食用油灌装设备自动化改造投资效益评估报告
- 污水处理复合碳源乙酸钠项目可行性研究报告写作模板-拿地申报
- 2024年全国企业人力资源管理师之三级人力资源管理师考试进阶提升题(详细参考解析)
- 教师如何利用人工智能提升教学效果心得体会
- 眼科专科护理应急预案
- 贵州省建筑工程施工资料管理导则
- 广州地铁在线测评题
- 心怀国防梦争做好少年国防教育日小学生国防教育主题班会
- 龙源科孚德(电气二代)变流器故障排查手册V1.0
- Nikon尼康D300S中文的使用手册(说明书)
- DL-T5181-2017水电水利工程锚喷支护施工规范
- 功率器件安全工作区的画法
评论
0/150
提交评论