【问题标题】:Creating extra columns in one table vs creating a new table with foreign key在一个表中创建额外的列与使用外键创建一个新表
【发布时间】:2015-10-29 20:25:07
【问题描述】:

我有一个 SQLite 数据库,其中有一个包含 11 列的表,其中 8 列为 Text,字符串很长。我需要再添加 8 个 Text 列,这些列可能会或可能不会获得长字符串值。

所以我想知道是否应该将这些额外的 8 列添加到当前表或创建一个包含外键的新表?

如果我想使用一些查询来搜索数据库中的数据,哪种方式更好?

谢谢。

【问题讨论】:

    标签: database sqlite database-design


    【解决方案1】:

    这取决于。如果此表上存在现有查询,并且如果他们执行“选择 *”以获取所有列,则在重新评估星号时查询将更改。这可能会或可能不会破坏依赖于查询的软件。 有一个解决方法,包括创建一个包含旧列和新列的新表,然后使用旧表的名称和列创建一个视图。这种解决方法也有一个缺点。

    正如 sadfiesch 所说,这里没有标准化问题。

    就性能而言,有两种情况都适用,也有没有太大区别的情况。

    【讨论】:

      【解决方案2】:

      您应该在现有表中再添加 8 列。尝试了解database normalization,如果您的数据库是冗余的,您只会添加一个新表。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-04
        • 2015-12-16
        • 1970-01-01
        • 1970-01-01
        • 2023-04-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多