データベース情報

version

データベースのバージョン情報

versionsubversion
DB のバージョン番号DB のサブバージョン番号

:DB のバージョン:"7"〜 :DB のサブバージョン番号:"1"〜

CREATE TABLE version (
  version INTEGER NOT NULL,
  subversion INTEGER NOT NULL
)

問題集データベース

テーブル名内容PRIMARY KEY への NULL autoimcrement 挿入
folder問題集やフォルダとそれが含まれているフォルダの対応表×
section問題集と問題×
question問題とその内容
element_info問題集IDやフォルダIDと、問題集名、作成日、更新日、その他の情報

folder

idfid
問題集IDまたはフォルダIDid が含まれる先のフォルダ
CREATE TABLE folder (
  id INTEGER PRIMARY KEY NOT NULL REFERENCES element_info(id),
  fid INTEGER NOT NULL REFERENCES element_info(id)
)

ルートフォルダの fid には 0 を用いる。

section

idqid
問題集ID問題ID
CREATE TABLE section (
  id INTEGER NOT NULL REFERENCES element_info(id),
  qid INTEGER NOT NULL REFERENCES question(id)
)

question

idquestionanswerhintdescriptionwavfilenamepronouncemode
問題ID問題文正解文ヒント説明文WAV ファイル発音記号学習可能モード

:mode:「学習可能モード」がフラグとして格納される。LSB が mode=0 である

CREATE TABLE question (
  id INTEGER PRIMARY KEY,
  question TEXT NOT NULL,
  answer TEXT NOT NULL,
  hint TEXT NOT NULL,
  description TEXT NOT NULL,
  wavfilename TEXT NOT NULL,
  pronounce TEXT NOT NULL,
  mode INTEGER NOT NULL
)

element_info

idtypenameauthorwriterdescriptionctimeutime
問題集IDまたはフォルダIDフォルダ(0)or問題集(1)の区別名前著作権者作成者説明文作成日更新日
CREATE TABLE element_info (
  id INTEGER PRIMARY KEY,
  type INTEGER NOT NULL,
  name TEXT NOT NULL,
  author TEXT NOT NULL,
  writer TEXT NOT NULL,
  description TEXT NOT NULL,
  ctime INTEGER NOT NULL,
  utime INTEGER NOT NULL
)

履歴データベース

テーブル名内容PRIMARY KEY への NULL autoimcrement 挿入
log_idユーザと問題集、モードの組に与えられる履歴ID
question_log各ユーザの各問題に対する履歴情報×
last_reply_questions各ユーザの各問題集における最後に学習した問題群×
last_mistake_questions各ユーザの各問題集における最後に間違えた問題群×
looped_questions各ユーザの各問題集における今回のループで学習済み問題群×
section_log各ユーザの各問題集に対する履歴情報×
user_log各ユーザの履歴情報×
user_info各ユーザの情報
netrank_info各ユーザのインターネットランキングに関する情報×

log_id

liduideidmid
履歴IDユーザID問題集IDモードID
CREATE TABLE log_id (
  lid INTEGER PRIMARY KEY REFERENCES log_id(lid),
  uid INTEGER NOT NULL,
  eid INTEGER NOT NULL,
  mid INTEGER NOT NULL,
  UNIQUE( uid, eid, mid )
)

question_log

qidlidnc1ni1nc2ni2nc1pmni1pmnc2pmni2pmLastStudyTimeLastMistakeTimeOnFirstReplyReplySec
問題ID履歴ID正解数不正解数正解数(再回答)不正解数(再回答)正解数の調整値不正解数の調整値正解数(再回答)の調整値不正解数(再回答)の調整値最終学習日時最終不正解日時学習時間
CREATE TABLE question_log (
  qid INTEGER NOT NULL REFERENCES question(id),
  lid INTEGER NOT NULL REFERENCES log_id(lid),
  nc1 INTEGER NOT NULL,
  ni1 INTEGER NOT NULL,
  nc2 INTEGER NOT NULL,
  ni2 INTEGER NOT NULL,
  nc1pm INTEGER NOT NULL,
  ni1pm INTEGER NOT NULL,
  nc2pm INTEGER NOT NULL,
  ni2pm INTEGER NOT NULL,
  LastStudyTime INTEGER NOT NULL,
  LastMistakeTimeOnFirstReply INTEGER NOT NULL,
  ReplySec INTEGER NOT NULL,
  PRIMARY KEY(qid,lid)
)

last_reply_questions

lidqid
履歴ID問題ID
CREATE TABLE last_reply_questions (
  lid INTEGER NOT NULL REFERENCES log_id(lid),
  qid INTEGER NOT NULL REFERENCES question(id)
)

last_mistake_questions

lidqid
履歴ID問題ID
CREATE TABLE last_mistake_questions (
  lid INTEGER NOT NULL REFERENCES log_id(lid),
  qid INTEGER NOT NULL REFERENCES question(id)
)

looped_questions

lidqid
履歴ID問題ID
CREATE TABLE looped_questions (
  lid INTEGER NOT NULL REFERENCES log_id(lid),
  qid INTEGER NOT NULL REFERENCES question(id)
)

element_log

lidFirstReplyDatenRunTotalReplySecTotalStrokesnAccomplish
履歴ID初回学習時刻学習回数総学習時間総ストローク数達成回数
CREATE TABLE element_log (
  lid INTEGER PRIMARY KEY NOT NULL REFERENCES log_id(lid),
  FirstReplyDate INTEGER NOT NULL,
  nRun INTEGER NOT NULL,
  TotalReplySec INTEGER NOT NULL,
  TotalStrokes INTEGER NOT NULL,
  nAccomplish INTEGER NOT NULL
)

user_log

| uid |

ユーザID
CREATE TABLE user_log (
  uid INTEGER PRIMARY KEY REFERENCES user_log(uid),
)

必要に応じて作る予定

user_info

| uid | name |

ユーザID名前
CREATE TABLE user_info (
  uid INTEGER PRIMARY KEY,
  name TEXT NOT NULL UNIQUE
)
netrank_info各ユーザのインターネットランキングに関する情報×
潟若若菴遵

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS