【问题标题】:Best way to design database tables with interbase?使用 interbase 设计数据库表的最佳方法?
【发布时间】:2009-06-11 21:09:28
【问题描述】:
我即将开始以适当的方式重做公司数据库。我们当前的数据库一团糟,几乎没有文档。我想知道人们在设计 Interbase 数据库时推荐使用什么?是否有某种可以生成 SQL 的优秀视觉模式设计器?全部手工完成会更好吗?
基本上,人们在设计和记录数据库时通常会采取哪些步骤?如果重要的话,我打算使用 Hibernate 作为数据库的 ORM。 (Interbase 的具体提示也将不胜感激)。
谢谢!
【问题讨论】:
标签:
database
hibernate
interbase
schema-design
【解决方案1】:
通常,我使用文本编辑器。偶尔,我使用Database Workbench。上次我听说,Embarcadero 打算将 InterBase 支持添加到他们的一些数据库建模工具中,但我不知道这是否已经发布。
【解决方案2】:
如果这是一个全新的数据库应用程序,它是最近创建的,并且在业务中没有被依赖,那么我说你的重写/新数据库要全力以赴。但是我怀疑您正在处理一个已经存在了几年并且被大量使用的数据库。
如果我对数据库已有几年历史的看法是正确的,我强烈建议不要从头开始。几乎任何已经存在几年的生产数据库都会“混乱”。这通常是因为现实世界对程序的要求通常要求解决方案有些混乱。几年后,您全新的数据库(如果您走这条路)也会如此。
以下是我不会从头开始重新创建生产数据库的一些原因:
- 实时数据库包含非常有价值的多年交易和客户数据。将这些数据转移到完全不同的数据库结构中是非常困难的。相信我,即使公司现在告诉您他们不需要访问这些旧数据,他们也会这样做。
- 许多业务规则可能已经内置到数据库结构中,以默认值、触发器、存储过程的形式,甚至是列的数据类型,如果不仔细检查并记录它们,您可能会离开它们当人们开始使用系统并发现规则没有正确应用时,需要花费大量时间调试和添加这些新数据库
- 您可能会在新数据库设计中出错,或者稍后意识到需要更改结构以适应新功能。如果您一直在对当前数据库进行更改并从中学习,那么未来的更改会变得更容易、更直观。
这是我推荐的方法:
- 了解并记录当前数据库,这将使您真正了解企业中的信息流。
- 当您看到看似糟糕或凌乱的设计时,请仔细查看。您可能是对的,并且看到了改变的潜力,或者您可能会发现出于性能或其他原因进行了权衡,您可以从中学习。
- 对数据库结构进行渐进式改进,确保更新文档,更改依赖这些区域的程序(或者如果不是您,请与您的程序员合作)。
我知道这似乎是一个很长的路要走,但请从一个已经维护和创建数据库 12 年的人那里得到它 - 您当前的数据库可能很混乱,因为现实世界的需求很混乱。