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