IT::Scripting::SQLite::解析用テーブル定義

これSQLiteスキーマ定義
細かい突っ込みは却下!まずはデータを蓄積するべくこれを作成。


基本となる情報用

create table lost_age(
--”失われた時代”解析の中心となるテーブル
no        INTEGER primary key, -- 連番
age       integer,             -- 起きた時期。西暦2000年からの年数
continent text,                -- 大陸
area1     text,                -- 地方(大地域)
area2     text,                -- 地方(中地域)
area3     text,                -- 地方(小地域)
memo      text                 -- その他
);

careate table lost_age_source(
-- 情報元
no     INTEGER primary key, -- 連番
lost_age_no INTEGER primary key,  -- lost_ageテーブルの連番
source text, -- url/book その他書籍名など
div    text, -- 部
chap   text, -- 章
a_bar  text, -- 小節
para   text, -- 段落
track_back text, -- url情報の場合の参照元
abstract   text  -- 
);

careate table lost_age_character(
--情報もとの人物情報
no     INTEGER primary key, -- 連番
lost_age_no INTEGER primary key,  -- lost_ageテーブルの連番
char_name   text,                 -- 登場人物・物
flag        integer,              -- 判別フラグ
                                  -- 1 ... gods
                                  -- 2 ... human
                                  -- 3 ... animal
                                  -- 4 ... etc
memo       text                   -- 特記事項
);

careate table lost_age_myth(
-- 伝承など lost_age_source とかぶっているのが・・・
no     INTEGER primary key, -- 連番
lost_age_no INTEGER primary key,  -- lost_ageテーブルの連番
article     text                  -- 伝承文・記述など
);

careate table lost_age_relation(
-- lost_age の資料のレベル(元・1次引用・2次引用など)
no     INTEGER primary key, -- 連番
p_lost_age_no INTEGER primary key,  -- 元となったlost_ageのレコード
c_lost_age_no INTEGER primary key,  -- 伝承先のlost_ageのレコード
);

careate table bref_ref(
--引用文献
no     INTEGER primary key, -- 連番
lost_age_no INTEGER primary key,  -- lost_ageテーブルの連番
ref_level   integer, -- 0 ... 直接
                     -- 1 ... 1次資料
                     -- 2 ... 2次資料
                     -- 3 ... それ以外
memo        text     -- メモランダム
);

GoogleMAP用データテーブルの定義

create table google_map_trans (
no     INTEGER primary key, -- 連番
lost_age_no INTEGER primary key,  -- lost_ageテーブルの連番
longitude   integer            ,  -- 経度
latitude    integer            ,  -- 緯度
logitude_span integer          ,  -- 経度許容範囲 longitude±n
latitude_span integer          ,  -- 緯度許容範囲 longitude±n
higher        integer          ,  -- 標高
lost_logitude integer          ,  -- ポールシフト前の予想経度
lost_latitude integer          ,  -- ポールシフト前の予想経度
lost_higher   integer          ,  -- ポールシフト前の標高
--relation_area
memo                              -- メモランダム
);

create table google_map_trans_age_relate(
-- 同じ場所の場合、それを明記するための関係テーブル
no     INTEGER primary key, -- 連番
lost_age_no       INTEGER primary key,  -- lost_ageテーブルの連番
lost_googlemap_no INTEGER primary key,  -- GoogleMapテーブルの連番
age               integer               -- 起きた時期。西暦2000年からの年数
);

後は実際にデータを入れて妥当性を勘案する作業なわけだが・・・