数据库:在一个表中共享两组值?

时间:2011-09-27 22:14:33

标签: database share

我首先要说的是我不是DBA,到目前为止我没有做大量的数据库开发(所以我希望我不会问一些明显的事情)。

挑战:

  1. 我有一个带有预定义值的字典应用程序。
  2. 可以通过在线更新添加新值。
  3. 不允许用户修改这些应用程序值,但可以添加/删除自己的值。
  4. 数据库(sqlite3)将包含少量值(~2K-3K)。
  5. 数据库架构对于用户和应用程序值都完全相同。
  6. 可能的解决方案:

    • 一种方法是创建两个具有相同模式的不同表,并在查询数据库时从两个表中加入数据。

    • 另一种方法是使用单个表,其中应用程序值将从ID = 0开始,用户值将从ID = 100000开始(例如)。在线更新将合并ID = 100000以下的新值,以便用户值保持不变。

    我更喜欢第二种解决方案 - 它会在运行时避免JOIN,并且查询将保持简单。
    但是,第一个解决方案中对应用程序值的更新将要求我只需要替换应用程序表新的。

    请让我知道您的想法:

    • 哪种解决方案更好?
    • 我缺少的优点/缺点是什么?
    • 是否有更好的第三解决方案?

1 个答案:

答案 0 :(得分:3)

为什么不只是对表格进行“类型”列并将其填入用户/应用程序?

Personaly我讨厌有意义的ID ......