0

所以我正在为一个学校项目编写一个相当简单的 Java 应用程序,它基本上必须存储一些用户输入的各种公司的信息。

数据类型将类似于:

Company1
    Survey1
        Category 1
            Question 1
            ....
        Category 2
        ....
    Survey2
    ....
Company2
....

我最初想使用 sqlite db 来存储它,但我不确定如何在不重复数据的情况下将这样的嵌套数据存储在 db 中。然后我想到了使用 XML 什么的。

那么存储这些数据的好方法是什么:sql 数据库、xml 或其他?

4

3 回答 3

2

我认为不需要 SQL DB。我会做这样的事情:

Class Data {
   List<Company> companies;
}

Class Company {
   List<Survey> surveys;
}

Class Survery {
   List<Category> categories;
}

Class Category {
   List<Question> questions;
}

Class Question {
   String question;
}

每家公司都有自己的调查,有自己的类别,有自己的问题。

于 2012-08-09T15:51:01.987 回答
0

存储为 XML 或将其存储在数据库中,如下所示:

TABLE Companies
-------------------
CID (INT) | SID (INT REF)
-------------------

TABLE Surveys
-------------------
SID (INT) | SNAME (VARCHAR) | CATNAME (INT REF) | QUESTION (INT REF)
-------------------

TABLE Categories
-------------------
CID INT | CATNAME VARCHAR
-------------------

TABLE Question
-------------------
QID INT | QUESTION VARCHAR
-------------------
于 2012-08-09T15:55:53.987 回答
0

如果您愿意使用 XML 来存储数据,最好的方法是创建一个表示您的数据层次结构的类层次结构(如 @Doug Ramsey 发布的那样)。从您的数据创建对象并使用 JAXB(Java 绑定 XML 架构)将该对象转换为 XML 文件。

于 2012-08-10T06:13:31.657 回答