首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在一个应用程序xcode中使用多个sqlite数据库

在一个应用程序xcode中使用多个sqlite数据库
EN

Stack Overflow用户
提问于 2012-09-26 12:09:48
回答 2查看 1.9K关注 0票数 0

如何在运行时识别应用程序中的多个sqlite数据库。我正在为iphone制作一个测试应用程序,在这个应用程序中,我需要5-6平方米的数据库,每个测试类别(主题)一个。帮助任何人

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-26 13:58:03

由于这将是太长的评论,而且它确实以某种方式解决了您的问题,我再次建议在您的应用程序中使用不同的结构,因为拥有多个数据库对于像测验这样简单的事情是不实际的。

您可以在这里找到一些数据库结构示例-- 在数据库中存储多个选择测试--确定模式用PHP和MySQL开发“问答”网络应用程序的数据库设计

假设您有不同类别的简单测试,一种可能的选择是将您的类别存储在类别表中。

代码语言:javascript
复制
* Category
    - category_id (integer)
    - category_name (string/text)

每个人的id都是唯一的。例如,您可以使用id 1的类别运动,以及id 2的类别历史记录。

这些问题可以存储在另一个表中,名为问句

代码语言:javascript
复制
* Questions
    - question_id (integer)
    - question_category (integer)
    - question_text (string/text)
    - question_correct_answer_id (integer)

你可以问第一个问题:是哪个队打的无名氏?在question_category字段中放置1,因为1是运动类别的id。在question_correct_answer_id中,您将存储正确答案的id (不是答案本身,而是id)。

最后但并非最不重要的是,回答表。

代码语言:javascript
复制
* Answers
    - answer_id (integer)
    - question_id (integer)
    - answer_text (string/text)

在这里,answer_id是答案的id,如果答案是正确的,您可以将它存储在问题表中,并存储一个question_id来识别问题。

然后你就可以做这样的事情:

代码语言:javascript
复制
`SELECT * FROM Questions WHERE 'question_category' = 1` 

把所有体育问题都提出来。对于每一个问题,你都可以

代码语言:javascript
复制
SELECT * FROM Answers WHERE 'question_id' = 'your question's id'

请注意,我的示例并不是最好的解决方案,它只是一个只使用单个数据库的基本示例,但是使用多个表而不是多个数据库。

我给你的建议是考虑这一选择,如果你认为值得的话,读一些关于数据库的内容,然后设计一个更好的数据库。

祝好运!

票数 0
EN

Stack Overflow用户

发布于 2012-09-26 12:25:14

使用简单的口蹄疫

识别数据库很简单,我不明白这个问题.

代码语言:javascript
复制
FMDatabase *dbQuestions = [FMDatabase databaseWithPath:@"/tmp/tmpA.db"];
FMDatabase *dbAnswers   = [FMDatabase databaseWithPath:@"/tmp/tmpB.db"];
FMDatabase *dbPeople    = [FMDatabase databaseWithPath:@"/tmp/tmpC.db"];
[...]
[dbQuestions open]
[dbAnswers open]
[dbPeople open]
[...]

干杯。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12601425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档