スキーマ構造
戻るこのページは本サービスのSQLiteデータベース構造を図と表でまとめたものです。検索窓で直接SQLクエリーを書く際など、参考にしてください。
情報源
本サービスは以下の情報源を参考にしています:
- IPAmj明朝フォント
- MJ文字情報一覧表 Ver.006.02
- 文字情報基盤変体仮名データ(MJ変体仮名)
- 史料編纂所データベース異体字同定一覧
- Wikipedia: CJK互換漢字
- 行政事務標準文字追加明朝フォント
- 行政事務標準文字一覧(変体仮名を含む全文字)
- 行政事務標準文字 漢字属性情報一覧、部首一覧
- 文字情報基盤文字 JIS X 0213代替変換情報
- 行政事務標準文字 JIS X 0213代替変換情報
文字コード範囲
- 漢字: U+4E00-U+9FFF(CJK統合漢字)、U+3400-U+4DBF(拡張A)など
- CJK互換漢字: U+F900-U+FAFF
- 変体仮名: U+1B000-U+1B0FF(文字情報基盤 変体仮名)
- 行政事務標準文字: U+100000-U+10FFFF(私用領域)など
全テーブル・カラム定義表
テーブル | カラム | 型 | 説明 |
---|---|---|---|
dictionary | id | INTEGER | 主キー |
glyph | TEXT | 図形(表示用) | |
font | TEXT | フォント情報 | |
mj_code | TEXT | MJ文字図形名 | |
unicode | TEXT | 対応するUCS | |
ucs_implemented | TEXT | 実装したUCS | |
mjivs | TEXT | 実装したMoji_JohoコレクションIVS | |
svs_implemented | TEXT | 実装したSVS | |
koseki_code | TEXT | 戸籍統一文字番号 | |
juki_code | TEXT | 住基ネット統一文字コード | |
nyukan_seiji_code | TEXT | 入管正字コード | |
nyukan_gaiji_code | TEXT | 入管外字コード | |
kanji_policy | TEXT | 漢字施策 | |
compatible_kanji | TEXT | 対応する互換漢字 | |
x0213 | TEXT | JIS X 0213 | |
x0213_hosetsu_renban | TEXT | X0213 包摂連番 | |
x0213_hosetsu_kubun | TEXT | X0213 包摂区分 | |
x0212 | TEXT | X0212 | |
mj_version | TEXT | MJ文字図形バージョン | |
touki_code | TEXT | 登記統一文字 | |
total_strokes | INTEGER | 総画数(参考) | |
reading | TEXT | 読み(参考) | |
daikanwa | TEXT | 大漢和 | |
nihon_kangi_jiten | TEXT | 日本語漢字辞典 | |
shin_daijiten | TEXT | 新大字典 | |
daijigen | TEXT | 大字源 | |
daikangorin | TEXT | 大漢語林 | |
update_history | TEXT | 更新履歴 | |
remarks | TEXT | 備考 | |
radicals | id | INTEGER | 主キー |
number | INTEGER | 部首番号 | |
glyph | TEXT | 部首字形 | |
radical_readings | id | INTEGER | 主キー |
radical_id | INTEGER | 部首ID (radicals.id) | |
reading_id | INTEGER | 読みID (readings.id) | |
radical_variants | id | INTEGER | 主キー |
radical_id | INTEGER | 部首ID (radicals.id) | |
glyph | TEXT | 部首異体字形 | |
readings | id | INTEGER | 主キー |
reading | TEXT | 読み | |
kanji_radical | id | INTEGER | 主キー |
kanji_id | INTEGER | 漢字ID (dictionary.id) | |
radical_id | INTEGER | 部首ID (radicals.id) | |
radical_order | INTEGER | 部首の順序 | |
kanji_reading | id | INTEGER | 主キー |
kanji_id | INTEGER | 漢字ID (dictionary.id) | |
reading_id | INTEGER | 読みID (readings.id) | |
jisx0213_substitution | id | INTEGER | 主キー |
source_code | TEXT | 変換元コード | |
target_code | TEXT | 変換先コード | |
substitution_type | INTEGER | 変換種別 | |
hentaigana | id | INTEGER | 主キー |
kanji_id | INTEGER | 変体仮名ID (dictionary.id) | |
jibo_glyph | TEXT | 字母の文字 | |
jibo_unicode | TEXT | 字母のUCS符号位置 (例: U+5B89) | |
academic_id | TEXT | 学術用変体仮名番号 | |
kokugo_url | TEXT | 国語研URL | |
hentaigana_onka | id | INTEGER | 主キー |
hentaigana_id | INTEGER | 変体仮名ID (hentaigana.id) | |
onka | TEXT | 音価 | |
v2n_substitution | id | INTEGER | 主キー |
variant_code | TEXT | 異体字/CJK互換漢字コード (例: U+4E00, U+FA10) | |
normal_code | TEXT | 標準漢字コード (例: U+4E01, U+585A) |
SQLクエリ例
- 部首番号162「辶」で漢字を検索
SELECT k.glyph, k.mj_code FROM dictionary k JOIN kanji_radical kr ON k.id = kr.kanji_id JOIN radicals r ON kr.radical_id = r.id WHERE r.number = 162;
- 「辺」の関連文字を抽出
SELECT target_code AS related_code FROM jisx0213_substitution WHERE source_code LIKE 'U+8FBA%' UNION SELECT source_code AS related_code FROM jisx0213_substitution WHERE target_code LIKE 'U+8FBA%' UNION SELECT normal_code AS related_code FROM v2n_substitution WHERE variant_code LIKE 'U+8FBA%' UNION SELECT variant_code AS related_code FROM v2n_substitution WHERE normal_code LIKE 'U+8FBA%';
- 「あ」の変体仮名を検索
SELECT k.* FROM dictionary k JOIN jisx0213_substitution j ON k.unicode = j.source_code WHERE j.target_code = 'U+3042' AND k.unicode LIKE 'U+1B%';
- 字母が「安」の変体仮名を検索
SELECT k.* FROM dictionary k JOIN hentaigana h ON k.id = h.kanji_id WHERE h.jibo_glyph = '安' OR h.jibo_unicode = 'U+5B89';
- 各種コード検索
-- Unicode/GJ文字(U+xxxx, G+xxxx) SELECT * FROM dictionary WHERE unicode = 'U+8FBA'; -- 住基ネット統一文字(J+xxxx) SELECT * FROM dictionary WHERE juki_code = 'J+307E'; -- 戸籍統一文字(xx-xx-xx) SELECT * FROM dictionary WHERE koseki_code = '01-01-01'; -- JIS X 0213コード検索 SELECT * FROM dictionary WHERE x0213 = '1-42-53'; -- 登記統一文字検索 SELECT * FROM dictionary WHERE touki_code = '00437640'; -- 入管正字/外字コード SELECT * FROM dictionary WHERE nyukan_seiji_code = 'A123456'; SELECT * FROM dictionary WHERE nyukan_gaiji_code = 'AX12345678'; -- IVS検索 SELECT * FROM dictionary WHERE mjivs LIKE '%U+8FBA%U+E0100%';
このページは開発者向けの参考資料です。抜け漏れや誤りがあればご指摘ください。