回答

收藏

如何记录数据库

技术问答 技术问答 226 人阅读 | 0 人回复 | 2023-09-13

我已经开始在一个拥有数以百计的表和视图的数据库的地方工作,所有这些表和视图都具有隐秘的名称,只有很少的元音,并且没有文档。它们也不允许对数据库架构进行无谓的更改,我也不能触摸任何数据库,除非要在我自己的计算机上进行测试(该数据库会被删除并定期重新创建),因此我无法添加对任何人都有用的注释。% f$ y7 D4 b  o
我尝试使用“
4 i  x# M8 x. }& x0 [Toad”创建一个ER图,但是连续运行48小时后,它仍然看不到任何可见的东西,我需要我的电脑。我正在与其他一些新员工交谈,我们都建议,每当我们困惑某个特定表或其某些列的含义时,都应在开发人员Wiki中对其进行更新。
9 h8 r! ?0 D+ w  P! O6 D那么,执行此操作的好方法是什么?只是列出表/视图及其列,并在进行时将其填写?我要使用的基本工具是Toad,Oracle的“ SQL3 C8 R  R; K$ s" H! P
Developer”,MS Office和Visio。
3 W8 i; j+ x2 Y# O( E. `! @                2 d! i+ m9 E8 r+ L+ |! ^) O
解决方案:
# j/ b6 A6 `9 S+ S: Y                / A7 U7 s0 g$ r9 |% v4 H1 T

# }$ x* i  F3 R. S
2 C* Z) w! R" p6 f! n                以我的经验,ER(或UML)图并不是最有用的工件-拥有大量的表,图(尤其是反向工程图)通常是一个大杂乱无章的混乱,没人能从中学到任何东西。/ h- _, l; P" I1 J
为了我的钱,一些良好的可读性文档(也许在系统的较小部分以图表的形式进行补充)将为您带来最大的收益。对于每个表,这将包括:/ ~9 I6 t4 }8 M5 ^) j, x8 G- i: d
该表的含义及其功能使用方式的描述(在UI中等)% ]' V- Q- T1 w- @8 v! k# g
每个属性含义(如果不明显)的描述
" i7 w5 s2 |& ^( Z; E该表与其他人之间的关系(外键)的解释,反之亦然
* s9 N1 ~0 F! @4 k附加约束和/或触发器的说明
: X2 ~& ^! @$ L0 f; G如果还没有很好的记录,对与表格相关的主要视图和过程的附加说明
4 R4 E+ c0 ^" t4 f' I9 u* \

+ x: h. g5 [* W# q, w& l对于上述所有内容,请不要出于文档目的而进行文档记录-  n8 C7 B) {# J5 Q
重述显而易见的文档只会妨碍人们的操作。相反,请专注于起初使您感到困惑的内容,并花几分钟编写真正清晰,简洁的说明。这将帮助您仔细考虑,并且将 极大地
; [% E: K! \; ?3 e1 ~' f帮助其他首次遇到这些表的开发人员。
6 y1 }! s; m  m6 h8 H" h正如其他人提到的那样,有许多工具可以帮助您管理此问题,例如Enterprise) F" N* X! B1 @1 \5 w8 X3 ]
Architect,Red Gate SQL Doc以及各种供应商提供的内置工具。但是,尽管工具支持很有帮助(在更大的数据库中甚至是至关重要的),但努力
6 ?0 L& j8 V) H; f- E! f. J理解 和 解释  i4 g' A2 c. U9 ~: n. X% a' R
数据库的概念模型才是真正的胜利。从这个角度来看,您甚至可以在一个文本文件中进行操作(尽管以Wiki形式进行操作可以使几个人进行协作,以逐步将其添加到该文档中-
# B  q3 W/ X. K因此,每当有人发现某些内容时,他们都可以将其添加到不断增长的主体中文档)。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则