关于“数据库设计文档管理”相关问题的探讨

作者:廖文华 刊名:江西通信科技 上传者:郭成建

【摘要】数据库设计文档是软件开发人员和软件支撑维护人员使用频率最高的资料,保证它的完整性、准确性、唯一性、随时了解它的修改情况及修改过程是大家十分关心的问题,而在实际的工作中较难实现。本文介绍了把数据库设计文档保存在数据库表的设计思路及实现方案,以解决上述问题,并介绍了相应的数据库数据字典。

全文阅读

一、问题的提出随着企业信息化程度和管理水平的不断提高,以ORACLE数据库为基础开发的应用软件越来越多,并且随着系统投入的使用和由于业务需求的变化,需要对应用软件及其表结构进行不断的完善和修改。如果软件开发人员未严格按软件工程的方法来进行软件的开发、完善及修改工作,就会存在数据字典不一致的问题,也就是软件设计时编写的数据库设计文档(即通常以WORD形式保存的表结构及字段含义解释的文档,下同)与数据库中实际的表及其结构不一致的问题,另外在开发和调测时生成的一些临时表未及时清理,也会存在以上同样的问题。由于现在的应用系统至少都有几百个表,不可能人工对表及表结构进行一一的比较,给软件开发人员本身和软件的维护及管理人员带来一定的疑义及困难。另外,在实际的工作中经常要查看表的结构及何时进行过何种修改、表的索引情况及其索引状态、表的分区情况等信息,虽然目前有很多数据库工具可以查看表的索引或分区情况,且功能强大,但操作较烦琐。本人通过实践,摸索出一套基于ORACLE8i数据库的数据库设计文档的管理、稽核、信息浏览的经验及方法,希望与各位共同探讨。二、ORACLE数据字典简述Oracle数据字典是一组基表和视图提供有关其相关数据库的信息,每当执行数据定义语言(DDL)命令时,Oracle服务器更新数据字典基表,此外数据操作语言(DML)命令如果引起表扩展的命令也可以更新数据字典基表。用户不能对该基表进行修改,也很少直接对基表进行查询,一般是通过数据字典视图进行信息查询,这些视图汇总并显示存储在基表中的信息,并将基表数据解码为有用的信息。数据字典视图都创建有公用同义词,并分为三个类别,可以通过前缀进行区分。1、DBA_xxx:数据库管理员的视图,即所有对象的视图。带有DBA前缀的视图显示整个数据库的全局视图,它们应仅由数据库管理员查询,授予系统权限selectanytable的任何用户都可以查询数据字典中前缀为DBA的视图。如:显示数据库所有用户名称的视图为dba_users。2、ALL_xxx:扩展用户的视图,即用户可访问的视图。带有ALL前缀的视图指的是从该用户角度而言的完整数据库视图,这些视图返回有关对象的信息,除用户所有的对象外,这些对象还包括用户以公用或显式授予权限和角色的方式获得访问权限的对象。如:显示数据库所有的表名称的视图为:all_tables。3、USER_xxx:用户的视图,即用户方案中的视图。带有USER前缀的视图指的是数据库中用户自己的专用环境及当前用户所拥有的对象。它是典型数据库用户最感兴趣、最常用的视图。如:显示当前连接的数据库用户所有索引的视图为:user_indexes。Oracle数据字典包含以下内容:1、据库内所有对象的定义(表、视图、索引、簇、同义词、序列、过程、函数、程序包、触发器等等)2、已为对象分配的空间量以及它们当前使用的空间量3、列的缺省值4、完整性约束信息5、Oracle用户的名称6、已授予每个用户的权限和角色7、审计信息如有哪些人访问或更新了各种对象由上可知,Oracle数据字典不仅是每个Oracle数据库最重要的部分,它还是所有用户从最终用户到应用程序设计者以及数据库管理员的重要信息来源。三、设计思路要解决本文开始所述的问题,其关键是以何种形式保存数据库设计文档的问题,我的设计思路是把数据库设计文档保存在Oracle数据库的表中。即在软件开发设计初期,软件开发人员就把应用程序的表名、表结构及其中文含义等数据库设计文档信息直接录入到数据库相应表中,或在系统正式投入后,软件维护管理人员根据数据库本身的数据字典视图

参考文献

引证文献

问答

我要提问