【问题标题】:database design for generalized settings in to single table用于单个表的通用设置的数据库设计
【发布时间】:2013-12-30 08:33:11
【问题描述】:

我对单个项目有几个设置,我想将所有设置映射到单个表中,

 For Example:(1)Currency Changer setting: Fields: (toCurrency,fromCurrency,price,statusType)

             (2) scheduler settings: Fields: (startdate,enddate,task)

如果我创建一个包含所有字段的表,那么如果我输入调度程序设置,则其他设置保持为空,反之亦然。

我无法将所有字段包装到单个设置表中,

谁能告诉我如何创建通用的单表或将这两个设置包装在单个应用程序表中的最佳方法。

提前致谢。

【问题讨论】:

  • 多个表是否存在特定问题?如果没有,你可能最好只保留它们。当然,您可以使用gbejic proposed 形式的 EAV,但这有其自身的问题,特别是如果您需要从其他表中引用设置(通过外键)或者设置类型不同(似乎是案例基于您的示例)。

标签: sql database database-design relational-database database-schema


【解决方案1】:

您应该尝试在两个表中执行此操作。

一个是setting_types(id, name),另一个是settings (id, setting_type_id, value)

但如果你仍然想在一张桌子上做,你可以使用下一张桌子

settings(id, setting_name (enum of settings), value)

这一表选项有添加新设置的限制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-01
    • 1970-01-01
    • 2012-04-29
    • 1970-01-01
    • 2019-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多