【问题标题】:Is this table structure good?这个表结构好吗?
【发布时间】:2011-03-04 23:50:29
【问题描述】:

我要创建一个表格来保存一组选项,现在它大约有 30 个不同的选项。但它会逐月逐渐增加,如果我为每个选项的每个字段设置一个表,它将有 30 多个,最糟糕的是,每当我添加一个新选项时,我都必须修改它,选项是分组的。我在想这样的事情。一个单独的表来保存一组选项的组 id,并为选项另一个表。

option_id | group_id | option_name | option_value

谢谢。

【问题讨论】:

    标签: mysql sql database-design


    【解决方案1】:

    看起来不错,但我个人认为,我会将 option_id 更改为 ID,将 option_name 更改为 Name,将 option_value 更改为 Value。

    group_id 是好的,所以你可以知道它链接到另一个表,至于其他的,它是完全没有必要的。如果表名是 Options,你通常假设字段 Value 是 Option Value。

    希望有所帮助。

    【讨论】:

    • 同意命名 - 删除冗余 - 尽管请不要大写。 namevalue 不是很好的列名,但这是我们在这里得到的全部。
    【解决方案2】:

    如果您想对不同组中的现有选项进行分组,会发生什么情况? 是否有这样的要求,或者在您的应用程序的生命周期中是否可能出现这种需求?我建议looking into the EAV data model,因为你只是在摸索类似的东西的表面——因为它是一个广泛而讨论的主题,阅读了其他人对此的看法后,你可能会发现你是否遗漏了什么.

    【讨论】:

    • 您的意思是所有组中每个选项一个表?
    猜你喜欢
    • 2014-04-15
    • 1970-01-01
    • 2012-03-02
    • 2022-01-15
    • 2015-01-05
    • 2020-11-07
    • 2011-11-23
    • 1970-01-01
    • 2016-10-21
    相关资源
    最近更新 更多