使用interbase设计数据库表的最佳方法?

时间:2009-06-11 21:09:29

标签: database hibernate interbase schema-design

我即将开始以适当的方式重做公司数据库。我们当前的数据库很乱,几乎没有文档。我想知道人们在设计Interbase数据库时建议使用什么?是否有某种良好的可视化架构设计器可以生成SQL?手工完成这一切是否更好?

基本上,人们在设计和记录数据库时通常采取的步骤是什么?如果重要,我打算将Hibernate用作数据库的ORM。 (Interbase的具体技巧也将受到赞赏)。

谢谢!

2 个答案:

答案 0 :(得分:2)

通常,我使用文本编辑器。偶尔,我使用Database Workbench。最后我听说,Embarcadero将为他们的一些数据库建模工具添加InterBase支持,但我不知道它是否已经发布。

答案 1 :(得分:1)

如果这是一个全新的数据库应用程序,该应用程序最近已经创建并且在业务中没有被依赖,那么我将全力以赴地重新编写/重新编写新数据库。但我怀疑你正在处理一个已经存在了几年并且被大量使用的数据库。

如果我对几年前的数据库说得对,我强烈建议不要从头开始。几乎任何已经存在几年的生产数据库都会“混乱”。这通常是因为程序的实际需求通常要求解决方案有些混乱。几年后你的全新数据库(你应该走这条路)也是如此。

以下是我不会从头开始重新创建生产数据库的一些原因:

  • 实时数据库包含多年的交易和非常有价值的客户数据。将这些数据转换为完全不同的数据库结构将非常困难。相信我,即使公司现在告诉你他们不需要访问这些旧数据,他们也会。
  • 许多业务规则可能已经以数据库结构的形式构建,包括默认值,触发器,存储过程,甚至是列的数据类型,如果不仔细检查并记录它们,您可能会将它们留下来在人们开始使用系统并发现规则不正确时,花费大量时间调试和添加这些数据库
  • 您可能会在新数据库设计中出错,或者稍后意识到结构需要更改以适应新功能。如果您一直在对当前数据库进行更改,并从中学习,那么未来的更改将变得更加容易和直观。

以下是我推荐的方法:

  • 了解并记录当前数据库,这将使您非常了解业务中的信息流。
  • 当您看到设计看起来很糟糕或混乱时,请仔细查看。你可能是对的,并且看到了改变的可能性,或者你可能会因性能或其他原因找到权衡,你可以从中学习。
  • 对数据库结构进行渐进式改进,确保更新文档,更改依赖于这些区域的程序(如果不是您,则与程序员合作)。

我知道这似乎是一个很长的路要走,但从现在维护和创建数据库12年的人那里拿走它 - 你当前的数据库可能很乱,因为现实世界的要求很混乱。