一尘不染

如何记录数据库

sql

我已经开始在一个拥有数以百计的表和视图的数据库的地方工作,所有这些表和视图都具有隐秘的名称,只有很少的元音,并且没有文档。它们也不允许对数据库架构进行无谓的更改,我也不能触摸任何数据库,除非要在我自己的计算机上进行测试(该数据库会被删除并定期重新创建),因此我无法添加对任何人都有用的注释。

我尝试使用“
Toad”创建一个ER图,但是连续运行48小时后,它仍然看不到任何可见的东西,我需要我的电脑。我正在与其他一些新员工交谈,我们都建议,每当我们困惑某个特定表或其某些列的含义时,都应在开发人员Wiki中对其进行更新。

那么,执行此操作的好方法是什么?只是列出表/视图及其列,并在进行时将其填写?我要使用的基本工具是Toad,Oracle的“ SQL
Developer”,MS Office和Visio。


阅读 116

收藏
2021-05-05

共1个答案

一尘不染

以我的经验,ER(或UML)图并不是最有用的工件-拥有大量的表,图(尤其是反向工程图)通常是一个大杂乱无章的混乱,没人能从中学到任何东西。

为了我的钱,一些良好的可读性文档(也许在系统的较小部分以图表的形式进行补充)将为您带来最大的收益。对于每个表,这将包括:

  • 该表的含义及其功能使用方式的描述(在UI中等)
  • 每个属性含义(如果不明显)的描述
  • 该表与其他人之间的关系(外键)的解释,反之亦然
  • 附加约束和/或触发器的说明
  • 如果还没有很好的记录,对与表格相关的主要视图和过程的附加说明

对于上述所有内容,请不要出于文档目的而进行文档记录-
重述显而易见的文档只会妨碍人们的操作。相反,请专注于起初使您感到困惑的内容,并花几分钟编写真正清晰,简洁的说明。这将帮助您仔细考虑,并且将 极大地
帮助其他首次遇到这些表的开发人员。

正如其他人提到的那样,有许多工具可以帮助您管理此问题,例如Enterprise
Architect
Red Gate SQL Doc以及各种供应商提供的内置工具。但是,尽管工具支持很有帮助(在更大的数据库中甚至是至关重要的),但努力
理解解释
数据库的概念模型才是真正的胜利。从这个角度来看,您甚至可以在一个文本文件中进行操作(尽管以Wiki形式进行操作可以使几个人进行协作,以逐步将其添加到该文档中-
因此,每当有人发现某些内容时,他们都可以将其添加到不断增长的主体中文档)。

2021-05-05