Android应用中有多个表格或多个dbs?

时间:2011-02-13 12:10:11

标签: android database

我正在编写一个Android讲故事的应用程序,用文本,图片,声音等创建和编辑故事。到目前为止,我有一个故事,一个数据库,一个表,一切正常。现在我将转向多个故事,我在考虑是保留单个数据库,每个故事有一个表,还是有多个数据库,或两者的组合(每个数据库有10个表)。我需要在存储服务中上传/下载故事。

2 个答案:

答案 0 :(得分:3)

我不确定,但我认为主要问题是您的基本数据库方案。我无法想象你为一个故事创建的表格无法归一化为单独的表格。

因此,例如,为包含故事标题的故事创建一个表格。比一个表格的文字和声音以及你需要的一切。每个表都有一个外键,以便可以引用它们所属的故事。

这也应该解决为故事考虑单独的数据库或表格的问题。

另外请记住,当您决定为每个故事创建一个数据库时,必须在每个数据库上处理数据库方案更改。当你因为向表中添加一列而需要更新10个不同的数据库时,可能会变得混乱和复杂......

答案 1 :(得分:0)

我会把它分成不同的数据库。我认为开发起来会容易得多。例如,onUpdate()函数中的版本必须随着数据库方案中的每次更改而增加。如果你有一个大数据库,版本将快速增加(呃)。

  • 将分离更容易 尽可能使用逻辑文件中的代码 扩展SQLiteOpenHelper() 每个数据库的功能(除 和征服)。
  • 您只需关闭数据库即可 在游戏之间切换时。和 打开另一个数据库。
  • 如果你有一个重大变化 您可能想要下载的数据库 而是来自服务器的数据库 编码所有内容,如果你有 您将保存的单独数据库 带宽。
  • 如果您决定下载 数据库在运行时,每一个 数据库有它自己的 SQLiteOpenHelper下载 需要的信息。
  • 取决于数据库的大小 (游戏数量)可能 更快地分开搜索 数据库。

但我不是大师,可能有充分理由反对这些设计决定。