在数据库开发阶段对其进行文档化,可有效地捕捉组织架构、数据对象和其他相关信息,以便将来参考。
这个文档的形式是多种多样的,包括数据字典、数据库管理员指南、数据库体系结构信息以及数据库功能规范。本文用“数据字典”这一术语来指代数据库文档。虽然你目前的数据库文档可能没有使用这个名字,但基本原理是一样的。本文有助于你更好地理解自己的数据库文档。
开发数据库文档
一个数据库文档的读者包括:
数据库结构师
数据库开发者
数据库管理员
生产支持人员
质量保证人员
开发数据字典的实际过程要由一个多功能团队中的主力队员来完成,包括数据库管理员和/或数据库结构师、业务分析员以及技术作家。虽然你的公司在分配数据库文档开发人员时有所不同,但数据库文档的核心必须来源于构建数据库的那个团队。
数据库管理员可从数据库本身提取必要的数据字典信息。在许多关系型数据库管理系统(RDBMS)中,数据字典是作为一个电子文件提供的。DBA和数据库开发者可从文件中提取有用的信息,包括:
列出数据库中包括的所有文件。
数据库中包括的每个文件中的记录数。
每个数据库字段的名称和类型。
数据字典中包括的信息在普通用户面前隐藏,防止内容遭受破坏。数据字典在数据库中发挥的是管理职能,其中不包括任何实际的数据库数据(虽然RDBMS要求一个数据字典来访问来自数据库的数据)。
业务分析员和技术作家由于具有印刷技术文档方面的专长,所以在数据库文档化过程中也能发挥关键作用。虽然DBA提取的信息非常重要,但它仍需正确地表示,并向内部和外部的客户群体传达。除此之外,自动化文档并不是万能的,所以仍需业务分析员和技术作家提取被遗漏的技术信息。当然,业务分析员和技术作家不能是当前项目的门外汉,他们必须完全投入这个项目中,而不能临时抱佛脚地最后突击一下。
要包括到数据库文档中的典型元素
在你的数据库文档中,应考虑捕捉以下信息:
数据元素编号
数据元素名称,这种名称通常不能重复(名称通常在设计阶段决定,并要受到“需求收集”阶段的一些影响)。
数据元素的简短描述
数据元素的安全性分类(各单位通常对安全性分类有具体的要求。数据开发团队和公司的安全团队对此都有特别的要求,所以应参加到安全性分类中来。对安全性分类的其他影响包括文档要求、功能规范以及数据库的设计文档)。
与特定数据元素具有重要关系的相关数据元素的列表。
基于数据库架构和/或RDBMS所提供的技术名称的字段名。
代码格式,包括任何必要的特殊表示法,以及数据类型的格式和大小。
默认的数据值(要在此列出所有存在默认值的变量)。
元素编码,对编码和验证规则进行了解释
对其他文档的引用,列出该元素和数据库文档及数据字典中文档化的其他元素之间的任何验证规则
数据库表引用
元素的数据源
数据元素的有效日期
历史引用
扩展引用
数据元素版本
上述提纲罗列了通常要包括进来的文档小节,你可根据自己的实际需要进行修改。
还要为数据库的表撰写文档。使用SQL命令help table,就可为一个SQL数据库提取这些表信息,包括:
表名
数据库或表所有者姓名
数据元素列名和详细资料
所有元素的键序
数据库索引信息
技术性表组织
重复行信息(是否允许重复行)
数据元素列表
表安全性分类
计划数据库文档时,还要考虑到数据库架构。可利用Visio等工具开发数据库架构的一个图形化表示,以便将其包括到印刷文档中。
自动化数据库文档化工具
有多种自动化的文档化工具可供选择,例如:
由A&G Software开发的AGS SQL Scribe Documentation Builder Version 3.0 可自动生成Microsoft SQL Server数据库文档。
由.com Solutions公司开发的InstallGen 可自动生成Oracle数据库文档。
Microsoft Visio Professional 2002也是一款非常流行的数据库文档工具。它包括以下模板:
数据库模型图
Express-G
ORM图
最佳做法
数据库文档的“最佳做法”是综合运用自动化工具以及有经验的业务分析员和/或高级技术作家的帮助。有这些人提供帮助,再配合数据库结构师、开发者和管理员的专业技能,就能保证文档符合所有人的需要和希望。