牛島研究室OnLineへ
  USI情報システム on WAMP  

 

データベース:ブック

概要

  • テキストDB
    「データベース:ブック」に記録されるテキスト情報は2種類に分かれる。
     1 ページ情報を含まないテキスト情報
     2 ページ情報を含むテキスト情報
    前者を「ブック情報」、後者を「ブックページ情報」を呼ぶ。
  • 2つのデータベース
    名称ブックDBブックページDB
    収録内容
    ISBN
    書誌情報(引用文献形式)
    書誌情報(その他)
    大分類項目
    特定項目
    usicode
    
    ISBN
    索引
    目次
    ノート
    
  • ブックDBの書誌情報は「引用文献形式」で記録する(詳細はこちら)。
    [著者名][書名][出版社名][出版年]
    	[著者名]が複数あるときや編者名であるとき
    [人名][人名]……[/編など[書名][出版社名][出版年]
    
  • ブックページDBの情報は「ブック内ページ情報形式」で記録する(詳細はこちら)。
    [ブックページ文字列]<usi>[ページ]<usi>……[CR][LF]
    	[ブックページ文字列]中の[CR][LF]は<br>に置換する。
    

DB記録形式:引用文献形式

  • ブック情報の記録形式
    [著者名]『[書名]』[出版社名]、[出版年]
    	著者名は人名入力規則に従う。
    	著者名が複数あるときは間に「/」を入れる
    	著者名に編者名も含める。末尾に「/編」を入れる。
    	和書の書名は全角を基本とする。英数字や空白も全角にする。
    	
    [人名]/[人名]……[/編]『[書名]』[出版社名]、[出版年]
    
  • なぜ、引用文献形式を基本にしたか?
    WAMP環境で本の情報を管理しようと思い立ったときにまっさきに立ちはだかったのが、本の情報をどういう形式でデータベースに保存するかという問題でした。
    この問題は厄介です。 データベースの構造に関わる問題ですから、データベースを作り始める前に決めなくてはなりません。後回しにするはできません。 しかし、ある程度データベースを作ってみないと、採用した記録形式で良かったかどうかわかりません。適切かどうかは後から判定されるわけです。
    これまでのところ、引用文献形式を変更しないといけないと思わせる反例には出会っていませんから、最良ではなくともベスト3には入る選択だったと思っています。
  • 決定の経緯
    ブック情報を提供しているウェブ上の有益なサイトをいくつか調べました。インターネット書店と図書館です。

DB記録形式:ブック内ページ情報形式

  • ブック内ページ情報
    ページ数を付してデータベースに記録するテキスト情報が「ブックページ情報」です。
  • シンプルな記録形式
    索引・目次・ノートで同じ記録形式を使っています。
    [ブックページ文字列]<usi>[ページ]<usi>……[CR][LF]
    	[ブックページ文字列]中の[CR][LF]は<br>に置換する。
    
  • [ページ]の形式は千ページ未満の本が[PAGE3]、千ページ以上の本が[PAGE4]です。
    [PAGE3]: 001〜 999  _01〜 _99
    [PAGE4]:0001〜9999 _001〜_999
    	ページの範囲指定を許容する
    		[PAGE3]-[PAGE3]
    		[PAGE4]-[PAGE4]
    	ページの列挙を許容する
    		[PAGE3],[PAGE3],……,[PAGE3]
    		[PAGE4],[PAGE4],……,[PAGE4]
    
  • 「ブック内ページ情報」の種類
    データベースに記録される「ブック内ページ情報」は次の3種類です。
    1. 索引
    2. 目次
    3. ノート
    本の末尾にある索引がハイパーリンクになっていたらさぞかし便利だろうな……。そんな思いから、「ブックページ」のデータベースを作り始めました。
    本の索引をOCRにかけて文字コードに変換し、ハイパーリンクが使えるようにPHPスクリプトを書き上げました。
    登録されている索引項目に検索をかけて「何件ヒットするようになった」と喜び、索引のリンクをクリックして該当ページを表示させては一人悦に入っていた気がします。「索引インデックス」という奇妙な名前も用意していました。
    しかし、四、五十冊分の本の索引を入力してみて分かったことは、労力の割りには報いが少ないということでした。
    区切り(セパレータ)に使うコードは恣意的でかまいません。 選択する条件は、索引・目次・ノート中に登場しないこと、という一点だけです。
  • なぜ<usi>を選んだか?
    区切り(セパレータ)を決定する際に考慮したのは次の二点です。
    文字コードにする(コントロールコードは使用しない)
    HTMLのタグ形式にする
    この二つの条件を設定したのにはもちろんそれなりの理由がありますが、 その理由が妥当かどうかを吟味することにはあまり意味がありません。
    具合の悪くなる事例が発生したら、区切り(セパレータ)を変更すれば済むことですから。