DatabaseSpecification » 履歴 » バージョン 5
aoki yuji, 2016/05/01 15:05
1 | 1 | MIYAZAKI Masafumi | h1. データベース仕様 |
---|---|---|---|
2 | 1 | MIYAZAKI Masafumi | |
3 | 2 | MIYAZAKI Masafumi | SQLiteにて下記のデータベースを定義し、PHPから利用します。 |
4 | 1 | MIYAZAKI Masafumi | |
5 | 2 | MIYAZAKI Masafumi | {{>toc}} |
6 | 2 | MIYAZAKI Masafumi | |
7 | 2 | MIYAZAKI Masafumi | ---- |
8 | 2 | MIYAZAKI Masafumi | |
9 | 2 | MIYAZAKI Masafumi | h2. WhiskyExaminationデータベース |
10 | 2 | MIYAZAKI Masafumi | |
11 | 2 | MIYAZAKI Masafumi | h3. Questionテーブル |
12 | 2 | MIYAZAKI Masafumi | |
13 | 2 | MIYAZAKI Masafumi | 問題集に相当するテーブル。 |
14 | 2 | MIYAZAKI Masafumi | |
15 | 1 | MIYAZAKI Masafumi | | 列名 | 型 | 属性 | 説明 | |
16 | 1 | MIYAZAKI Masafumi | | id | 整数 | serial | 問題の識別子 | |
17 | 1 | MIYAZAKI Masafumi | | question | 文字列 | | 問題文 | |
18 | 1 | MIYAZAKI Masafumi | | correct | 文字列 | | 正解となる選択肢群。JSONの配列形式。ex) ["answer1", "answer2", "answer3"] | |
19 | 1 | MIYAZAKI Masafumi | | incorrect | 文字列 | | 不正解となる選択肢群。JSONの配列形式。ex) ["answer1", "answer2", "answer3"] | |
20 | 2 | MIYAZAKI Masafumi | |
21 | 2 | MIYAZAKI Masafumi | h3. Accountテーブル |
22 | 2 | MIYAZAKI Masafumi | |
23 | 3 | MIYAZAKI Masafumi | ユーザごとの認証情報を記録するテーブル。 |
24 | 3 | MIYAZAKI Masafumi | |
25 | 3 | MIYAZAKI Masafumi | | 列名 | 型 | 属性 | 説明 | |
26 | 3 | MIYAZAKI Masafumi | | sid | 整数 | serial | アカウントの内部的識別子。 | |
27 | 3 | MIYAZAKI Masafumi | | id | 文字列 | unique | アカウントの識別子。ユーザが指定する任意の文字列。ex. g0947424 | |
28 | 3 | MIYAZAKI Masafumi | | hash | 文字列 | | パスワードのハッシュ値。 | |
29 | 3 | MIYAZAKI Masafumi | | firstname | 文字列 | | ユーザの名前。ex. 太郎 | |
30 | 3 | MIYAZAKI Masafumi | | lastname | 文字列 | | ユーザの苗字。ex. 山田 | |
31 | 3 | MIYAZAKI Masafumi | | permission | 文字列 | | ユーザの権限種別。「normal」「admin」 | |
32 | 3 | MIYAZAKI Masafumi | | memo | 文字列 | | 備考欄 | |
33 | 3 | MIYAZAKI Masafumi | |
34 | 3 | MIYAZAKI Masafumi | h3. *****テーブル |
35 | 3 | MIYAZAKI Masafumi | |
36 | 3 | MIYAZAKI Masafumi | ユーザごとの学習状況/得意・苦手把握/etc... を記録するテーブル。 |
37 | 2 | MIYAZAKI Masafumi | |
38 | 2 | MIYAZAKI Masafumi | | 列名 | 型 | 属性 | 説明 | |
39 | 2 | MIYAZAKI Masafumi | | T.B.D. | | | | |
40 | 4 | aoki yuji | |
41 | 4 | aoki yuji | --- |
42 | 4 | aoki yuji | |
43 | 5 | aoki yuji | h3. ユーザ数×問題数のレコードを持つテーブル(傾向管理) |
44 | 4 | aoki yuji | |
45 | 1 | MIYAZAKI Masafumi | | 列名 | 型 | 属性 | 説明 | |
46 | 5 | aoki yuji | | シリアルID | 整数 | serial | システムが一意に払い出す値。ユーザと問題の総当たり数だけ生成される。 | |
47 | 5 | aoki yuji | | ユーザSID | 整数 | | ユーザの識別子 | |
48 | 5 | aoki yuji | | 問題番号 | 整数 | | 問題の識別子 | |
49 | 5 | aoki yuji | | 正当回数 | 整数 | | ユーザが問題を正答した回数 | |
50 | 5 | aoki yuji | | 誤答回数 | 整数 | | ユーザが問題を誤答した回数 | |
51 | 5 | aoki yuji | | ランク | 整数 | | ランクは問題抽出アルゴリズムに従い随時更新される | |
52 | 4 | aoki yuji | |
53 | 5 | aoki yuji | h3. 問題が1回解答されたら1レコード生成するテーブル(履歴管理) |
54 | 4 | aoki yuji | |
55 | 4 | aoki yuji | | 列名 | 型 | 属性 | 説明 | |
56 | 4 | aoki yuji | | シリアルID | 整数 | serial | システムが一意に払い出す値。問題が1回解答されたら1つ値を払い出す。連番を想定。 | |
57 | 4 | aoki yuji | | ユーザSID | 整数 | | ユーザの識別子 | |
58 | 4 | aoki yuji | | 日付 | 文字列 | | 問題が解答された日付 | |
59 | 4 | aoki yuji | | 問題番号 | 整数 | | 問題の識別子 | |
60 | 4 | aoki yuji | | 正誤 | 整数 | | 正答の場合:1 誤答の場合:0 | |
61 | 4 | aoki yuji | |
62 | 4 | aoki yuji | h3. 問題抽出アルゴリズムの考え方 |
63 | 4 | aoki yuji | |
64 | 4 | aoki yuji | | 列名 | 型 | 属性 | 説明 | |
65 | 4 | aoki yuji | | ランク | 正答率(%) | 出題率(%) | 問題抽出個数(コ) | |
66 | 4 | aoki yuji | | 5 | 100-81 | 10 | 1 | |
67 | 4 | aoki yuji | | 4 | 80-61 | 30 | 3 | |
68 | 4 | aoki yuji | | 3 | 60-41 | 50 | 5 | |
69 | 4 | aoki yuji | | 2 | 40-21 | 70 | 7 | |
70 | 4 | aoki yuji | | 1 | 20-0 | 90 | 9 | |
71 | 4 | aoki yuji | |
72 | 4 | aoki yuji | →問題抽出個数に従い出題問題候補リストを生成する |
73 | 4 | aoki yuji | リストをシャッフルし1番最初の問題を取り出し出題する。 |