有关规划大型数据库的任何提示

sim*_*son 9 mysql sql

在构建数据库时,我通常会坐在裤子的座位上.但是,我的新项目需要相当多的计划.我从未上过学校进行数据库开发,所以我没有正式的规划过程培训.

是否有任何好的软件,方法来规划这些东西?

Joe*_*ips 8

如果您不知道自己在做什么,在设计架构时,请坚持使用前几种常规形式.当您在以后发现设计错误时,它可以让您比任何其他方法更容易进行更改.

如有疑问,请随时提出意见.可视化数据库设计的最简单方法是使用实​​体关系图(ER Diagrams),它还允许我们在不筛选代码的情况下轻松查看设计的外观.


T.R*_*.R. 8

ER Diagrams中绘制内容可以帮助管理复杂性.

编辑:让我补充说,还有一些规则/指南可以帮助将ER图转换为关系模式,还有一些工具可以帮助完成这个过程.


Pet*_*ete 7

不要陷入试图预先设计一切的陷阱.它根本无法完成.随着项目的进行,您会找到更好的方法来实现您已经实现的功能.当您从项目中获得经验时,您还可以深入了解域,以及如何最好地设计数据库.

我建议采用敏捷方法.当时设计一点点.当你看到你已经创建的东西可以用更好的方式设计,重构那个.这适用于代码和数据库架构.

但要注意一点.在重新启动应用程序之后,很容易重构业务逻辑(除非您将业务逻辑放在数据库中 - 您没有.对吗?),在启动后重构数据库要困难得多,因为您必须维护数据.因此,如果您需要将一个字段从一个表移动到另一个表,则需要更改脚本.

因此,当您接近发布时,提前计划可能是一个好主意.但是在开发的早期阶段,我肯定会建议采用敏捷方法.一次创建一个表.一次一个字段.