【问题标题】:Should i normalize or denormalize my database for reservation system?我应该对预订系统的数据库进行规范化还是非规范化?
【发布时间】:2017-01-27 02:27:41
【问题描述】:

我正在尝试为我们的预订系统设计我的数据库,但问题是我是否应该仍然规范化我的数据库。

我的问题是,当涉及多值数据时,是否真的需要规范化数据库?

谢谢!

【问题讨论】:

  • 想向我们展示您的结构示例吗?通常,您应该在必要时进行标准化。如果没有您的项目示例或您的预期输出,我们可能无法评论您应该做什么。

标签: database database-design normalization denormalization


【解决方案1】:

“非规范化”的问题在于它不是一个告诉您该做什么的计划。这就像试图从纽约开车从芝加哥开车到洛杉矶一样。除非您有丰富的经验,否则您需要另一种设计规范来避免随意设计。

一般来说,您会发现规范化模式会减少事务处理的瓶颈,而其他设计可以更简化分析处理。星型模式就是这样一种设计。预订系统通常非常面向事务,因此更规范化的设计可能会比规范化程度较低的设计更好地为您服务。你还没有说你的预订系统的规模是多少。

规范化只是响应式系统的开始。您还需要注意物理数据库设计和应用程序软件设计。

进行预订处理的超大型组织通常有第二个数据库用于分析处理。这可以称为数据集市,甚至可以称为数据仓库。该数据库没有深度规范化,而是使用了其他一些设计原则,例如星型模式。进程定期从预订系统中提取数据,将其转换为数据集市形式,然后将其加载到数据集市中。对于这样的解决方案,您的规模可能太小了。

【讨论】:

    猜你喜欢
    • 2010-10-22
    • 2018-07-08
    • 2013-07-26
    • 2016-11-12
    • 2020-04-06
    • 2011-02-11
    • 1970-01-01
    • 2013-03-08
    • 2013-01-18
    相关资源
    最近更新 更多