A-Way Soft

付録1 データベースについて

本ソフトのデータベースは SQLite3 で作成したものです。SQLite3 の tools に含まれる sqlite3.exe などで操作することができます。
また、本ソフトは System.Data.SQLite.dll によりデータベースを利用しています。
以下のリンクを参照してください。
データベースの作成に当たっては以下のサイトを参考にさせていただきました。
常用漢字の読みや旧字体については常用漢字表(平成22年内閣告示第2号)に従っています。それ以外の漢字についてはサイトごとに異なっている場合も多く、一応まとめてはいますが、作者では判断がつきません。適宜修正してご使用ください。
データベース自体の著作権は作者にありますが、自由に利用していただいて構いません(無償です)。ただし、このデータベースについても作者は一切保証できませんので、ご自身の責任で使用してください。
現在(ver. 4.2b)のところ、テーブルの構成は次のようになっています。

KanjiTable

漢字の基本的なデータが収められています。
JoyoKanjiNo に正の値が割り当てられているとき、常用漢字であるとしています。(現在、常用漢字以外では null となっています。)
CREATE TABLE KanjiTable (
        CodePoint integer primary key not null,   -- Unicode コードポイント
        JisX0213 integer,                         -- JIS 漢字コード
        JisX0213Plane integer,                    -- JIS 区点コード・面
        JisX0213Row integer,                      -- JIS 区点コード・区
        JisX0213Cell integer,                     -- JIS 区点コード・点
        JisLevel integer,                         -- JIS 水準
        Glyph text unique not null,               -- 字体
        StrokeCount integer,                      -- 総画数
        JoyoKanjiNo integer unique,               -- 常用漢字表の順番
        JoyoKanjiListedYear integer,              -- 常用漢字に選出された年
        JoyoKanjiRemovedYear integer,             -- 常用漢字から削除された年
        Grade integer,                            -- 配当された学年
        unique(JisX0213, JisX0213Plane)
        unique(JisX0213Plane, JisX0213Row, JisX0213Cell)
);

KanjiBushuTable

部首のテーブルです。
CREATE TABLE KanjiBushuTable (
        CodePoint int not null,         -- Unicode コードポイント
        BushuCodePoint int not null,    -- 部首の Unicode コードポイント
        unique(CodePoint, BushuCodePoint)
);

KanjiGlyphTable

異体字のテーブルです。現在(ver. 3.4)、旧字体が入っています。
CREATE TABLE KanjiGlyphTable (
        CodePoint int not null,           -- Unicode コードポイント
        AlternateCodePoint int not null,  -- 異字体の Unicode コードポイント
        Kind int not null,                -- 異字体の種別
        unique(CodePoint, AlternateCodePoint)
);

KanjiOnyomiTable

音読みのテーブルです。
CREATE TABLE KanjiOnyomiTable (
        CodePoint integer not null,     -- Unicode コードポイント
        Onyomi text not null,           -- 音読み
        IsSpecial integer not null,     -- 特別な読み、用法の狭い読み
        unique(CodePoint, Onyomi)
);

KanjiKunyomiTable

訓読みのテーブルです。
CREATE TABLE KanjiKunyomiTable (
        CodePoint integer not null,     -- Unicode コードポイント
        Kunyomi text not null,          -- 訓読み
        Okurigana text,                 -- 送り仮名
        IsSpecial integer not null,     -- 特別な読み、用法の狭い読み
        unique(CodePoint, Kunyomi, Okurigana)
);

HiraganaTable

ひらがなのテーブルです。
「ん」には行・段はありませんが、表示の都合上割り当てています。
CREATE TABLE HiraganaTable (
        CodePoint integer primary key not null,   -- Unicode コードポイント
        CodePointDakuon integer unique,           -- 濁点付きの字体の Unicode コードポイント
        CodePointHanDakuon integer unique,        -- 半濁点付きの字体の Unicode コードポイント
        Glyph text unique not null,               -- 字体
        GlyphDakuon text unique,                  -- 濁点付きの字体
        GlyphHanDakuon text unique,               -- 半濁点付きの字体
        Gyou integer not null,                    -- 行
        Dan integer not null,                     -- 段
        IsHistorical integer not null,            -- 歴史的仮名遣い
        Diacritical integer not null              -- 濁点や半濁点がついているか
);

KatakanaTable

カタカナのテーブルです。構成はひらがなと同じです。
CREATE TABLE KatakanaTable (
        CodePoint integer primary key not null,   -- Unicode コードポイント
        CodePointDakuon integer unique,           -- 濁点付きの字体の Unicode コードポイント
        CodePointHanDakuon integer unique,        -- 半濁点付きの字体の Unicode コードポイント
        Glyph text unique not null,               -- 字体
        GlyphDakuon text unique,                  -- 濁点付きの字体
        GlyphHanDakuon text unique,               -- 半濁点付きの字体
        Gyou integer not null,                    -- 行
        Dan integer not null,                     -- 段
        IsHistorical integer not null,            -- 歴史的仮名遣い
        Diacritical integer not null              -- 濁点や半濁点がついているか
);

TextTable

例文のテーブルです。
CREATE TABLE TextTable (
        Name text not null,     -- 名前
        SerialNo int,           -- シリアル番号
        Body text not null,     -- テキスト本体
        unique(Name, SerialNo)
);