0

私はgrailsアプリを設計していますが、多くの多対多の関係で困惑しています。これは私がこれまでに持っているものです...

ドメインクラス

  • 学生
  • テスト
  • 質問

ここで、テストと質問はm2mの関係になります。マッピングクラスで表される可能性があります。間違っている場合は修正してください。

 TestConfig 

このクラスはとを持つことができmany questionsますmany tests

しかし、学生がテストを受けて質問をしようとしたときに、データモデルをどのように設計できるかについてはまだ混乱しています。生徒からの回答(おそらく間違っている)があると呼ばれる可能性のあるクラスはAttempts、生徒またはテスト、あるいはその両方に属する必要がありますか?

「試行」クラスを設計して、そのインスタンスを見ると、それがどのテストに属しているか、およびどの学生がそれを受験したかを知ることができるようにしたいと思います。

私の現在のクラスは次のようになります

class Questions {
    String question
    String questionType
    int points
    String tags
    String option_1
    String option_2
    String option_3
    String option_4
    boolean isOption_1_Correct
    boolean isOption_2_Correct
    boolean isOption_4_Correct
    boolean isOption_3_Correct
}

class Students {
    String firstName
    String lastName
    String email
    String password
}

class Tests {
    String name
    String tags
    String description
    int duration
    String instruction
}

- - - 編集 - - - - -

私はここで何か役に立つものを見つけたと思いますhttp://www.databaseanswers.org/data_models/online_exams/index.htm

4

1 に答える 1

0

私が理解していることから、学生には多くのテストがあり、テストには多くの質問があります

ここにドキュメントがあります

http://grails.org/doc/2.1.0/guide/GORM.html#manyToMany

class Student {
    // a list named tests which contains Test object
    static hasMany = [tests:Test]
    String name
}

class Test {
    static belongsTo = Student

    // a list named students which contains Student objects
    // a list named questions which contains Quention objects
    static hasMany = [students:Student,questions:Question]
    String title
}

class Question {
    static belongsTo = Test
    static hasMany = [tests: Tests]
    String data
}
于 2012-08-26T20:00:18.303 に答える