【发布时间】:2010-12-16 08:42:08
【问题描述】:
我正处于开发数据库驱动系统的早期阶段,系统的最大部分围绕继承类型的关系展开。有一个包含大约 10 列的父实体,并且将有大约 10 个从父实体继承的子实体。每个子实体将有大约 10 列。我认为为父实体提供自己的表并为每个子实体提供自己的表是有意义的 - 每个子类的表结构。
今天,我的用户要求查看我创建的系统的结构。他们对每个子类的表结构的想法犹豫不决。他们更喜欢一个大约 100 列的大表,因为这样他们可以更轻松地执行自己的自定义查询。
为了用户,我应该考虑对数据库进行非规范化吗?
【问题讨论】:
-
您能否再详细说明一下您的数据库结构?我将在这里逆流而上,描述一种可能有用的情况,但我需要了解结构。
-
将底层对象暴露给最终用户时有一个危险的词。虽然在这种情况下视图是最佳的,但用户不应该看到原始数据。当然,我可以被认为是一个现存的程序员,他认为最终用户只会把这些类型的事情搞砸。 :)
-
@bogertron:existest = 精英。在发表评论之前,我真的应该开始使用 word。
-
自信。告诉他们去远足。告诉他们如果他们不知道如何进行 JOIN,他们将获得 CSV 导出的接口(或者,如果您的数据库支持 VIEW)。不要让他们搞砸你正在开发的平台,反正他们以后只会讨厌你。
-
Excel 是结构化数据的敌人。只是说'
标签: database database-design database-normalization denormalization