当前位置:  开发笔记 > 编程语言 > 正文

你如何记录你的数据库结构?

如何解决《你如何记录你的数据库结构?》经验,为你挑选了4个好方法。

许多数据库系统不允许对表和字段进行注释或描述,那么除了明显具有良好命名约定外,如何记录表/字段的用途?

(我们现在假设"优秀"表和字段名称不足以记录数据库中每个表,字段和关系的完整含义.)

我知道很多人使用UML图来可视化数据库,但我很少 - 如果有的话,看到包含字段注释的UML图.但是,我在使用.sql文件内的注释方面有很好的经验.这种方法的缺点是,.sql随着数据库结构随时间的变化,它需要手动保持文件的最新状态 - 但如果这样做,您也可以将其置于版本控制之下.

我见过的其他一些技术是描述数据库结构和关系的单独文档,以及在ORM代码或其他数据库映射代码中手动维护的注释.

你过去怎么解决这个问题?存在哪些方法以及与它们相关的各种利弊?您如何在"完美世界"中解决这个问题?

更新

正如其他人所指出的那样,大多数流行的SQL引擎实际上都允许注释,这很好.奇怪的是,人们似乎并没有太多使用这些功能.至少不是我过去参与过的项目.



1> MaxVT..:

MySQL 允许对表和行进行注释.PostgreSQL 也是如此.从其他答案来看,Oracle和MSSQL也有评论.

对我来说,UML图的组合,用于快速刷新字段名称,类型和约束,以及外部文档(TeX,但可以是任何格式),包含与数据库相关的所有内容的扩展描述 - 特殊值,字段注释,访问权限注意,无论如何 - 效果最好.


我正在寻找这样的剧本.书面.

2> Joel Cuff..:

迟到但希望有用...这是我们在开发相对较大的数据库时使用的过程(大约100个表和大约350个对象)

开发人员需要使用扩展属性向所有对象添加详细信息.

管理员拒绝任何没有扩展属性的DDL

第三方工具用于每天通过命令行界面自动生成可视化文档.我们使用了ApexSQL Doc,它运行得很好,但我也成功地使用了其他公司的Red Gate的SQL Doc.

此过程确保我们记录所有对象并记录最新文档.

但困难的是让开发人员始终如一地写好评论;)



3> evilhomer..:

SQL Server具有可以处理此问题的扩展属性.

本文介绍如何在SQL Sever中设置它们 http://www.developer.com/db/article.php/3677766

MSDN参考

它可以与RedGate SQL Doc结合使用来创建一个很好的数据字典.



4> bernardn..:

我使用附加到表和列的注释.SchemaSpy是一个很好的工具,用于从您的模式生成html文档文件,包括注释.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有